From de23762421ce3bba410301b7f84307fbcd7bb300 Mon Sep 17 00:00:00 2001 From: David Wells Date: Wed, 19 Oct 2016 21:31:19 -0400 Subject: [PATCH] Update the bundled boost copy from 1.56 to 1.62. This commit updates our bundled copy of boost from 1.56 to 1.62. While doing this I removed several boost libraries that are not used anywhere in deal.II nor in the rest of the part of boost that we bundle: boost/compatibility: This little library wraps the standard C headers and we don't need it. boost/signals: This has long since been deprecated in favor of signals2. boost/tr1: The boost TR1 library contains reimplementations of features that ultimately appeared in C++11. We implement this ourselves with the std_cxx11 namespace so we skip this folder. boost/thread/experimental: This library is new and we don't currently have any use for it. --- .../boost/algorithm/cxx11/is_permutation.hpp | 196 - .../boost/algorithm/cxx11/is_sorted.hpp | 287 - .../boost/algorithm/cxx14/is_permutation.hpp | 86 - .../include/boost/algorithm/hex.hpp | 261 - .../boost/algorithm/string/replace.hpp | 928 --- bundled/boost-1.56.0/include/boost/align.hpp | 31 - .../include/boost/align/align.hpp | 86 - .../include/boost/align/aligned_alloc.hpp | 100 - .../include/boost/align/aligned_allocator.hpp | 287 - .../boost/align/aligned_allocator_adaptor.hpp | 325 - .../aligned_allocator_adaptor_forward.hpp | 38 - .../boost/align/aligned_allocator_forward.hpp | 38 - .../include/boost/align/aligned_delete.hpp | 56 - .../boost/align/aligned_delete_forward.hpp | 35 - .../include/boost/align/alignment_of.hpp | 78 - .../boost/align/alignment_of_forward.hpp | 36 - .../include/boost/align/detail/addressof.hpp | 32 - .../include/boost/align/detail/align.hpp | 38 - .../boost/align/detail/align_cxx11.hpp | 20 - .../boost/align/detail/aligned_alloc.hpp | 53 - .../align/detail/aligned_alloc_android.hpp | 35 - .../align/detail/aligned_alloc_macos.hpp | 48 - .../boost/align/detail/aligned_alloc_msvc.hpp | 35 - .../align/detail/aligned_alloc_posix.hpp | 45 - .../align/detail/aligned_alloc_sunos.hpp | 35 - .../boost/align/detail/alignment_of.hpp | 29 - .../boost/align/detail/alignment_of_clang.hpp | 25 - .../align/detail/alignment_of_codegear.hpp | 25 - .../boost/align/detail/alignment_of_cxx11.hpp | 22 - .../boost/align/detail/alignment_of_gcc.hpp | 25 - .../boost/align/detail/alignment_of_msvc.hpp | 30 - .../include/boost/align/detail/is_aligned.hpp | 29 - .../boost/align/detail/is_alignment.hpp | 27 - .../include/boost/align/detail/max_align.hpp | 27 - .../include/boost/align/detail/min_size.hpp | 27 - .../include/boost/align/is_aligned.hpp | 53 - .../include/boost/aligned_storage.hpp | 143 - bundled/boost-1.56.0/include/boost/any.hpp | 332 - .../archive/basic_streambuf_locale_saver.hpp | 73 - .../boost/archive/basic_xml_iarchive.hpp | 133 - .../boost/archive/basic_xml_oarchive.hpp | 150 - .../boost/archive/detail/basic_iarchive.hpp | 105 - .../include/boost/archive/detail/decl.hpp | 79 - .../archive/detail/helper_collection.hpp | 111 - .../archive/detail/utf8_codecvt_facet.hpp | 23 - .../archive/impl/basic_binary_iprimitive.ipp | 210 - .../archive/impl/basic_binary_oprimitive.ipp | 161 - .../archive/impl/basic_text_oprimitive.ipp | 115 - .../boost/archive/impl/xml_iarchive_impl.ipp | 204 - .../boost/archive/impl/xml_wiarchive_impl.ipp | 211 - .../boost/archive/impl/xml_woarchive_impl.ipp | 167 - .../boost/archive/iterators/wchar_from_mb.hpp | 129 - .../include/boost/archive/text_iarchive.hpp | 142 - .../include/boost/archive/xml_iarchive.hpp | 152 - .../include/boost/archive/xml_oarchive.hpp | 143 - .../include/boost/archive/xml_wiarchive.hpp | 159 - .../include/boost/archive/xml_woarchive.hpp | 151 - bundled/boost-1.56.0/include/boost/assert.hpp | 78 - .../include/boost/atomic/detail/config.hpp | 24 - .../boost/atomic/detail/interlocked.hpp | 451 -- .../boost/atomic/detail/operations_fwd.hpp | 34 - .../boost/atomic/detail/ops_gcc_atomic.hpp | 238 - .../boost/atomic/detail/ops_gcc_ppc.hpp | 775 --- .../boost/atomic/detail/ops_gcc_x86_dcas.hpp | 308 - .../boost/atomic/detail/storage_type.hpp | 168 - bundled/boost-1.56.0/include/boost/bind.hpp | 24 - .../boost-1.56.0/include/boost/bind/bind.hpp | 1751 ----- .../include/boost/bind/bind_mf_cc.hpp | 227 - .../include/boost/bind/placeholders.hpp | 69 - .../boost/chrono/detail/inlined/chrono.hpp | 44 - .../chrono/detail/inlined/mac/chrono.hpp | 241 - .../detail/inlined/mac/process_cpu_clocks.hpp | 356 - .../detail/inlined/mac/thread_clock.hpp | 91 - .../chrono/detail/inlined/posix/chrono.hpp | 120 - .../inlined/posix/process_cpu_clocks.hpp | 354 - .../detail/inlined/posix/thread_clock.hpp | 91 - .../detail/inlined/process_cpu_clocks.hpp | 45 - .../chrono/detail/inlined/thread_clock.hpp | 44 - .../chrono/detail/inlined/win/chrono.hpp | 149 - .../detail/inlined/win/process_cpu_clocks.hpp | 281 - .../detail/inlined/win/thread_clock.hpp | 102 - .../include/boost/chrono/io/duration_io.hpp | 225 - .../boost/chrono/process_cpu_clocks.hpp | 522 -- .../boost/compatibility/cpp_c_headers/cassert | 10 - .../boost/compatibility/cpp_c_headers/cctype | 26 - .../boost/compatibility/cpp_c_headers/cerrno | 10 - .../boost/compatibility/cpp_c_headers/cfloat | 10 - .../boost/compatibility/cpp_c_headers/climits | 10 - .../boost/compatibility/cpp_c_headers/clocale | 16 - .../boost/compatibility/cpp_c_headers/cmath | 35 - .../boost/compatibility/cpp_c_headers/csetjmp | 15 - .../boost/compatibility/cpp_c_headers/csignal | 16 - .../boost/compatibility/cpp_c_headers/cstdarg | 14 - .../boost/compatibility/cpp_c_headers/cstddef | 15 - .../boost/compatibility/cpp_c_headers/cstdio | 57 - .../boost/compatibility/cpp_c_headers/cstdlib | 43 - .../boost/compatibility/cpp_c_headers/cstring | 36 - .../boost/compatibility/cpp_c_headers/ctime | 26 - .../boost/compatibility/cpp_c_headers/cwchar | 156 - .../boost/compatibility/cpp_c_headers/cwctype | 39 - .../include/boost/config/auto_link.hpp | 429 -- .../include/boost/config/compiler/clang.hpp | 200 - .../boost/config/compiler/digitalmars.hpp | 94 - .../include/boost/config/compiler/gcc.hpp | 266 - .../include/boost/config/compiler/gcc_xml.hpp | 65 - .../include/boost/config/compiler/intel.hpp | 324 - .../include/boost/config/compiler/mpw.hpp | 90 - .../include/boost/config/compiler/nvcc.hpp | 16 - .../boost/config/compiler/pathscale.hpp | 84 - .../include/boost/config/compiler/vacpp.hpp | 132 - .../boost/config/select_compiler_config.hpp | 143 - .../include/boost/config/stdlib/libcpp.hpp | 46 - .../boost/config/stdlib/libstdcpp3.hpp | 178 - .../include/boost/config/stdlib/vacpp.hpp | 57 - .../include/boost/container/adaptive_pool.hpp | 364 - .../boost/container/allocator_traits.hpp | 406 -- .../include/boost/container/container_fwd.hpp | 275 - .../include/boost/container/deque.hpp | 2006 ------ .../container/detail/advanced_insert_int.hpp | 356 - .../boost/container/detail/auto_link.hpp | 38 - .../boost/container/detail/config_begin.hpp | 54 - .../boost/container/detail/config_end.hpp | 21 - .../boost/container/detail/flat_tree.hpp | 1045 --- .../container/detail/function_detector.hpp | 88 - .../boost/container/detail/iterators.hpp | 812 --- .../include/boost/container/detail/mpl.hpp | 183 - .../include/boost/container/detail/mutex.hpp | 278 - .../container/detail/node_alloc_holder.hpp | 399 -- .../include/boost/container/detail/pair.hpp | 354 - .../boost/container/detail/singleton.hpp | 113 - .../container/detail/transform_iterator.hpp | 177 - .../include/boost/container/detail/tree.hpp | 1173 ---- .../boost/container/detail/type_traits.hpp | 211 - .../boost/container/detail/workaround.hpp | 63 - .../include/boost/container/flat_map.hpp | 1757 ----- .../include/boost/container/flat_set.hpp | 1131 ---- .../include/boost/container/list.hpp | 1396 ---- .../include/boost/container/map.hpp | 1317 ---- .../include/boost/container/options.hpp | 72 - .../boost/container/scoped_allocator.hpp | 1534 ----- .../boost/container/scoped_allocator_fwd.hpp | 87 - .../include/boost/container/set.hpp | 1051 --- .../include/boost/container/slist.hpp | 1643 ----- .../include/boost/container/stable_vector.hpp | 1885 ------ .../include/boost/container/static_vector.hpp | 1089 --- .../include/boost/container/string.hpp | 2906 -------- .../include/boost/container/vector.hpp | 2755 -------- .../include/boost/core/addressof.hpp | 162 - .../include/boost/core/enable_if.hpp | 119 - .../include/boost/core/ignore_unused.hpp | 70 - .../include/boost/core/scoped_enum.hpp | 192 - .../include/boost/date_time/time.hpp | 191 - .../include/boost/detail/interlocked.hpp | 210 - .../include/boost/detail/iterator.hpp | 26 - .../boost/detail/utf8_codecvt_facet.hpp | 191 - .../boost/detail/winapi/GetCurrentProcess.hpp | 29 - .../boost/detail/winapi/GetCurrentThread.hpp | 38 - .../boost/detail/winapi/GetLastError.hpp | 31 - .../boost/detail/winapi/GetProcessTimes.hpp | 39 - .../boost/detail/winapi/GetThreadTimes.hpp | 37 - .../boost/detail/winapi/basic_types.hpp | 134 - .../include/boost/detail/winapi/config.hpp | 53 - .../detail/winapi/directory_management.hpp | 46 - .../include/boost/detail/winapi/dll.hpp | 86 - .../boost/detail/winapi/error_handling.hpp | 93 - .../boost/detail/winapi/file_management.hpp | 130 - .../include/boost/detail/winapi/handles.hpp | 46 - .../include/boost/detail/winapi/memory.hpp | 60 - .../include/boost/detail/winapi/process.hpp | 36 - .../include/boost/detail/winapi/security.hpp | 65 - .../boost/detail/winapi/synchronization.hpp | 293 - .../include/boost/detail/winapi/system.hpp | 62 - .../include/boost/detail/winapi/thread.hpp | 49 - .../boost/detail/winapi/thread_pool.hpp | 96 - .../include/boost/detail/winapi/time.hpp | 105 - .../include/boost/detail/winapi/timers.hpp | 44 - .../include/boost/detail/winapi/tls.hpp | 49 - .../boost/detail/winapi/waitable_timer.hpp | 110 - .../exception/detail/error_info_impl.hpp | 74 - .../include/boost/exception/info.hpp | 198 - .../boost/function_types/is_function.hpp | 34 - .../is_member_function_pointer.hpp | 33 - .../is_member_object_pointer.hpp | 34 - .../function_types/is_member_pointer.hpp | 34 - .../include/boost/functional/factory.hpp | 163 - .../include/boost/functional/hash/hash.hpp | 559 -- .../fusion/adapted/adt/detail/adapt_base.hpp | 193 - .../boost/fusion/adapted/array/at_impl.hpp | 40 - .../boost/fusion/adapted/array/begin_impl.hpp | 44 - .../boost/fusion/adapted/array/deref_impl.hpp | 42 - .../boost/fusion/adapted/array/end_impl.hpp | 46 - .../adapted/boost_array/detail/at_impl.hpp | 47 - .../adapted/boost_array/detail/begin_impl.hpp | 42 - .../adapted/boost_array/detail/end_impl.hpp | 42 - .../fusion/adapted/mpl/detail/at_impl.hpp | 42 - .../fusion/adapted/mpl/detail/begin_impl.hpp | 47 - .../fusion/adapted/mpl/detail/end_impl.hpp | 47 - .../boost/fusion/adapted/std_tuple.hpp | 22 - .../adapted/std_tuple/detail/at_impl.hpp | 54 - .../adapted/std_tuple/detail/begin_impl.hpp | 41 - .../adapted/std_tuple/detail/end_impl.hpp | 45 - .../struct/adapt_assoc_struct_named.hpp | 38 - .../fusion/adapted/struct/adapt_struct.hpp | 72 - .../adapted/struct/adapt_struct_named.hpp | 40 - .../fusion/adapted/struct/define_struct.hpp | 42 - .../adapted/struct/detail/adapt_base.hpp | 248 - .../adapted/struct/detail/begin_impl.hpp | 70 - .../adapted/struct/detail/define_struct.hpp | 364 - .../adapted/struct/detail/deref_impl.hpp | 42 - .../fusion/adapted/struct/detail/end_impl.hpp | 70 - .../boost/fusion/algorithm/auxiliary.hpp | 13 - .../boost/fusion/algorithm/auxiliary/copy.hpp | 89 - .../boost/fusion/algorithm/auxiliary/move.hpp | 89 - .../fusion/algorithm/iteration/accumulate.hpp | 56 - .../algorithm/iteration/accumulate_fwd.hpp | 42 - .../algorithm/iteration/detail/fold.hpp | 473 -- .../algorithm/iteration/detail/for_each.hpp | 149 - .../iteration/detail/preprocessed/fold.hpp | 392 -- .../detail/preprocessed/iter_fold.hpp | 391 -- .../detail/preprocessed/reverse_fold.hpp | 391 -- .../detail/preprocessed/reverse_iter_fold.hpp | 391 -- .../boost/fusion/algorithm/iteration/fold.hpp | 64 - .../fusion/algorithm/iteration/for_each.hpp | 56 - .../fusion/algorithm/iteration/iter_fold.hpp | 65 - .../algorithm/iteration/reverse_fold.hpp | 65 - .../algorithm/iteration/reverse_iter_fold.hpp | 66 - .../boost/fusion/algorithm/query/all.hpp | 36 - .../boost/fusion/algorithm/query/any.hpp | 37 - .../boost/fusion/algorithm/query/count.hpp | 44 - .../boost/fusion/algorithm/query/count_if.hpp | 44 - .../fusion/algorithm/query/detail/all.hpp | 137 - .../fusion/algorithm/query/detail/any.hpp | 140 - .../fusion/algorithm/query/detail/count.hpp | 83 - .../algorithm/query/detail/count_if.hpp | 180 - .../fusion/algorithm/query/detail/find_if.hpp | 260 - .../boost/fusion/algorithm/query/find_if.hpp | 67 - .../boost/fusion/algorithm/query/none.hpp | 35 - .../fusion/algorithm/transformation/clear.hpp | 34 - .../transformation/detail/replace.hpp | 78 - .../transformation/detail/replace_if.hpp | 78 - .../algorithm/transformation/push_back.hpp | 48 - .../algorithm/transformation/push_front.hpp | 48 - .../algorithm/transformation/replace.hpp | 44 - .../algorithm/transformation/replace_if.hpp | 45 - .../boost/fusion/container/deque/convert.hpp | 61 - .../boost/fusion/container/deque/deque.hpp | 175 - .../fusion/container/deque/detail/at_impl.hpp | 67 - .../container/deque/detail/begin_impl.hpp | 50 - .../container/deque/detail/build_deque.hpp | 78 - .../container/deque/detail/convert_impl.hpp | 50 - .../deque/detail/cpp03/build_deque.hpp | 54 - .../container/deque/detail/cpp03/deque.hpp | 198 - .../deque/detail/cpp03/deque_keyed_values.hpp | 113 - .../container/deque/detail/cpp03/limits.hpp | 32 - .../detail/cpp03/preprocessed/deque10.hpp | 271 - .../detail/cpp03/preprocessed/deque20.hpp | 451 -- .../detail/cpp03/preprocessed/deque30.hpp | 631 -- .../detail/cpp03/preprocessed/deque40.hpp | 811 --- .../detail/cpp03/preprocessed/deque50.hpp | 991 --- .../preprocessed/deque_keyed_values10.hpp | 252 - .../preprocessed/deque_keyed_values20.hpp | 462 -- .../preprocessed/deque_keyed_values30.hpp | 672 -- .../preprocessed/deque_keyed_values40.hpp | 882 --- .../preprocessed/deque_keyed_values50.hpp | 1092 --- .../deque/detail/deque_keyed_values.hpp | 72 - .../container/deque/detail/end_impl.hpp | 50 - .../container/deque/detail/keyed_element.hpp | 170 - .../fusion/container/generation/list_tie.hpp | 102 - .../fusion/container/generation/make_list.hpp | 114 - .../fusion/container/generation/make_set.hpp | 116 - .../container/generation/make_vector.hpp | 114 - .../container/generation/vector_tie.hpp | 100 - .../include/boost/fusion/container/list.hpp | 18 - .../boost/fusion/container/list/cons.hpp | 135 - .../fusion/container/list/cons_iterator.hpp | 101 - .../boost/fusion/container/list/convert.hpp | 60 - .../fusion/container/list/detail/at_impl.hpp | 136 - .../container/list/detail/begin_impl.hpp | 51 - .../container/list/detail/build_cons.hpp | 61 - .../container/list/detail/convert_impl.hpp | 53 - .../container/list/detail/deref_impl.hpp | 54 - .../fusion/container/list/detail/end_impl.hpp | 53 - .../container/list/detail/equal_to_impl.hpp | 40 - .../container/list/detail/list_to_cons.hpp | 76 - .../container/list/detail/next_impl.hpp | 61 - .../container/list/detail/value_at_impl.hpp | 43 - .../container/list/detail/value_of_impl.hpp | 36 - .../boost/fusion/container/list/list.hpp | 100 - .../boost/fusion/container/list/list_fwd.hpp | 51 - .../boost/fusion/container/map/convert.hpp | 117 - .../fusion/container/map/detail/at_impl.hpp | 60 - .../container/map/detail/begin_impl.hpp | 40 - .../container/map/detail/cpp03/at_impl.hpp | 64 - .../container/map/detail/cpp03/begin_impl.hpp | 45 - .../container/map/detail/cpp03/convert.hpp | 57 - .../map/detail/cpp03/convert_impl.hpp | 54 - .../map/detail/cpp03/deref_data_impl.hpp | 49 - .../container/map/detail/cpp03/deref_impl.hpp | 47 - .../container/map/detail/cpp03/end_impl.hpp | 45 - .../container/map/detail/cpp03/limits.hpp | 28 - .../fusion/container/map/detail/cpp03/map.hpp | 111 - .../map/detail/cpp03/map_forward_ctor.hpp | 39 - .../map/detail/cpp03/preprocessed/map10.hpp | 82 - .../map/detail/cpp03/preprocessed/map20.hpp | 112 - .../map/detail/cpp03/preprocessed/map30.hpp | 142 - .../map/detail/cpp03/preprocessed/map40.hpp | 172 - .../map/detail/cpp03/preprocessed/map50.hpp | 202 - .../map/detail/cpp03/value_at_impl.hpp | 35 - .../fusion/container/map/detail/end_impl.hpp | 40 - .../fusion/container/map/detail/map_impl.hpp | 206 - .../container/map/detail/value_at_impl.hpp | 38 - .../boost/fusion/container/map/map.hpp | 132 - .../fusion/container/map/map_iterator.hpp | 153 - .../include/boost/fusion/container/set.hpp | 16 - .../boost/fusion/container/set/convert.hpp | 50 - .../fusion/container/set/detail/as_set.hpp | 132 - .../container/set/detail/begin_impl.hpp | 45 - .../container/set/detail/convert_impl.hpp | 47 - .../container/set/detail/deref_impl.hpp | 47 - .../fusion/container/set/detail/end_impl.hpp | 45 - .../boost/fusion/container/set/set.hpp | 103 - .../boost/fusion/container/set/set_fwd.hpp | 53 - .../include/boost/fusion/container/vector.hpp | 32 - .../boost/fusion/container/vector/convert.hpp | 50 - .../container/vector/detail/advance_impl.hpp | 43 - .../container/vector/detail/as_vector.hpp | 133 - .../container/vector/detail/at_impl.hpp | 61 - .../container/vector/detail/begin_impl.hpp | 41 - .../container/vector/detail/convert_impl.hpp | 47 - .../container/vector/detail/deref_impl.hpp | 56 - .../container/vector/detail/distance_impl.hpp | 43 - .../container/vector/detail/end_impl.hpp | 42 - .../container/vector/detail/equal_to_impl.hpp | 40 - .../container/vector/detail/next_impl.hpp | 45 - .../container/vector/detail/prior_impl.hpp | 45 - .../container/vector/detail/value_at_impl.hpp | 34 - .../container/vector/detail/value_of_impl.hpp | 38 - .../boost/fusion/container/vector/vector.hpp | 243 - .../fusion/container/vector/vector10.hpp | 104 - .../fusion/container/vector/vector20.hpp | 80 - .../fusion/container/vector/vector30.hpp | 79 - .../fusion/container/vector/vector40.hpp | 80 - .../fusion/container/vector/vector50.hpp | 79 - .../fusion/container/vector/vector_fwd.hpp | 66 - .../fusion/functional/adapter/limits.hpp | 26 - .../fusion/functional/invocation/invoke.hpp | 409 -- .../include/boost/fusion/iterator/advance.hpp | 95 - .../boost/fusion/iterator/detail/advance.hpp | 107 - .../boost/fusion/iterator/detail/distance.hpp | 66 - .../boost/fusion/iterator/distance.hpp | 80 - .../boost/fusion/iterator/equal_to.hpp | 106 - .../boost/fusion/iterator/iterator_facade.hpp | 58 - .../sequence/comparison/detail/equal_to.hpp | 66 - .../sequence/comparison/detail/greater.hpp | 55 - .../comparison/detail/greater_equal.hpp | 55 - .../sequence/comparison/detail/less.hpp | 55 - .../sequence/comparison/detail/less_equal.hpp | 55 - .../comparison/detail/not_equal_to.hpp | 66 - .../fusion/sequence/comparison/equal_to.hpp | 59 - .../fusion/sequence/comparison/greater.hpp | 55 - .../sequence/comparison/greater_equal.hpp | 55 - .../boost/fusion/sequence/comparison/less.hpp | 46 - .../fusion/sequence/comparison/less_equal.hpp | 87 - .../sequence/comparison/not_equal_to.hpp | 58 - .../include/boost/fusion/sequence/convert.hpp | 50 - .../fusion/sequence/intrinsic/at_key.hpp | 97 - .../boost/fusion/sequence/intrinsic/empty.hpp | 63 - .../boost/fusion/sequence/intrinsic/size.hpp | 90 - .../fusion/sequence/intrinsic/value_at.hpp | 69 - .../sequence/intrinsic/value_at_key.hpp | 67 - .../include/boost/fusion/support/config.hpp | 16 - .../include/boost/fusion/support/pair.hpp | 168 - .../include/boost/fusion/support/unused.hpp | 93 - .../tuple/detail/preprocessed/tuple10.hpp | 209 - .../tuple/detail/preprocessed/tuple20.hpp | 349 - .../tuple/detail/preprocessed/tuple30.hpp | 489 -- .../tuple/detail/preprocessed/tuple40.hpp | 629 -- .../tuple/detail/preprocessed/tuple50.hpp | 769 --- .../tuple/detail/preprocessed/tuple_tie10.hpp | 91 - .../tuple/detail/preprocessed/tuple_tie20.hpp | 171 - .../tuple/detail/preprocessed/tuple_tie30.hpp | 251 - .../tuple/detail/preprocessed/tuple_tie40.hpp | 331 - .../tuple/detail/preprocessed/tuple_tie50.hpp | 411 -- .../include/boost/fusion/tuple/make_tuple.hpp | 86 - .../include/boost/fusion/tuple/tuple.hpp | 122 - .../include/boost/fusion/tuple/tuple_fwd.hpp | 52 - .../include/boost/fusion/tuple/tuple_tie.hpp | 76 - .../view/filter_view/detail/begin_impl.hpp | 47 - .../filter_view/detail/deref_data_impl.hpp | 39 - .../view/filter_view/detail/end_impl.hpp | 46 - .../view/filter_view/detail/next_impl.hpp | 79 - .../boost/fusion/view/flatten_view.hpp | 15 - .../fusion/view/flatten_view/flatten_view.hpp | 127 - .../view/iterator_range/detail/at_impl.hpp | 46 - .../view/iterator_range/detail/begin_impl.hpp | 40 - .../view/iterator_range/detail/end_impl.hpp | 40 - .../view/joint_view/detail/begin_impl.hpp | 71 - .../joint_view/detail/deref_data_impl.hpp | 39 - .../view/joint_view/detail/end_impl.hpp | 42 - .../view/joint_view/detail/next_impl.hpp | 75 - .../fusion/view/nview/detail/advance_impl.hpp | 51 - .../fusion/view/nview/detail/at_impl.hpp | 47 - .../fusion/view/nview/detail/begin_impl.hpp | 50 - .../fusion/view/nview/detail/deref_impl.hpp | 50 - .../view/nview/detail/distance_impl.hpp | 46 - .../fusion/view/nview/detail/end_impl.hpp | 52 - .../fusion/view/nview/detail/next_impl.hpp | 50 - .../fusion/view/nview/detail/nview_impl.hpp | 78 - .../fusion/view/nview/detail/prior_impl.hpp | 50 - .../repetitive_view/detail/begin_impl.hpp | 51 - .../repetitive_view/detail/deref_impl.hpp | 46 - .../view/repetitive_view/detail/end_impl.hpp | 51 - .../view/repetitive_view/detail/next_impl.hpp | 94 - .../view/reverse_view/detail/advance_impl.hpp | 49 - .../view/reverse_view/detail/at_impl.hpp | 43 - .../view/reverse_view/detail/begin_impl.hpp | 43 - .../reverse_view/detail/deref_data_impl.hpp | 39 - .../view/reverse_view/detail/deref_impl.hpp | 50 - .../reverse_view/detail/distance_impl.hpp | 47 - .../view/reverse_view/detail/end_impl.hpp | 43 - .../view/reverse_view/detail/next_impl.hpp | 49 - .../view/reverse_view/detail/prior_impl.hpp | 49 - .../view/single_view/detail/advance_impl.hpp | 49 - .../view/single_view/detail/at_impl.hpp | 46 - .../view/single_view/detail/begin_impl.hpp | 47 - .../view/single_view/detail/deref_impl.hpp | 47 - .../view/single_view/detail/distance_impl.hpp | 45 - .../view/single_view/detail/end_impl.hpp | 47 - .../view/single_view/detail/next_impl.hpp | 52 - .../view/single_view/detail/prior_impl.hpp | 48 - .../transform_view/detail/advance_impl.hpp | 78 - .../view/transform_view/detail/at_impl.hpp | 66 - .../view/transform_view/detail/begin_impl.hpp | 71 - .../view/transform_view/detail/deref_impl.hpp | 79 - .../transform_view/detail/distance_impl.hpp | 62 - .../view/transform_view/detail/end_impl.hpp | 71 - .../view/transform_view/detail/next_impl.hpp | 77 - .../view/transform_view/detail/prior_impl.hpp | 76 - .../view/zip_view/detail/advance_impl.hpp | 72 - .../fusion/view/zip_view/detail/at_impl.hpp | 97 - .../view/zip_view/detail/begin_impl.hpp | 97 - .../view/zip_view/detail/deref_impl.hpp | 87 - .../view/zip_view/detail/distance_impl.hpp | 84 - .../fusion/view/zip_view/detail/end_impl.hpp | 108 - .../fusion/view/zip_view/detail/next_impl.hpp | 87 - .../view/zip_view/detail/prior_impl.hpp | 87 - .../include/boost/get_pointer.hpp | 48 - .../boost-1.56.0/include/boost/graph/copy.hpp | 511 -- .../distributed/adjlist/serialization.hpp | 988 --- .../include/boost/intrusive/avl_set.hpp | 946 --- .../include/boost/intrusive/avltree.hpp | 543 -- .../include/boost/intrusive/bs_set.hpp | 944 --- .../include/boost/intrusive/bstree.hpp | 2110 ------ .../intrusive/circular_list_algorithms.hpp | 424 -- .../detail/any_node_and_algorithms.hpp | 296 - .../include/boost/intrusive/detail/assert.hpp | 41 - .../boost/intrusive/detail/avltree_node.hpp | 197 - .../detail/common_slist_algorithms.hpp | 99 - .../boost/intrusive/detail/config_begin.hpp | 52 - .../intrusive/detail/ebo_functor_holder.hpp | 95 - .../intrusive/detail/function_detector.hpp | 88 - .../has_member_function_callable_with.hpp | 380 -- .../boost/intrusive/detail/hashtable_node.hpp | 351 - .../boost/intrusive/detail/list_node.hpp | 170 - .../include/boost/intrusive/detail/mpl.hpp | 398 -- .../intrusive/detail/parent_from_member.hpp | 117 - .../boost/intrusive/detail/rbtree_node.hpp | 203 - .../boost/intrusive/detail/slist_node.hpp | 145 - .../intrusive/detail/transform_iterator.hpp | 173 - .../boost/intrusive/detail/tree_node.hpp | 188 - .../boost/intrusive/detail/workaround.hpp | 26 - .../include/boost/intrusive/hashtable.hpp | 3192 --------- .../include/boost/intrusive/list.hpp | 1490 ---- .../include/boost/intrusive/options.hpp | 386 -- .../boost/intrusive/parent_from_member.hpp | 44 - .../boost/intrusive/pointer_traits.hpp | 273 - .../boost/intrusive/priority_compare.hpp | 60 - .../include/boost/intrusive/rbtree.hpp | 539 -- .../include/boost/intrusive/set.hpp | 946 --- .../include/boost/intrusive/sg_set.hpp | 970 --- .../include/boost/intrusive/sgtree.hpp | 989 --- .../include/boost/intrusive/slist.hpp | 2199 ------ .../include/boost/intrusive/splay_set.hpp | 983 --- .../include/boost/intrusive/splaytree.hpp | 626 -- .../include/boost/intrusive/treap.hpp | 1177 ---- .../include/boost/intrusive/treap_set.hpp | 1004 --- .../include/boost/intrusive/unordered_set.hpp | 2160 ------ .../include/boost/iostreams/char_traits.hpp | 73 - .../include/boost/iostreams/concepts.hpp | 129 - .../include/boost/iostreams/constants.hpp | 42 - .../include/boost/iostreams/copy.hpp | 252 - .../boost/iostreams/detail/char_traits.hpp | 63 - .../iostreams/detail/config/auto_link.hpp | 49 - .../boost/iostreams/detail/config/bzip2.hpp | 48 - .../boost/iostreams/detail/config/gcc.hpp | 27 - .../boost/iostreams/detail/config/zlib.hpp | 50 - .../boost/iostreams/detail/default_arg.hpp | 25 - .../include/boost/iostreams/detail/error.hpp | 45 - .../boost/iostreams/detail/functional.hpp | 189 - .../iostreams/detail/is_iterator_range.hpp | 49 - .../boost/iostreams/detail/newline.hpp | 32 - .../boost/iostreams/detail/optional.hpp | 114 - .../include/boost/iostreams/device/array.hpp | 144 - .../include/boost/iostreams/filter/bzip2.hpp | 414 -- .../boost/iostreams/filter/newline.hpp | 442 -- .../include/boost/iostreams/filter/regex.hpp | 98 - .../boost/iostreams/filter/symmetric.hpp | 310 - .../include/boost/iostreams/filter/zlib.hpp | 427 -- .../include/boost/iostreams/get.hpp | 17 - .../boost/iostreams/operations_fwd.hpp | 41 - .../include/boost/iostreams/read.hpp | 247 - .../include/boost/iostreams/seek.hpp | 180 - .../include/boost/iostreams/skip.hpp | 112 - .../include/boost/iostreams/traits.hpp | 391 -- .../include/boost/iostreams/write.hpp | 171 - .../boost/iterator/detail/enable_if.hpp | 86 - .../iterator/detail/minimum_category.hpp | 116 - .../boost/iterator/iterator_categories.hpp | 188 - .../boost/iterator/iterator_facade.hpp | 874 --- .../boost/iterator/iterator_traits.hpp | 92 - .../boost/iterator/permutation_iterator.hpp | 72 - .../boost/iterator/reverse_iterator.hpp | 69 - .../boost/iterator/transform_iterator.hpp | 172 - .../include/boost/iterator/zip_iterator.hpp | 585 -- .../include/boost/lambda/detail/operators.hpp | 370 - .../include/boost/lexical_cast.hpp | 2514 ------- .../include/boost/math/common_factor_rt.hpp | 460 -- .../boost/math/constants/constants.hpp | 359 - .../boost/math/distributions/bernoulli.hpp | 336 - .../boost/math/distributions/binomial.hpp | 728 -- .../detail/hypergeometric_quantile.hpp | 199 - .../include/boost/math/distributions/fwd.hpp | 146 - .../boost/math/distributions/triangular.hpp | 523 -- .../boost/math/policies/error_handling.hpp | 805 --- .../math/special_functions/bernoulli.hpp | 143 - .../boost/math/special_functions/binomial.hpp | 82 - .../boost/math/special_functions/cos_pi.hpp | 69 - .../detail/unchecked_factorial.hpp | 625 -- .../boost/math/special_functions/ellint_3.hpp | 320 - .../math/special_functions/ellint_rc.hpp | 115 - .../math/special_functions/ellint_rd.hpp | 130 - .../math/special_functions/ellint_rf.hpp | 132 - .../math/special_functions/ellint_rj.hpp | 180 - .../boost/math/special_functions/math_fwd.hpp | 1499 ----- .../boost/math/special_functions/powm1.hpp | 61 - .../boost/math/special_functions/sign.hpp | 194 - .../include/boost/math/tools/big_constant.hpp | 68 - .../include/boost/math/tools/config.hpp | 397 -- .../include/boost/math/tools/polynomial.hpp | 323 - .../include/boost/math/tools/precision.hpp | 382 -- .../include/boost/math/tools/rational.hpp | 333 - .../include/boost/math/tools/roots.hpp | 542 -- .../include/boost/math/tools/traits.hpp | 111 - .../include/boost/math/tools/tuple.hpp | 90 - .../include/boost/math/tools/workaround.hpp | 38 - .../boost-1.56.0/include/boost/math_fwd.hpp | 108 - .../include/boost/move/algorithm.hpp | 274 - .../boost-1.56.0/include/boost/move/core.hpp | 440 -- .../boost/move/detail/config_begin.hpp | 23 - .../include/boost/move/detail/config_end.hpp | 20 - .../include/boost/move/detail/meta_utils.hpp | 171 - .../boost/move/detail/move_helpers.hpp | 177 - .../include/boost/move/iterator.hpp | 298 - .../boost-1.56.0/include/boost/move/move.hpp | 27 - .../include/boost/move/traits.hpp | 150 - .../include/boost/move/utility.hpp | 194 - .../boost/mpl/aux_/insert_range_impl.hpp | 77 - .../boost/mpl/aux_/preprocessor/range.hpp | 23 - .../include/boost/mpl/map/aux_/item.hpp | 138 - .../include/boost/mpl/set/aux_/item.hpp | 80 - .../boost-1.56.0/include/boost/mpl/string.hpp | 607 -- .../multi_index/detail/ord_index_ops.hpp | 147 - .../include/boost/multi_index/identity.hpp | 137 - .../boost/multi_index/ordered_index.hpp | 1524 ----- .../boost/multi_index/ordered_index_fwd.hpp | 124 - .../boost-1.56.0/include/boost/next_prior.hpp | 51 - bundled/boost-1.56.0/include/boost/none.hpp | 28 - bundled/boost-1.56.0/include/boost/none_t.hpp | 24 - .../boost/numeric/interval/compare/set.hpp | 101 - .../boost/numeric/interval/detail/bugs.hpp | 79 - .../include/boost/numeric/interval/limits.hpp | 51 - .../numeric/odeint/algebra/array_algebra.hpp | 272 - .../thrust/thrust_algebra_dispatcher.hpp | 52 - .../thrust/thrust_operations_dispatcher.hpp | 52 - .../odeint/external/thrust/thrust_resize.hpp | 119 - .../integrate/detail/integrate_adaptive.hpp | 162 - .../integrate/detail/integrate_const.hpp | 163 - .../integrate/detail/integrate_n_steps.hpp | 159 - .../integrate/detail/integrate_times.hpp | 173 - .../odeint/integrate/integrate_adaptive.hpp | 129 - .../odeint/integrate/integrate_const.hpp | 158 - .../odeint/integrate/integrate_n_steps.hpp | 125 - .../odeint/integrate/integrate_times.hpp | 133 - .../integrate/detail/integrate_n_steps.hpp | 107 - .../generation_controlled_runge_kutta.hpp | 53 - .../generation_dense_output_runge_kutta.hpp | 54 - .../stepper/generation/make_controlled.hpp | 81 - .../stepper/generation/make_dense_output.hpp | 78 - .../boost/numeric/odeint/util/bind.hpp | 98 - .../boost/numeric/ublas/detail/concepts.hpp | 1540 ----- .../boost/numeric/ublas/detail/config.hpp | 294 - .../boost/numeric/ublas/functional.hpp | 2063 ------ .../include/boost/numeric/ublas/fwd.hpp | 217 - .../include/boost/numeric/ublas/matrix.hpp | 4390 ------------ .../include/boost/numeric/ublas/symmetric.hpp | 2134 ------ .../include/boost/numeric/ublas/traits.hpp | 752 --- .../boost/numeric/ublas/triangular.hpp | 2604 ------- .../include/boost/numeric/ublas/vector.hpp | 2077 ------ .../boost-1.56.0/include/boost/operators.hpp | 948 --- .../include/boost/optional/optional.hpp | 1512 ----- .../include/boost/optional/optional_fwd.hpp | 30 - .../parameter/aux_/parenthesized_type.hpp | 119 - .../include/boost/parameter/aux_/set.hpp | 67 - .../include/boost/parameter/binding.hpp | 106 - .../include/boost/parameter/value_type.hpp | 108 - .../include/boost/predef/architecture/arm.h | 71 - .../include/boost/predef/architecture/ppc.h | 73 - .../include/boost/predef/architecture/x86.h | 38 - .../include/boost/predef/compiler/sunpro.h | 67 - .../include/boost/predef/language.h | 15 - .../include/boost/predef/library.h | 14 - .../include/boost/predef/library/c/vms.h | 48 - .../include/boost/predef/os/vms.h | 53 - .../boost-1.56.0/include/boost/predef/other.h | 14 - .../boost/preprocessor/array/push_back.hpp | 33 - .../boost/preprocessor/array/push_front.hpp | 33 - .../boost/preprocessor/array/to_list.hpp | 33 - .../boost/preprocessor/array/to_seq.hpp | 33 - .../boost/preprocessor/array/to_tuple.hpp | 22 - .../boost/preprocessor/config/config.hpp | 104 - .../boost/preprocessor/facilities/empty.hpp | 21 - .../preprocessor/facilities/identity.hpp | 23 - .../preprocessor/facilities/is_empty.hpp | 43 - .../boost/preprocessor/list/to_tuple.hpp | 38 - .../boost/preprocessor/seq/for_each.hpp | 60 - .../boost/preprocessor/seq/for_each_i.hpp | 61 - .../boost/preprocessor/seq/replace.hpp | 29 - .../include/boost/preprocessor/seq/rest_n.hpp | 30 - .../include/boost/preprocessor/seq/size.hpp | 547 -- .../boost/preprocessor/tuple/to_seq.hpp | 116 - .../property_tree/ptree_serialization.hpp | 102 - bundled/boost-1.56.0/include/boost/random.hpp | 85 - .../include/boost/random/detail/auto_link.hpp | 42 - .../include/boost/range/adaptor/filtered.hpp | 118 - .../boost/range/detail/collection_traits.hpp | 266 - .../include/boost/range/difference_type.hpp | 35 - .../include/boost/range/iterator.hpp | 76 - .../boost-1.56.0/include/boost/range/size.hpp | 67 - .../boost-1.56.0/include/boost/rational.hpp | 611 -- .../include/boost/serialization/array.hpp | 171 - .../boost/serialization/collection_traits.hpp | 79 - .../serialization/collections_load_imp.hpp | 166 - .../include/boost/serialization/config.hpp | 85 - .../include/boost/serialization/deque.hpp | 75 - .../boost/serialization/detail/get_data.hpp | 61 - .../serialization/detail/shared_ptr_132.hpp | 450 -- .../include/boost/serialization/factory.hpp | 101 - .../boost/serialization/forward_list.hpp | 102 - .../include/boost/serialization/list.hpp | 77 - .../include/boost/serialization/map.hpp | 118 - .../include/boost/serialization/nvp.hpp | 138 - .../boost/serialization/serialization.hpp | 167 - .../include/boost/serialization/set.hpp | 120 - .../boost/serialization/shared_ptr.hpp | 279 - .../boost/serialization/shared_ptr_132.hpp | 222 - .../include/boost/serialization/singleton.hpp | 158 - .../include/boost/serialization/slist.hpp | 103 - .../boost/serialization/smart_cast.hpp | 303 - .../include/boost/serialization/string.hpp | 91 - .../boost/serialization/strong_typedef.hpp | 66 - .../include/boost/serialization/traits.hpp | 65 - .../boost/serialization/unique_ptr.hpp | 68 - .../boost/serialization/unordered_map.hpp | 231 - .../boost/serialization/unordered_set.hpp | 216 - .../include/boost/serialization/variant.hpp | 159 - .../include/boost/serialization/vector.hpp | 216 - .../include/boost/signals/connection.hpp | 213 - .../include/boost/signals/detail/config.hpp | 54 - .../boost/signals/detail/gen_signal_N.pl | 132 - .../boost/signals/detail/named_slot_map.hpp | 192 - .../boost/signals/detail/signal_base.hpp | 159 - .../boost/signals/detail/signals_common.hpp | 144 - .../signals/detail/slot_call_iterator.hpp | 95 - .../include/boost/signals/signal0.hpp | 37 - .../include/boost/signals/signal1.hpp | 37 - .../include/boost/signals/signal10.hpp | 37 - .../include/boost/signals/signal2.hpp | 37 - .../include/boost/signals/signal3.hpp | 37 - .../include/boost/signals/signal4.hpp | 37 - .../include/boost/signals/signal5.hpp | 37 - .../include/boost/signals/signal6.hpp | 37 - .../include/boost/signals/signal7.hpp | 37 - .../include/boost/signals/signal8.hpp | 37 - .../include/boost/signals/signal9.hpp | 37 - .../include/boost/signals/signal_template.hpp | 401 -- .../include/boost/signals/slot.hpp | 157 - .../include/boost/signals/trackable.hpp | 173 - .../include/boost/signals2/connection.hpp | 297 - .../boost/signals2/detail/signal_template.hpp | 859 --- .../signals2/detail/slot_call_iterator.hpp | 147 - .../signals2/detail/variadic_slot_invoker.hpp | 140 - .../include/boost/signals2/trackable.hpp | 49 - .../boost/smart_ptr/detail/sp_forward.hpp | 39 - .../include/boost/smart_ptr/make_unique.hpp | 15 - .../include/boost/smart_ptr/shared_ptr.hpp | 1028 --- .../classic/core/non_terminal/subrule.hpp | 300 - .../spirit/home/karma/nonterminal/rule.hpp | 447 -- .../spirit/home/qi/detail/attributes.hpp | 176 - .../boost/spirit/home/qi/nonterminal/rule.hpp | 440 -- .../home/qi/numeric/detail/numeric_utils.hpp | 506 -- .../home/qi/numeric/detail/real_impl.hpp | 271 - .../spirit/home/qi/numeric/numeric_utils.hpp | 149 - .../spirit/home/qi/numeric/real_policies.hpp | 186 - .../boost/spirit/home/qi/string/tst_map.hpp | 220 - .../boost/spirit/home/support/attributes.hpp | 1395 ---- .../boost/spirit/home/support/char_class.hpp | 797 --- .../support/detail/lexer/parser/parser.hpp | 511 -- .../boost/spirit/home/x3/auxiliary.hpp | 24 - .../include/boost/spirit/home/x3/char.hpp | 23 - .../boost/spirit/home/x3/char/any_char.hpp | 41 - .../boost/spirit/home/x3/char/char.hpp | 88 - .../boost/spirit/home/x3/char/char_class.hpp | 148 - .../include/boost/spirit/home/x3/core.hpp | 20 - .../boost/spirit/home/x3/core/parser.hpp | 239 - .../boost/spirit/home/x3/directive/expect.hpp | 80 - .../boost/spirit/home/x3/directive/skip.hpp | 124 - .../home/x3/nonterminal/detail/rule.hpp | 385 -- .../detail/transform_attribute.hpp | 108 - .../boost/spirit/home/x3/nonterminal/rule.hpp | 186 - .../boost/spirit/home/x3/numeric/bool.hpp | 106 - .../spirit/home/x3/numeric/real_policies.hpp | 186 - .../spirit/home/x3/operator/alternative.hpp | 68 - .../home/x3/operator/detail/alternative.hpp | 317 - .../home/x3/operator/detail/sequence.hpp | 501 -- .../boost/spirit/home/x3/operator/list.hpp | 73 - .../spirit/home/x3/operator/optional.hpp | 86 - .../spirit/home/x3/operator/sequence.hpp | 79 - .../include/boost/spirit/home/x3/string.hpp | 17 - .../spirit/home/x3/string/detail/tst.hpp | 213 - .../spirit/home/x3/string/literal_string.hpp | 124 - .../boost/spirit/home/x3/string/symbols.hpp | 358 - .../boost/spirit/home/x3/string/tst.hpp | 137 - .../boost/spirit/home/x3/string/tst_map.hpp | 216 - .../spirit/home/x3/support/ast/variant.hpp | 249 - .../boost/spirit/home/x3/support/context.hpp | 135 - .../numeric_utils/detail/extract_int.hpp | 512 -- .../x3/support/numeric_utils/extract_int.hpp | 147 - .../home/x3/support/numeric_utils/sign.hpp | 48 - .../x3/support/traits/transform_attribute.hpp | 48 - .../boost/spirit/home/x3/support/unused.hpp | 93 - .../home/x3/support/utility/testing.hpp | 69 - .../home/karma/nonterminal/subrule.hpp | 560 -- .../home/qi/nonterminal/subrule.hpp | 586 -- .../include/boost/thread/csbl/deque.hpp | 37 - .../include/boost/thread/csbl/list.hpp | 35 - .../thread/csbl/memory/default_delete.hpp | 125 - .../boost/thread/csbl/memory/unique_ptr.hpp | 106 - .../include/boost/thread/csbl/tuple.hpp | 45 - .../include/boost/thread/csbl/vector.hpp | 35 - .../include/boost/thread/detail/config.hpp | 460 -- .../include/boost/thread/detail/invoke.hpp | 1606 ----- .../include/boost/thread/detail/move.hpp | 314 - .../include/boost/thread/detail/thread.hpp | 869 --- .../boost/thread/executors/executor.hpp | 129 - .../thread/executors/thread_executor.hpp | 136 - .../include/boost/thread/executors/work.hpp | 21 - .../include/boost/thread/future.hpp | 4837 ------------- .../thread/pthread/condition_variable.hpp | 383 -- .../thread/pthread/condition_variable_fwd.hpp | 266 - .../include/boost/thread/pthread/mutex.hpp | 357 - .../boost/thread/pthread/shared_mutex.hpp | 716 -- .../boost/thread/pthread/thread_data.hpp | 283 - .../include/boost/thread/shared_mutex.hpp | 49 - .../boost/thread/sync_bounded_queue.hpp | 733 -- .../include/boost/thread/sync_queue.hpp | 661 -- .../include/boost/thread/v2/thread.hpp | 142 - .../boost/thread/win32/condition_variable.hpp | 555 -- .../boost/thread/win32/shared_mutex.hpp | 892 --- .../boost/thread/win32/thread_data.hpp | 313 - .../boost/thread/win32/thread_primitives.hpp | 523 -- .../boost-1.56.0/include/boost/tr1/array.hpp | 86 - .../boost-1.56.0/include/boost/tr1/cmath.hpp | 267 - .../include/boost/tr1/complex.hpp | 244 - .../include/boost/tr1/detail/config.hpp | 173 - .../include/boost/tr1/detail/config_all.hpp | 171 - .../boost/tr1/detail/functor2iterator.hpp | 34 - .../boost/tr1/detail/math_overloads.hpp | 58 - .../include/boost/tr1/functional.hpp | 143 - .../boost-1.56.0/include/boost/tr1/memory.hpp | 72 - .../boost-1.56.0/include/boost/tr1/random.hpp | 586 -- .../boost-1.56.0/include/boost/tr1/regex.hpp | 147 - .../include/boost/tr1/tr1/algorithm | 27 - .../boost-1.56.0/include/boost/tr1/tr1/array | 34 - .../include/boost/tr1/tr1/bcc32/array.h | 13 - .../include/boost/tr1/tr1/bcc32/random.h | 13 - .../include/boost/tr1/tr1/bcc32/regex.h | 13 - .../include/boost/tr1/tr1/bcc32/tuple.h | 13 - .../include/boost/tr1/tr1/bcc32/type_tra.h | 13 - .../include/boost/tr1/tr1/bcc32/unordere.h | 15 - .../boost-1.56.0/include/boost/tr1/tr1/bitset | 27 - .../boost-1.56.0/include/boost/tr1/tr1/cmath | 41 - .../include/boost/tr1/tr1/complex | 31 - .../boost-1.56.0/include/boost/tr1/tr1/deque | 27 - .../include/boost/tr1/tr1/exception | 39 - .../include/boost/tr1/tr1/fstream | 27 - .../include/boost/tr1/tr1/functional | 30 - .../include/boost/tr1/tr1/iomanip | 27 - .../boost-1.56.0/include/boost/tr1/tr1/ios | 27 - .../include/boost/tr1/tr1/iostream | 27 - .../include/boost/tr1/tr1/istream | 27 - .../include/boost/tr1/tr1/iterator | 27 - .../boost-1.56.0/include/boost/tr1/tr1/limits | 27 - .../boost-1.56.0/include/boost/tr1/tr1/list | 27 - .../boost-1.56.0/include/boost/tr1/tr1/locale | 27 - .../boost-1.56.0/include/boost/tr1/tr1/map | 27 - .../boost-1.56.0/include/boost/tr1/tr1/memory | 31 - .../boost-1.56.0/include/boost/tr1/tr1/new | 35 - .../include/boost/tr1/tr1/numeric | 27 - .../include/boost/tr1/tr1/ostream | 27 - .../boost-1.56.0/include/boost/tr1/tr1/queue | 27 - .../boost-1.56.0/include/boost/tr1/tr1/random | 34 - .../boost-1.56.0/include/boost/tr1/tr1/regex | 22 - .../boost-1.56.0/include/boost/tr1/tr1/set | 27 - .../include/boost/tr1/tr1/sstream | 27 - .../boost-1.56.0/include/boost/tr1/tr1/stack | 27 - .../include/boost/tr1/tr1/stdexcept | 34 - .../include/boost/tr1/tr1/streambuf | 27 - .../boost-1.56.0/include/boost/tr1/tr1/string | 27 - .../include/boost/tr1/tr1/strstream | 29 - .../boost/tr1/tr1/sun/algorithm.SUNWCCh | 6 - .../include/boost/tr1/tr1/sun/array.SUNWCCh | 6 - .../include/boost/tr1/tr1/sun/bcc32.SUNWCCh | 6 - .../include/boost/tr1/tr1/sun/bitset.SUNWCCh | 6 - .../include/boost/tr1/tr1/sun/cmath.SUNWCCh | 7 - .../include/boost/tr1/tr1/sun/complex.SUNWCCh | 6 - .../include/boost/tr1/tr1/sun/deque.SUNWCCh | 6 - .../boost/tr1/tr1/sun/exception.SUNWCCh | 6 - .../include/boost/tr1/tr1/sun/fstream.SUNWCCh | 6 - .../boost/tr1/tr1/sun/functional.SUNWCCh | 6 - .../include/boost/tr1/tr1/sun/iomanip.SUNWCCh | 6 - .../include/boost/tr1/tr1/sun/ios.SUNWCCh | 6 - .../boost/tr1/tr1/sun/iostream.SUNWCCh | 6 - .../include/boost/tr1/tr1/sun/istream.SUNWCCh | 6 - .../boost/tr1/tr1/sun/iterator.SUNWCCh | 6 - .../include/boost/tr1/tr1/sun/limits.SUNWCCh | 6 - .../include/boost/tr1/tr1/sun/list.SUNWCCh | 6 - .../include/boost/tr1/tr1/sun/locale.SUNWCCh | 6 - .../include/boost/tr1/tr1/sun/map.SUNWCCh | 6 - .../include/boost/tr1/tr1/sun/memory.SUNWCCh | 6 - .../include/boost/tr1/tr1/sun/new.SUNWCCh | 6 - .../include/boost/tr1/tr1/sun/numeric.SUNWCCh | 6 - .../include/boost/tr1/tr1/sun/ostream.SUNWCCh | 6 - .../include/boost/tr1/tr1/sun/queue.SUNWCCh | 6 - .../include/boost/tr1/tr1/sun/random.SUNWCCh | 6 - .../include/boost/tr1/tr1/sun/regex.SUNWCCh | 6 - .../include/boost/tr1/tr1/sun/set.SUNWCCh | 6 - .../include/boost/tr1/tr1/sun/sstream.SUNWCCh | 6 - .../include/boost/tr1/tr1/sun/stack.SUNWCCh | 6 - .../boost/tr1/tr1/sun/stdexcept.SUNWCCh | 6 - .../boost/tr1/tr1/sun/streambuf.SUNWCCh | 6 - .../include/boost/tr1/tr1/sun/string.SUNWCCh | 6 - .../boost/tr1/tr1/sun/strstream.SUNWCCh | 6 - .../include/boost/tr1/tr1/sun/sun.SUNWCCh | 6 - .../include/boost/tr1/tr1/sun/tuple.SUNWCCh | 6 - .../boost/tr1/tr1/sun/type_traits.SUNWCCh | 6 - .../boost/tr1/tr1/sun/typeinfo.SUNWCCh | 6 - .../boost/tr1/tr1/sun/unordered_map.SUNWCCh | 7 - .../boost/tr1/tr1/sun/unordered_set.SUNWCCh | 7 - .../include/boost/tr1/tr1/sun/utility.SUNWCCh | 6 - .../boost/tr1/tr1/sun/valarray.SUNWCCh | 6 - .../include/boost/tr1/tr1/sun/vector.SUNWCCh | 6 - .../boost-1.56.0/include/boost/tr1/tr1/tuple | 34 - .../include/boost/tr1/tr1/type_traits | 43 - .../include/boost/tr1/tr1/typeinfo | 27 - .../include/boost/tr1/tr1/unordered_map | 34 - .../include/boost/tr1/tr1/unordered_set | 34 - .../include/boost/tr1/tr1/utility | 41 - .../include/boost/tr1/tr1/valarray | 27 - .../boost-1.56.0/include/boost/tr1/tr1/vector | 27 - .../boost-1.56.0/include/boost/tr1/tuple.hpp | 82 - .../include/boost/tr1/type_traits.hpp | 87 - .../include/boost/tr1/unordered_map.hpp | 33 - .../include/boost/tr1/unordered_set.hpp | 33 - .../include/boost/tr1/utility.hpp | 121 - .../include/boost/type_traits.hpp | 101 - .../type_traits/add_lvalue_reference.hpp | 26 - .../include/boost/type_traits/add_pointer.hpp | 72 - .../boost/type_traits/add_reference.hpp | 72 - .../boost/type_traits/aligned_storage.hpp | 13 - .../boost/type_traits/alignment_of.hpp | 126 - .../type_traits/broken_compiler_spec.hpp | 14 - .../include/boost/type_traits/common_type.hpp | 157 - .../include/boost/type_traits/config.hpp | 72 - .../include/boost/type_traits/decay.hpp | 44 - .../detail/template_arity_spec.hpp | 31 - .../type_traits/floating_point_promotion.hpp | 91 - .../include/boost/type_traits/has_bit_and.hpp | 49 - .../boost/type_traits/has_bit_and_assign.hpp | 55 - .../include/boost/type_traits/has_bit_or.hpp | 49 - .../boost/type_traits/has_bit_or_assign.hpp | 55 - .../include/boost/type_traits/has_bit_xor.hpp | 49 - .../boost/type_traits/has_bit_xor_assign.hpp | 55 - .../boost/type_traits/has_complement.hpp | 32 - .../include/boost/type_traits/has_divides.hpp | 40 - .../boost/type_traits/has_divides_assign.hpp | 47 - .../boost/type_traits/has_equal_to.hpp | 49 - .../include/boost/type_traits/has_greater.hpp | 49 - .../boost/type_traits/has_greater_equal.hpp | 49 - .../boost/type_traits/has_left_shift.hpp | 49 - .../type_traits/has_left_shift_assign.hpp | 55 - .../include/boost/type_traits/has_less.hpp | 49 - .../boost/type_traits/has_less_equal.hpp | 49 - .../boost/type_traits/has_logical_and.hpp | 40 - .../boost/type_traits/has_logical_or.hpp | 40 - .../include/boost/type_traits/has_minus.hpp | 60 - .../boost/type_traits/has_minus_assign.hpp | 65 - .../include/boost/type_traits/has_modulus.hpp | 49 - .../boost/type_traits/has_modulus_assign.hpp | 55 - .../boost/type_traits/has_multiplies.hpp | 40 - .../type_traits/has_multiplies_assign.hpp | 47 - .../boost/type_traits/has_not_equal_to.hpp | 49 - .../boost/type_traits/has_nothrow_assign.hpp | 44 - .../type_traits/has_nothrow_constructor.hpp | 53 - .../boost/type_traits/has_nothrow_copy.hpp | 53 - .../type_traits/has_nothrow_destructor.hpp | 25 - .../include/boost/type_traits/has_plus.hpp | 54 - .../boost/type_traits/has_plus_assign.hpp | 66 - .../boost/type_traits/has_post_decrement.hpp | 40 - .../boost/type_traits/has_post_increment.hpp | 40 - .../boost/type_traits/has_pre_decrement.hpp | 40 - .../boost/type_traits/has_pre_increment.hpp | 40 - .../boost/type_traits/has_right_shift.hpp | 49 - .../type_traits/has_right_shift_assign.hpp | 55 - .../boost/type_traits/has_trivial_assign.hpp | 57 - .../type_traits/has_trivial_constructor.hpp | 51 - .../boost/type_traits/has_trivial_copy.hpp | 64 - .../type_traits/has_trivial_destructor.hpp | 49 - .../type_traits/has_trivial_move_assign.hpp | 57 - .../has_trivial_move_constructor.hpp | 57 - .../type_traits/has_virtual_destructor.hpp | 29 - .../boost/type_traits/integral_constant.hpp | 39 - .../include/boost/type_traits/intrinsics.hpp | 305 - .../boost/type_traits/is_arithmetic.hpp | 51 - .../include/boost/type_traits/is_array.hpp | 50 - .../include/boost/type_traits/is_base_of.hpp | 49 - .../boost/type_traits/is_base_of_tr1.hpp | 48 - .../include/boost/type_traits/is_class.hpp | 129 - .../include/boost/type_traits/is_complex.hpp | 34 - .../include/boost/type_traits/is_compound.hpp | 46 - .../include/boost/type_traits/is_const.hpp | 90 - .../type_traits/is_copy_constructible.hpp | 122 - .../include/boost/type_traits/is_empty.hpp | 142 - .../include/boost/type_traits/is_enum.hpp | 188 - .../include/boost/type_traits/is_float.hpp | 27 - .../boost/type_traits/is_floating_point.hpp | 27 - .../include/boost/type_traits/is_function.hpp | 109 - .../boost/type_traits/is_fundamental.hpp | 45 - .../include/boost/type_traits/is_integral.hpp | 88 - .../boost/type_traits/is_lvalue_reference.hpp | 56 - .../is_member_function_pointer.hpp | 133 - .../type_traits/is_member_object_pointer.hpp | 46 - .../boost/type_traits/is_member_pointer.hpp | 65 - .../is_nothrow_move_assignable.hpp | 93 - .../is_nothrow_move_constructible.hpp | 93 - .../include/boost/type_traits/is_object.hpp | 45 - .../include/boost/type_traits/is_pod.hpp | 79 - .../include/boost/type_traits/is_pointer.hpp | 88 - .../boost/type_traits/is_reference.hpp | 45 - .../boost/type_traits/is_rvalue_reference.hpp | 29 - .../include/boost/type_traits/is_scalar.hpp | 55 - .../include/boost/type_traits/is_signed.hpp | 136 - .../boost/type_traits/is_stateless.hpp | 48 - .../include/boost/type_traits/is_union.hpp | 57 - .../include/boost/type_traits/is_unsigned.hpp | 135 - .../boost/type_traits/is_virtual_base_of.hpp | 102 - .../include/boost/type_traits/is_void.hpp | 38 - .../include/boost/type_traits/is_volatile.hpp | 84 - .../include/boost/type_traits/make_signed.hpp | 151 - .../boost/type_traits/make_unsigned.hpp | 151 - .../include/boost/type_traits/promote.hpp | 40 - .../boost/type_traits/remove_all_extents.hpp | 40 - .../boost/type_traits/remove_bounds.hpp | 40 - .../boost/type_traits/remove_const.hpp | 79 - .../include/boost/type_traits/remove_cv.hpp | 63 - .../boost/type_traits/remove_extent.hpp | 40 - .../boost/type_traits/remove_pointer.hpp | 83 - .../boost/type_traits/remove_reference.hpp | 59 - .../boost/type_traits/remove_volatile.hpp | 77 - .../boost/type_traits/type_with_alignment.hpp | 357 - .../include/boost/units/config.hpp | 105 - .../include/boost/units/detail/utility.hpp | 104 - .../include/boost/units/limits.hpp | 69 - .../include/boost/units/scaled_base_unit.hpp | 146 - .../include/boost/unordered/unordered_map.hpp | 1657 ----- .../include/boost/unordered/unordered_set.hpp | 1554 ----- .../include/boost/utility/declval.hpp | 44 - .../boost-1.56.0/include/boost/variant.hpp | 27 - .../variant/detail/apply_visitor_binary.hpp | 178 - .../variant/detail/apply_visitor_delayed.hpp | 88 - .../variant/detail/apply_visitor_unary.hpp | 79 - .../include/boost/variant/detail/config.hpp | 37 - .../boost/variant/detail/forced_return.hpp | 102 - .../include/boost/variant/detail/move.hpp | 69 - .../include/boost/variant/get.hpp | 162 - .../include/boost/variant/multivisitors.hpp | 143 - .../include/boost/variant/polymorphic_get.hpp | 170 - .../boost/variant/recursive_wrapper_fwd.hpp | 103 - .../include/boost/variant/variant.hpp | 2336 ------- .../boost-1.56.0/include/boost/version.hpp | 32 - .../src/xml_archive_exception.cpp | 56 - .../libs/serialization/src/xml_iarchive.cpp | 42 - .../libs/thread/src/pthread/thread.cpp | 851 --- .../libs/thread/src/win32/thread.cpp | 878 --- .../LICENSE_1_0.txt | 0 .../include/boost/algorithm/algorithm.hpp | 88 + .../include/boost/algorithm/clamp.hpp | 0 .../include/boost/algorithm/cxx11/all_of.hpp | 8 - .../include/boost/algorithm/cxx11/any_of.hpp | 6 - .../include/boost/algorithm/cxx11/copy_if.hpp | 9 +- .../include/boost/algorithm/cxx11/copy_n.hpp | 9 - .../boost/algorithm/cxx11/find_if_not.hpp | 9 - .../include/boost/algorithm/cxx11/iota.hpp | 9 - .../boost/algorithm/cxx11/is_partitioned.hpp | 9 - .../boost/algorithm/cxx11/is_permutation.hpp | 185 + .../boost/algorithm/cxx11/is_sorted.hpp | 280 + .../include/boost/algorithm/cxx11/none_of.hpp | 12 +- .../include/boost/algorithm/cxx11/one_of.hpp | 0 .../boost/algorithm/cxx11/partition_copy.hpp | 10 +- .../boost/algorithm/cxx11/partition_point.hpp | 11 +- .../include/boost/algorithm/cxx14/equal.hpp | 3 +- .../boost/algorithm/cxx14/is_permutation.hpp | 79 + .../boost/algorithm/cxx14/mismatch.hpp | 1 - .../include/boost/algorithm/gather.hpp | 0 .../include/boost/algorithm/hex.hpp | 325 + .../include/boost/algorithm/is_palindrome.hpp | 161 + .../include/boost/algorithm/minmax.hpp | 0 .../boost/algorithm/minmax_element.hpp | 0 .../boost/algorithm/searching/boyer_moore.hpp | 32 +- .../searching/boyer_moore_horspool.hpp | 33 +- .../algorithm/searching/detail/bm_traits.hpp | 6 +- .../algorithm/searching/detail/debugging.hpp | 0 .../searching/knuth_morris_pratt.hpp | 33 +- .../include/boost/algorithm/sort_subrange.hpp | 109 + .../include/boost/algorithm/string.hpp | 0 .../boost/algorithm/string/case_conv.hpp | 0 .../boost/algorithm/string/classification.hpp | 0 .../boost/algorithm/string/compare.hpp | 0 .../boost/algorithm/string/concept.hpp | 0 .../include/boost/algorithm/string/config.hpp | 0 .../boost/algorithm/string/constants.hpp | 0 .../algorithm/string/detail/case_conv.hpp | 0 .../string/detail/classification.hpp | 0 .../algorithm/string/detail/find_format.hpp | 0 .../string/detail/find_format_all.hpp | 0 .../string/detail/find_format_store.hpp | 0 .../algorithm/string/detail/find_iterator.hpp | 0 .../boost/algorithm/string/detail/finder.hpp | 0 .../algorithm/string/detail/finder_regex.hpp | 0 .../algorithm/string/detail/formatter.hpp | 0 .../string/detail/formatter_regex.hpp | 0 .../algorithm/string/detail/predicate.hpp | 0 .../string/detail/replace_storage.hpp | 0 .../algorithm/string/detail/sequence.hpp | 0 .../boost/algorithm/string/detail/trim.hpp | 0 .../boost/algorithm/string/detail/util.hpp | 0 .../include/boost/algorithm/string/erase.hpp | 0 .../include/boost/algorithm/string/find.hpp | 0 .../boost/algorithm/string/find_format.hpp | 0 .../boost/algorithm/string/find_iterator.hpp | 7 +- .../include/boost/algorithm/string/finder.hpp | 0 .../boost/algorithm/string/formatter.hpp | 0 .../boost/algorithm/string/iter_find.hpp | 0 .../include/boost/algorithm/string/join.hpp | 0 .../boost/algorithm/string/predicate.hpp | 0 .../algorithm/string/predicate_facade.hpp | 0 .../include/boost/algorithm/string/regex.hpp | 0 .../algorithm/string/regex_find_format.hpp | 0 .../boost/algorithm/string/replace.hpp | 926 +++ .../algorithm/string/sequence_traits.hpp | 0 .../include/boost/algorithm/string/split.hpp | 0 .../algorithm/string/std/list_traits.hpp | 0 .../algorithm/string/std/rope_traits.hpp | 0 .../algorithm/string/std/slist_traits.hpp | 0 .../algorithm/string/std/string_traits.hpp | 0 .../string/std_containers_traits.hpp | 0 .../include/boost/algorithm/string/trim.hpp | 0 .../boost/algorithm/string/trim_all.hpp | 0 .../boost/algorithm/string/yes_no_type.hpp | 0 .../include/boost/algorithm/string_regex.hpp | 0 bundled/boost-1.62.0/include/boost/align.hpp | 23 + .../include/boost/align/align.hpp | 20 + .../include/boost/align/align_down.hpp | 27 + .../boost/align/align_down_forward.hpp | 24 + .../include/boost/align/align_up.hpp | 27 + .../include/boost/align/align_up_forward.hpp | 24 + .../include/boost/align/aligned_alloc.hpp | 44 + .../include/boost/align/aligned_allocator.hpp | 159 + .../boost/align/aligned_allocator_adaptor.hpp | 178 + .../aligned_allocator_adaptor_forward.hpp | 23 + .../boost/align/aligned_allocator_forward.hpp | 23 + .../include/boost/align/aligned_delete.hpp | 32 + .../boost/align/aligned_delete_forward.hpp | 20 + .../include/boost/align/alignment_of.hpp | 52 + .../boost/align/alignment_of_forward.hpp | 21 + .../include/boost/align/assume_aligned.hpp | 29 + .../include/boost/align/detail/address.hpp | 0 .../include/boost/align/detail/addressof.hpp | 34 + .../include/boost/align/detail/align.hpp | 38 + .../boost/align/detail/align_cxx11.hpp | 22 + .../include/boost/align/detail/align_down.hpp | 28 + .../include/boost/align/detail/align_up.hpp | 28 + .../boost/align/detail/aligned_alloc.hpp | 52 + .../align/detail/aligned_alloc_android.hpp | 34 + .../align/detail/aligned_alloc_macos.hpp | 44 + .../boost/align/detail/aligned_alloc_msvc.hpp | 34 + .../align/detail/aligned_alloc_posix.hpp | 41 + .../align/detail/aligned_alloc_sunos.hpp | 34 + .../boost/align/detail/alignment_of.hpp | 32 + .../boost/align/detail/alignment_of_clang.hpp | 27 + .../align/detail/alignment_of_codegear.hpp | 27 + .../boost/align/detail/alignment_of_cxx11.hpp | 24 + .../boost/align/detail/alignment_of_gcc.hpp | 27 + .../boost/align/detail/alignment_of_msvc.hpp | 34 + .../boost/align/detail/assume_aligned.hpp | 17 + .../align/detail/assume_aligned_clang.hpp | 19 + .../boost/align/detail/assume_aligned_gcc.hpp | 18 + .../align/detail/assume_aligned_intel.hpp | 18 + .../align/detail/assume_aligned_msvc.hpp | 20 + .../boost/align/detail/element_type.hpp | 93 + .../boost/align/detail/integral_constant.hpp | 46 + .../include/boost/align/detail/is_aligned.hpp | 36 + .../boost/align/detail/is_alignment.hpp | 29 + .../boost/align/detail/is_alignment_const.hpp | 0 .../align/detail/is_alignment_constant.hpp | 27 + .../include/boost/align/detail/max_align.hpp | 27 + .../boost/align/detail/max_count_of.hpp | 0 .../boost/align/detail/max_objects.hpp | 28 + .../include/boost/align/detail/max_size.hpp | 27 + .../include/boost/align/detail/min_size.hpp | 27 + .../include/boost/align/detail/padded.hpp | 0 .../boost/align/detail/type_traits.hpp | 0 .../include/boost/align/is_aligned.hpp | 27 + .../boost/align/is_aligned_forward.hpp | 24 + .../include/boost/aligned_storage.hpp | 18 + bundled/boost-1.62.0/include/boost/any.hpp | 325 + .../include/boost/archive/add_facet.hpp | 0 .../boost/archive/archive_exception.hpp | 25 +- .../include/boost/archive/basic_archive.hpp | 4 +- .../boost/archive/basic_binary_iarchive.hpp | 58 +- .../boost/archive/basic_binary_iprimitive.hpp | 38 +- .../boost/archive/basic_binary_oarchive.hpp | 33 +- .../boost/archive/basic_binary_oprimitive.hpp | 45 +- .../archive/basic_streambuf_locale_saver.hpp | 108 + .../boost/archive/basic_text_iarchive.hpp | 15 +- .../boost/archive/basic_text_iprimitive.hpp | 33 +- .../boost/archive/basic_text_oarchive.hpp | 21 +- .../boost/archive/basic_text_oprimitive.hpp | 31 +- .../boost/archive/basic_xml_archive.hpp | 16 +- .../boost/archive/basic_xml_iarchive.hpp | 120 + .../boost/archive/basic_xml_oarchive.hpp | 138 + .../include/boost/archive/binary_iarchive.hpp | 2 +- .../boost/archive/binary_iarchive_impl.hpp | 13 +- .../include/boost/archive/binary_oarchive.hpp | 2 +- .../boost/archive/binary_oarchive_impl.hpp | 13 +- .../boost/archive/binary_wiarchive.hpp | 0 .../boost/archive/binary_woarchive.hpp | 0 .../include/boost/archive/codecvt_null.hpp | 12 +- .../boost/archive/detail/abi_prefix.hpp | 4 - .../boost/archive/detail/abi_suffix.hpp | 4 - .../archive/detail/archive_serializer_map.hpp | 9 +- .../archive/detail/auto_link_archive.hpp | 0 .../archive/detail/auto_link_warchive.hpp | 0 .../archive/detail/basic_archive_impl.hpp | 0 .../boost/archive/detail/basic_config.hpp | 0 .../boost/archive/detail/basic_iarchive.hpp | 105 + .../archive/detail/basic_iserializer.hpp | 14 +- .../boost/archive/detail/basic_oarchive.hpp | 36 +- .../archive/detail/basic_oserializer.hpp | 14 +- .../detail/basic_pointer_iserializer.hpp | 14 +- .../detail/basic_pointer_oserializer.hpp | 14 +- .../boost/archive/detail/basic_serializer.hpp | 3 +- .../archive/detail/basic_serializer_map.hpp | 8 +- .../include/boost/archive/detail/check.hpp | 0 .../boost/archive/detail/common_iarchive.hpp | 4 +- .../boost/archive/detail/common_oarchive.hpp | 5 +- .../include/boost/archive/detail/decl.hpp | 57 + .../archive/detail/helper_collection.hpp | 99 + .../archive/detail/interface_iarchive.hpp | 12 +- .../archive/detail/interface_oarchive.hpp | 21 +- .../boost/archive/detail/iserializer.hpp | 76 +- .../boost/archive/detail/oserializer.hpp | 1 + .../detail/polymorphic_iarchive_route.hpp | 9 +- .../detail/polymorphic_oarchive_route.hpp | 8 +- .../boost/archive/detail/register_archive.hpp | 2 +- .../archive/detail/utf8_codecvt_facet.hpp | 34 + .../include/boost/archive/dinkumware.hpp | 0 .../archive/impl/archive_serializer_map.ipp | 6 +- .../archive/impl/basic_binary_iarchive.ipp | 15 +- .../archive/impl/basic_binary_iprimitive.ipp | 171 + .../archive/impl/basic_binary_oarchive.ipp | 6 +- .../archive/impl/basic_binary_oprimitive.ipp | 124 + .../archive/impl/basic_text_iarchive.ipp | 8 +- .../archive/impl/basic_text_iprimitive.ipp | 49 +- .../archive/impl/basic_text_oarchive.ipp | 4 +- .../archive/impl/basic_text_oprimitive.ipp | 115 + .../boost/archive/impl/basic_xml_grammar.hpp | 16 +- .../boost/archive/impl/basic_xml_iarchive.ipp | 27 +- .../boost/archive/impl/basic_xml_oarchive.ipp | 83 +- .../boost/archive/impl/text_iarchive_impl.ipp | 18 +- .../boost/archive/impl/text_oarchive_impl.ipp | 14 +- .../archive/impl/text_wiarchive_impl.ipp | 10 +- .../archive/impl/text_woarchive_impl.ipp | 8 +- .../boost/archive/impl/xml_iarchive_impl.ipp | 199 + .../boost/archive/impl/xml_oarchive_impl.ipp | 47 +- .../boost/archive/impl/xml_wiarchive_impl.ipp | 189 + .../boost/archive/impl/xml_woarchive_impl.ipp | 169 + .../archive/iterators/base64_exception.hpp | 0 .../archive/iterators/base64_from_binary.hpp | 6 +- .../archive/iterators/binary_from_base64.hpp | 5 +- .../boost/archive/iterators/dataflow.hpp | 1 - .../archive/iterators/dataflow_exception.hpp | 0 .../boost/archive/iterators/escape.hpp | 0 .../boost/archive/iterators/head_iterator.hpp | 0 .../archive/iterators/insert_linebreaks.hpp | 6 +- .../archive/iterators/istream_iterator.hpp | 21 +- .../boost/archive/iterators/mb_from_wchar.hpp | 41 +- .../archive/iterators/ostream_iterator.hpp | 0 .../archive/iterators/remove_whitespace.hpp | 6 +- .../archive/iterators/transform_width.hpp | 9 +- .../boost/archive/iterators/unescape.hpp | 0 .../boost/archive/iterators/wchar_from_mb.hpp | 192 + .../boost/archive/iterators/xml_escape.hpp | 5 +- .../boost/archive/iterators/xml_unescape.hpp | 5 +- .../iterators/xml_unescape_exception.hpp | 0 .../archive/polymorphic_binary_iarchive.hpp | 0 .../archive/polymorphic_binary_oarchive.hpp | 0 .../boost/archive/polymorphic_iarchive.hpp | 18 +- .../boost/archive/polymorphic_oarchive.hpp | 17 +- .../archive/polymorphic_text_iarchive.hpp | 0 .../archive/polymorphic_text_oarchive.hpp | 0 .../archive/polymorphic_text_wiarchive.hpp | 0 .../archive/polymorphic_text_woarchive.hpp | 0 .../archive/polymorphic_xml_iarchive.hpp | 0 .../archive/polymorphic_xml_oarchive.hpp | 0 .../archive/polymorphic_xml_wiarchive.hpp | 0 .../archive/polymorphic_xml_woarchive.hpp | 0 .../boost/archive/shared_ptr_helper.hpp | 0 .../include/boost/archive/text_iarchive.hpp | 132 + .../include/boost/archive/text_oarchive.hpp | 32 +- .../include/boost/archive/text_wiarchive.hpp | 20 +- .../include/boost/archive/text_woarchive.hpp | 12 +- .../include/boost/archive/tmpdir.hpp | 0 .../include/boost/archive/wcslen.hpp | 0 .../boost/archive/xml_archive_exception.hpp | 7 +- .../include/boost/archive/xml_iarchive.hpp | 142 + .../include/boost/archive/xml_oarchive.hpp | 137 + .../include/boost/archive/xml_wiarchive.hpp | 149 + .../include/boost/archive/xml_woarchive.hpp | 134 + .../include/boost/array.hpp | 0 .../include/boost/asio.hpp | 2 +- bundled/boost-1.62.0/include/boost/assert.hpp | 85 + .../include/boost/assign.hpp | 0 .../include/boost/atomic.hpp | 0 .../include/boost/atomic/atomic.hpp | 0 .../include/boost/atomic/atomic_flag.hpp | 0 .../include/boost/atomic/capabilities.hpp | 1 + .../boost/atomic/detail/atomic_flag.hpp | 6 +- .../boost/atomic/detail/atomic_template.hpp | 130 +- .../boost/atomic/detail/bitwise_cast.hpp | 53 + .../boost/atomic/detail/caps_gcc_alpha.hpp | 0 .../boost/atomic/detail/caps_gcc_arm.hpp | 0 .../boost/atomic/detail/caps_gcc_atomic.hpp | 82 +- .../boost/atomic/detail/caps_gcc_ppc.hpp | 2 +- .../boost/atomic/detail/caps_gcc_sparc.hpp | 0 .../boost/atomic/detail/caps_gcc_sync.hpp | 0 .../boost/atomic/detail/caps_gcc_x86.hpp | 23 + .../boost/atomic/detail/caps_linux_arm.hpp | 0 .../boost/atomic/detail/caps_msvc_arm.hpp | 0 .../boost/atomic/detail/caps_msvc_x86.hpp | 5 + .../boost/atomic/detail/caps_windows.hpp | 0 .../include/boost/atomic/detail/casts.hpp | 0 .../include/boost/atomic/detail/config.hpp | 75 + .../include/boost/atomic/detail/int_sizes.hpp | 4 +- .../boost/atomic/detail/interlocked.hpp | 481 ++ .../include/boost/atomic/detail/link.hpp | 0 .../include/boost/atomic/detail/lockpool.hpp | 0 .../boost/atomic/detail/operations.hpp | 0 .../boost/atomic/detail/operations_fwd.hpp | 35 + .../atomic/detail/operations_lockfree.hpp | 0 .../boost/atomic/detail/ops_cas_based.hpp | 40 +- .../boost/atomic/detail/ops_emulated.hpp | 18 +- .../atomic/detail/ops_extending_cas_based.hpp | 9 +- .../boost/atomic/detail/ops_gcc_alpha.hpp | 50 +- .../boost/atomic/detail/ops_gcc_arm.hpp | 50 +- .../boost/atomic/detail/ops_gcc_atomic.hpp | 395 ++ .../boost/atomic/detail/ops_gcc_ppc.hpp | 802 +++ .../boost/atomic/detail/ops_gcc_sparc.hpp | 35 +- .../boost/atomic/detail/ops_gcc_sync.hpp | 33 + .../boost/atomic/detail/ops_gcc_x86.hpp | 30 +- .../boost/atomic/detail/ops_gcc_x86_dcas.hpp | 616 ++ .../boost/atomic/detail/ops_linux_arm.hpp | 7 +- .../boost/atomic/detail/ops_msvc_arm.hpp | 4 + .../boost/atomic/detail/ops_msvc_common.hpp | 0 .../boost/atomic/detail/ops_msvc_x86.hpp | 66 +- .../boost/atomic/detail/ops_windows.hpp | 1 + .../include/boost/atomic/detail/pause.hpp | 4 +- .../include/boost/atomic/detail/platform.hpp | 12 +- .../boost/atomic/detail/storage_type.hpp | 280 + .../include/boost/atomic/fences.hpp | 0 .../include/boost/bimap.hpp | 0 bundled/boost-1.62.0/include/boost/bind.hpp | 41 + .../include/boost/bind/apply.hpp | 0 .../include/boost/bind/arg.hpp | 6 +- .../boost-1.62.0/include/boost/bind/bind.hpp | 2328 +++++++ .../include/boost/bind/bind_cc.hpp | 0 .../include/boost/bind/bind_mf2_cc.hpp | 0 .../include/boost/bind/bind_mf_cc.hpp | 441 ++ .../include/boost/bind/bind_template.hpp | 0 .../include/boost/bind/make_adaptable.hpp | 0 .../include/boost/bind/mem_fn.hpp | 0 .../include/boost/bind/mem_fn_cc.hpp | 0 .../include/boost/bind/mem_fn_template.hpp | 0 .../include/boost/bind/mem_fn_vw.hpp | 0 .../include/boost/bind/placeholders.hpp | 62 + .../include/boost/bind/protect.hpp | 0 .../include/boost/bind/storage.hpp | 0 .../include/boost/blank.hpp | 0 .../include/boost/blank_fwd.hpp | 0 .../include/boost/call_traits.hpp | 0 .../include/boost/cast.hpp | 0 .../include/boost/cerrno.hpp | 0 .../include/boost/checked_delete.hpp | 0 .../include/boost/chrono.hpp | 0 .../include/boost/chrono/ceil.hpp | 0 .../include/boost/chrono/chrono.hpp | 0 .../include/boost/chrono/chrono_io.hpp | 0 .../include/boost/chrono/clock_string.hpp | 0 .../include/boost/chrono/config.hpp | 0 .../boost/chrono/detail/inlined/chrono.hpp | 46 + .../chrono/detail/inlined/mac/chrono.hpp | 242 + .../detail/inlined/mac/process_cpu_clocks.hpp | 356 + .../detail/inlined/mac/thread_clock.hpp | 92 + .../chrono/detail/inlined/posix/chrono.hpp | 121 + .../inlined/posix/process_cpu_clocks.hpp | 354 + .../detail/inlined/posix/thread_clock.hpp | 92 + .../detail/inlined/process_cpu_clocks.hpp | 46 + .../chrono/detail/inlined/thread_clock.hpp | 46 + .../chrono/detail/inlined/win/chrono.hpp | 150 + .../detail/inlined/win/process_cpu_clocks.hpp | 281 + .../detail/inlined/win/thread_clock.hpp | 103 + .../chrono/detail/is_evenly_divisible_by.hpp | 0 .../detail/no_warning/signed_unsigned_cmp.hpp | 0 .../boost/chrono/detail/scan_keyword.hpp | 4 +- .../boost/chrono/detail/static_assert.hpp | 0 .../include/boost/chrono/detail/system.hpp | 0 .../include/boost/chrono/duration.hpp | 14 +- .../include/boost/chrono/floor.hpp | 0 .../include/boost/chrono/include.hpp | 0 .../include/boost/chrono/io/duration_get.hpp | 8 +- .../include/boost/chrono/io/duration_io.hpp | 295 + .../include/boost/chrono/io/duration_put.hpp | 42 +- .../boost/chrono/io/duration_style.hpp | 0 .../boost/chrono/io/duration_units.hpp | 0 .../boost/chrono/io/ios_base_state.hpp | 7 +- .../boost/chrono/io/time_point_get.hpp | 4 +- .../include/boost/chrono/io/time_point_io.hpp | 24 +- .../boost/chrono/io/time_point_put.hpp | 0 .../boost/chrono/io/time_point_units.hpp | 15 +- .../include/boost/chrono/io/timezone.hpp | 0 .../chrono/io/utility/ios_base_state_ptr.hpp | 7 +- .../boost/chrono/io/utility/manip_base.hpp | 0 .../boost/chrono/io/utility/to_string.hpp | 0 .../include/boost/chrono/io_v1/chrono_io.hpp | 8 +- .../boost/chrono/process_cpu_clocks.hpp | 525 ++ .../include/boost/chrono/round.hpp | 0 .../include/boost/chrono/system_clocks.hpp | 0 .../include/boost/chrono/thread_clock.hpp | 0 .../include/boost/chrono/time_point.hpp | 0 .../chrono/typeof/boost/chrono/chrono.hpp | 0 .../boost/chrono/typeof/boost/ratio.hpp | 0 .../include/boost/circular_buffer.hpp | 5 +- .../include/boost/circular_buffer_fwd.hpp | 2 +- .../include/boost/compressed_pair.hpp | 0 .../boost-1.62.0/include/boost/compute.hpp | 44 + .../include/boost/concept/assert.hpp | 0 .../concept/detail/backward_compatibility.hpp | 0 .../include/boost/concept/detail/borland.hpp | 0 .../boost/concept/detail/concept_def.hpp | 0 .../boost/concept/detail/concept_undef.hpp | 0 .../include/boost/concept/detail/general.hpp | 11 +- .../boost/concept/detail/has_constraints.hpp | 0 .../include/boost/concept/detail/msvc.hpp | 0 .../include/boost/concept/requires.hpp | 0 .../include/boost/concept/usage.hpp | 0 .../include/boost/concept_archetype.hpp | 0 .../include/boost/concept_check.hpp | 23 +- .../include/boost/concept_check/borland.hpp | 0 .../include/boost/concept_check/general.hpp | 0 .../boost/concept_check/has_constraints.hpp | 0 .../include/boost/concept_check/msvc.hpp | 0 .../include/boost/config.hpp | 0 .../boost/config/abi/borland_prefix.hpp | 0 .../boost/config/abi/borland_suffix.hpp | 0 .../include/boost/config/abi/msvc_prefix.hpp | 0 .../include/boost/config/abi/msvc_suffix.hpp | 0 .../include/boost/config/abi_prefix.hpp | 0 .../include/boost/config/abi_suffix.hpp | 0 .../include/boost/config/auto_link.hpp | 439 ++ .../include/boost/config/compiler/borland.hpp | 31 + .../include/boost/config/compiler/clang.hpp | 304 + .../boost/config/compiler/codegear.hpp | 31 + .../include/boost/config/compiler/comeau.hpp | 2 +- .../boost/config/compiler/common_edg.hpp | 31 + .../boost/config/compiler/compaq_cxx.hpp | 2 +- .../include/boost/config/compiler/cray.hpp | 6 +- .../boost/config/compiler/digitalmars.hpp | 125 + .../include/boost/config/compiler/gcc.hpp | 328 + .../include/boost/config/compiler/gcc_xml.hpp | 96 + .../boost/config/compiler/greenhills.hpp | 2 +- .../include/boost/config/compiler/hp_acc.hpp | 3 +- .../include/boost/config/compiler/intel.hpp | 543 ++ .../include/boost/config/compiler/kai.hpp | 2 +- .../boost/config/compiler/metrowerks.hpp | 31 + .../include/boost/config/compiler/mpw.hpp | 122 + .../include/boost/config/compiler/nvcc.hpp | 24 + .../boost/config/compiler/pathscale.hpp | 115 + .../include/boost/config/compiler/pgi.hpp | 30 + .../boost/config/compiler/sgi_mipspro.hpp | 2 +- .../boost/config/compiler/sunpro_cc.hpp | 76 +- .../include/boost/config/compiler/vacpp.hpp | 163 + .../include/boost/config/compiler/visualc.hpp | 106 +- .../include/boost/config/compiler/xlcpp.hpp | 262 + .../include/boost/config/no_tr1/cmath.hpp | 0 .../include/boost/config/no_tr1/complex.hpp | 0 .../boost/config/no_tr1/functional.hpp | 0 .../include/boost/config/no_tr1/memory.hpp | 0 .../include/boost/config/no_tr1/utility.hpp | 0 .../include/boost/config/platform/aix.hpp | 0 .../include/boost/config/platform/amigaos.hpp | 0 .../include/boost/config/platform/beos.hpp | 0 .../include/boost/config/platform/bsd.hpp | 0 .../boost/config/platform/cloudabi.hpp | 18 + .../include/boost/config/platform/cray.hpp | 0 .../include/boost/config/platform/cygwin.hpp | 0 .../include/boost/config/platform/haiku.hpp | 31 + .../include/boost/config/platform/hpux.hpp | 0 .../include/boost/config/platform/irix.hpp | 0 .../include/boost/config/platform/linux.hpp | 2 + .../include/boost/config/platform/macos.hpp | 2 +- .../include/boost/config/platform/qnxnto.hpp | 0 .../include/boost/config/platform/solaris.hpp | 5 +- .../include/boost/config/platform/symbian.hpp | 0 .../include/boost/config/platform/vms.hpp | 0 .../include/boost/config/platform/vxworks.hpp | 0 .../include/boost/config/platform/win32.hpp | 14 +- .../include/boost/config/posix_features.hpp | 0 .../include/boost/config/requires_threads.hpp | 0 .../boost/config/select_compiler_config.hpp | 148 + .../boost/config/select_platform_config.hpp | 8 + .../boost/config/select_stdlib_config.hpp | 20 +- .../boost/config/stdlib/dinkumware.hpp | 36 +- .../include/boost/config/stdlib/libcomo.hpp | 12 +- .../include/boost/config/stdlib/libcpp.hpp | 96 + .../boost/config/stdlib/libstdcpp3.hpp | 297 + .../include/boost/config/stdlib/modena.hpp | 10 + .../include/boost/config/stdlib/msl.hpp | 19 +- .../include/boost/config/stdlib/roguewave.hpp | 9 + .../include/boost/config/stdlib/sgi.hpp | 13 +- .../include/boost/config/stdlib/stlport.hpp | 18 +- .../include/boost/config/stdlib/vacpp.hpp | 64 + .../include/boost/config/suffix.hpp | 64 +- .../include/boost/config/user.hpp | 12 +- .../include/boost/config/warning_disable.hpp | 0 .../include/boost/container/adaptive_pool.hpp | 349 + .../include/boost/container/allocator.hpp | 105 +- .../boost/container/allocator_traits.hpp | 477 ++ .../include/boost/container/container_fwd.hpp | 317 + .../include/boost/container/deque.hpp | 2263 +++++++ .../container/detail/adaptive_node_pool.hpp | 12 +- .../detail/adaptive_node_pool_impl.hpp | 28 +- .../boost/container/detail/addressof.hpp | 41 + .../container/detail/advanced_insert_int.hpp | 477 ++ .../boost/container/detail/algorithm.hpp | 35 + .../boost/container/detail/algorithms.hpp | 0 .../boost/container/detail/alloc_helpers.hpp | 60 + .../boost/container/detail/alloc_lib.h | 122 +- .../container/detail/alloc_lib_auto_link.hpp | 0 .../container/detail/allocation_type.hpp | 8 +- .../detail/allocator_version_traits.hpp | 38 +- .../boost/container/detail/auto_link.hpp | 51 + .../boost/container/detail/block_list.hpp | 139 + .../boost/container/detail/block_slist.hpp | 157 + .../container/detail/compare_functors.hpp | 74 + .../boost/container/detail/config_begin.hpp | 53 + .../boost/container/detail/config_end.hpp | 13 + .../container/detail/construct_in_place.hpp | 96 + .../boost/container/detail/copy_move_algo.hpp | 1144 ++++ .../boost/container/detail/destroyers.hpp | 88 +- .../detail/dispatch_uses_allocator.hpp | 415 ++ .../boost/container/detail/dlmalloc.hpp | 103 + .../boost/container/detail/flat_tree.hpp | 1109 +++ .../container/detail/function_detector.hpp | 96 + .../boost/container/detail/hash_table.hpp | 24 +- .../boost/container/detail/is_sorted.hpp | 57 + .../boost/container/detail/iterator.hpp | 40 + .../detail/iterator_to_raw_pointer.hpp | 58 + .../boost/container/detail/iterators.hpp | 874 +++ .../boost/container/detail/math_functions.hpp | 8 + .../boost/container/detail/memory_util.hpp | 0 .../boost/container/detail/min_max.hpp | 37 + .../detail/minimal_char_traits_header.hpp | 32 + .../include/boost/container/detail/mpl.hpp | 86 + .../detail/multiallocation_chain.hpp | 22 +- .../include/boost/container/detail/mutex.hpp | 288 + .../boost/container/detail/next_capacity.hpp | 75 + .../container/detail/node_alloc_holder.hpp | 419 ++ .../boost/container/detail/node_pool.hpp | 12 +- .../boost/container/detail/node_pool_impl.hpp | 37 +- .../include/boost/container/detail/pair.hpp | 524 ++ .../boost/container/detail/placement_new.hpp | 30 + .../boost/container/detail/pool_common.hpp | 7 +- .../container/detail/pool_common_alloc.hpp | 20 +- .../boost/container/detail/pool_resource.hpp | 191 + .../boost/container/detail/preprocessor.hpp | 0 .../boost/container/detail/singleton.hpp | 121 + .../boost/container/detail/std_fwd.hpp | 56 + .../boost/container/detail/to_raw_pointer.hpp | 33 + .../container/detail/transform_iterator.hpp | 180 + .../include/boost/container/detail/tree.hpp | 1294 ++++ .../boost/container/detail/type_traits.hpp | 70 + .../boost/container/detail/utilities.hpp | 0 .../boost/container/detail/value_init.hpp | 8 +- .../detail/variadic_templates_tools.hpp | 31 +- .../boost/container/detail/version_type.hpp | 15 +- .../boost/container/detail/workaround.hpp | 110 + .../include/boost/container/flat_map.hpp | 2288 +++++++ .../include/boost/container/flat_set.hpp | 1432 ++++ .../include/boost/container/list.hpp | 1498 +++++ .../include/boost/container/map.hpp | 1870 +++++ .../include/boost/container/new_allocator.hpp | 179 + .../boost/container/node_allocator.hpp | 104 +- .../include/boost/container/node_handle.hpp | 396 ++ .../include/boost/container/options.hpp | 80 + .../include/boost/container/pmr/deque.hpp | 45 + .../include/boost/container/pmr/flat_map.hpp | 67 + .../include/boost/container/pmr/flat_set.hpp | 63 + .../boost/container/pmr/global_resource.hpp | 66 + .../include/boost/container/pmr/list.hpp | 45 + .../include/boost/container/pmr/map.hpp | 67 + .../boost/container/pmr/memory_resource.hpp | 101 + .../pmr/monotonic_buffer_resource.hpp | 180 + .../container/pmr/polymorphic_allocator.hpp | 166 + .../boost/container/pmr/pool_options.hpp | 52 + .../boost/container/pmr/resource_adaptor.hpp | 193 + .../include/boost/container/pmr/set.hpp | 63 + .../include/boost/container/pmr/slist.hpp | 45 + .../boost/container/pmr/small_vector.hpp | 45 + .../boost/container/pmr/stable_vector.hpp | 45 + .../include/boost/container/pmr/string.hpp | 50 + .../pmr/synchronized_pool_resource.hpp | 138 + .../pmr/unsynchronized_pool_resource.hpp | 194 + .../include/boost/container/pmr/vector.hpp | 45 + .../boost/container/scoped_allocator.hpp | 907 +++ .../boost/container/scoped_allocator_fwd.hpp | 71 + .../include/boost/container/set.hpp | 1255 ++++ .../include/boost/container/slist.hpp | 1720 +++++ .../include/boost/container/small_vector.hpp | 632 ++ .../include/boost/container/stable_vector.hpp | 2112 ++++++ .../include/boost/container/static_vector.hpp | 1227 ++++ .../include/boost/container/string.hpp | 3058 +++++++++ .../boost/container/throw_exception.hpp | 11 +- .../boost/container/uses_allocator.hpp | 169 + .../boost/container/uses_allocator_fwd.hpp | 73 + .../include/boost/container/vector.hpp | 3401 ++++++++++ .../boost-1.62.0/include/boost/convert.hpp | 216 + .../include/boost/core/addressof.hpp | 162 + .../include/boost/core/checked_delete.hpp | 0 .../include/boost/core/demangle.hpp | 16 +- .../include/boost/core/enable_if.hpp | 128 + .../boost/core/explicit_operator_bool.hpp | 0 .../include/boost/core/ignore_unused.hpp | 70 + .../include/boost/core/is_same.hpp | 0 .../include/boost/core/lightweight_test.hpp | 4 +- .../boost/core/lightweight_test_trait.hpp | 0 .../boost/core/no_exceptions_support.hpp | 0 .../include/boost/core/noncopyable.hpp | 0 .../include/boost/core/null_deleter.hpp | 0 .../include/boost/core/ref.hpp | 0 .../include/boost/core/scoped_enum.hpp | 194 + .../include/boost/core/swap.hpp | 0 .../include/boost/core/typeinfo.hpp | 0 .../include/boost/core/underlying_type.hpp | 4 +- .../include/boost/crc.hpp | 0 .../include/boost/cregex.hpp | 0 .../boost-1.62.0/include/boost/cstdfloat.hpp | 58 + .../include/boost/cstdint.hpp | 11 +- .../include/boost/cstdlib.hpp | 0 .../include/boost/current_function.hpp | 0 .../include/boost/cxx11_char_types.hpp | 70 + .../include/boost/date_time.hpp | 0 .../boost/date_time/adjust_functors.hpp | 0 .../boost/date_time/c_local_time_adjustor.hpp | 0 .../include/boost/date_time/c_time.hpp | 0 .../boost/date_time/compiler_config.hpp | 0 .../boost/date_time/constrained_value.hpp | 0 .../include/boost/date_time/date.hpp | 4 +- .../boost/date_time/date_clock_device.hpp | 0 .../include/boost/date_time/date_defs.hpp | 0 .../include/boost/date_time/date_duration.hpp | 0 .../boost/date_time/date_duration_types.hpp | 0 .../include/boost/date_time/date_facet.hpp | 0 .../boost/date_time/date_format_simple.hpp | 0 .../boost/date_time/date_formatting.hpp | 0 .../date_time/date_formatting_limited.hpp | 0 .../date_time/date_formatting_locales.hpp | 0 .../date_time/date_generator_formatter.hpp | 0 .../boost/date_time/date_generator_parser.hpp | 0 .../boost/date_time/date_generators.hpp | 0 .../include/boost/date_time/date_iterator.hpp | 0 .../boost/date_time/date_names_put.hpp | 0 .../include/boost/date_time/date_parsing.hpp | 0 .../include/boost/date_time/dst_rules.hpp | 0 .../date_time/dst_transition_generators.hpp | 0 .../boost/date_time/filetime_functions.hpp | 0 .../boost/date_time/format_date_parser.hpp | 0 .../boost/date_time/gregorian/conversion.hpp | 0 .../boost/date_time/gregorian/formatters.hpp | 0 .../gregorian/formatters_limited.hpp | 0 .../date_time/gregorian/greg_calendar.hpp | 0 .../boost/date_time/gregorian/greg_date.hpp | 0 .../boost/date_time/gregorian/greg_day.hpp | 0 .../date_time/gregorian/greg_day_of_year.hpp | 0 .../date_time/gregorian/greg_duration.hpp | 0 .../gregorian/greg_duration_types.hpp | 0 .../boost/date_time/gregorian/greg_facet.hpp | 0 .../boost/date_time/gregorian/greg_month.hpp | 0 .../date_time/gregorian/greg_serialize.hpp | 0 .../date_time/gregorian/greg_weekday.hpp | 0 .../boost/date_time/gregorian/greg_year.hpp | 0 .../boost/date_time/gregorian/greg_ymd.hpp | 0 .../boost/date_time/gregorian/gregorian.hpp | 0 .../date_time/gregorian/gregorian_io.hpp | 0 .../date_time/gregorian/gregorian_types.hpp | 0 .../boost/date_time/gregorian/parsers.hpp | 0 .../boost/date_time/gregorian_calendar.hpp | 0 .../boost/date_time/gregorian_calendar.ipp | 10 +- .../include/boost/date_time/int_adapter.hpp | 4 +- .../include/boost/date_time/iso_format.hpp | 0 .../boost/date_time/local_time/conversion.hpp | 0 .../date_time/local_time/custom_time_zone.hpp | 0 .../local_time/date_duration_operators.hpp | 0 .../local_time/dst_transition_day_rules.hpp | 0 .../date_time/local_time/local_date_time.hpp | 0 .../boost/date_time/local_time/local_time.hpp | 0 .../date_time/local_time/local_time_io.hpp | 0 .../date_time/local_time/local_time_types.hpp | 0 .../date_time/local_time/posix_time_zone.hpp | 0 .../date_time/local_time/tz_database.hpp | 0 .../boost/date_time/local_time_adjustor.hpp | 0 .../boost/date_time/local_timezone_defs.hpp | 0 .../include/boost/date_time/locale_config.hpp | 0 .../boost/date_time/microsec_time_clock.hpp | 2 +- .../boost/date_time/parse_format_base.hpp | 0 .../include/boost/date_time/period.hpp | 0 .../boost/date_time/period_formatter.hpp | 0 .../include/boost/date_time/period_parser.hpp | 0 .../boost/date_time/posix_time/conversion.hpp | 8 + .../posix_time/date_duration_operators.hpp | 0 .../boost/date_time/posix_time/posix_time.hpp | 0 .../posix_time/posix_time_config.hpp | 0 .../posix_time/posix_time_duration.hpp | 6 +- .../date_time/posix_time/posix_time_io.hpp | 0 .../posix_time/posix_time_legacy_io.hpp | 0 .../posix_time/posix_time_system.hpp | 0 .../date_time/posix_time/posix_time_types.hpp | 0 .../boost/date_time/posix_time/ptime.hpp | 0 .../date_time/posix_time/time_formatters.hpp | 0 .../posix_time/time_formatters_limited.hpp | 0 .../date_time/posix_time/time_parsers.hpp | 4 + .../date_time/posix_time/time_period.hpp | 0 .../date_time/posix_time/time_serialize.hpp | 0 .../include/boost/date_time/special_defs.hpp | 0 .../date_time/special_values_formatter.hpp | 0 .../boost/date_time/special_values_parser.hpp | 0 .../boost/date_time/string_convert.hpp | 0 .../boost/date_time/string_parse_tree.hpp | 0 .../boost/date_time/strings_from_facet.hpp | 0 .../include/boost/date_time/time.hpp | 193 + .../include/boost/date_time/time_clock.hpp | 0 .../include/boost/date_time/time_defs.hpp | 0 .../include/boost/date_time/time_duration.hpp | 2 + .../include/boost/date_time/time_facet.hpp | 5 +- .../date_time/time_formatting_streams.hpp | 0 .../include/boost/date_time/time_iterator.hpp | 0 .../include/boost/date_time/time_parsing.hpp | 0 .../date_time/time_resolution_traits.hpp | 10 +- .../boost/date_time/time_system_counted.hpp | 2 +- .../boost/date_time/time_system_split.hpp | 0 .../boost/date_time/time_zone_base.hpp | 0 .../boost/date_time/time_zone_names.hpp | 0 .../include/boost/date_time/tz_db_base.hpp | 0 .../include/boost/date_time/wrapping_int.hpp | 0 .../boost/date_time/year_month_day.hpp | 0 .../include/boost/detail/algorithm.hpp | 0 .../boost/detail/allocator_utilities.hpp | 0 .../include/boost/detail/atomic_count.hpp | 0 .../boost/detail/atomic_redef_macros.hpp | 0 .../boost/detail/atomic_undef_macros.hpp | 0 .../include/boost/detail/basic_pointerbuf.hpp | 0 .../include/boost/detail/binary_search.hpp | 0 .../include/boost/detail/bitmask.hpp | 0 .../include/boost/detail/call_traits.hpp | 0 .../include/boost/detail/catch_exceptions.hpp | 0 .../include/boost/detail/compressed_pair.hpp | 0 .../include/boost/detail/container_fwd.hpp | 0 .../include/boost/detail/dynamic_bitset.hpp | 0 .../include/boost/detail/endian.hpp | 0 .../include/boost/detail/fenv.hpp | 0 .../boost/detail/has_default_constructor.hpp | 0 .../include/boost/detail/identifier.hpp | 0 .../include/boost/detail/indirect_traits.hpp | 1 - .../include/boost/detail/interlocked.hpp | 218 + .../include/boost/detail/is_incrementable.hpp | 54 +- .../include/boost/detail/is_sorted.hpp | 0 .../include/boost/detail/is_xxx.hpp | 0 .../include/boost/detail/iterator.hpp | 39 + .../include/boost/detail/lcast_precision.hpp | 0 .../include/boost/detail/lightweight_main.hpp | 0 .../boost/detail/lightweight_mutex.hpp | 0 .../include/boost/detail/lightweight_test.hpp | 0 .../boost/detail/lightweight_test_report.hpp | 56 + .../boost/detail/lightweight_thread.hpp | 0 .../boost/detail/named_template_params.hpp | 0 .../boost/detail/no_exceptions_support.hpp | 0 .../include/boost/detail/numeric_traits.hpp | 0 .../boost/detail/ob_compressed_pair.hpp | 0 .../include/boost/detail/quick_allocator.hpp | 0 .../boost/detail/reference_content.hpp | 0 .../boost/detail/scoped_enum_emulation.hpp | 0 .../include/boost/detail/select_type.hpp | 0 .../include/boost/detail/sp_typeinfo.hpp | 0 .../boost/detail/templated_streams.hpp | 0 .../boost/detail/utf8_codecvt_facet.hpp | 216 + .../boost/detail/utf8_codecvt_facet.ipp | 27 +- .../boost/detail/winapi/GetCurrentProcess.hpp | 25 + .../boost/detail/winapi/GetCurrentThread.hpp | 25 + .../boost/detail/winapi/GetLastError.hpp | 25 + .../boost/detail/winapi/GetProcessTimes.hpp | 24 + .../boost/detail/winapi/GetThreadTimes.hpp | 25 + .../include/boost/detail/winapi/LocalFree.hpp | 0 .../boost/detail/winapi/access_rights.hpp | 84 + .../include/boost/detail/winapi/apc.hpp | 47 + .../boost/detail/winapi/basic_types.hpp | 233 + .../winapi/character_code_conversion.hpp | 108 + .../detail/winapi/condition_variable.hpp | 123 + .../include/boost/detail/winapi/config.hpp | 73 + .../boost/detail/winapi/critical_section.hpp | 184 + .../include/boost/detail/winapi/crypt.hpp | 193 + .../include/boost/detail/winapi/dbghelp.hpp | 171 + .../boost/detail/winapi/detail/cast_ptr.hpp | 40 + .../detail/winapi/directory_management.hpp | 94 + .../include/boost/detail/winapi/dll.hpp | 221 + .../boost/detail/winapi/environment.hpp | 118 + .../boost/detail/winapi/error_codes.hpp | 2959 ++++++++ .../boost/detail/winapi/error_handling.hpp | 143 + .../include/boost/detail/winapi/event.hpp | 190 + .../boost/detail/winapi/file_management.hpp | 511 ++ .../boost/detail/winapi/file_mapping.hpp | 238 + .../detail/winapi/get_current_process.hpp | 34 + .../detail/winapi/get_current_process_id.hpp | 33 + .../detail/winapi/get_current_thread.hpp | 34 + .../detail/winapi/get_current_thread_id.hpp | 34 + .../boost/detail/winapi/get_last_error.hpp | 33 + .../boost/detail/winapi/get_process_times.hpp | 60 + .../detail/winapi/get_system_directory.hpp | 63 + .../boost/detail/winapi/get_thread_times.hpp | 55 + .../boost/detail/winapi/handle_info.hpp | 62 + .../include/boost/detail/winapi/handles.hpp | 73 + .../boost/detail/winapi/heap_memory.hpp | 72 + .../include/boost/detail/winapi/init_once.hpp | 123 + .../include/boost/detail/winapi/jobs.hpp | 115 + .../include/boost/detail/winapi/limits.hpp | 51 + .../boost/detail/winapi/local_memory.hpp | 51 + .../include/boost/detail/winapi/memory.hpp | 20 + .../include/boost/detail/winapi/mutex.hpp | 184 + .../boost/detail/winapi/overlapped.hpp | 51 + .../detail/winapi/page_protection_flags.hpp | 56 + .../include/boost/detail/winapi/pipes.hpp | 317 + .../boost/detail/winapi/priority_class.hpp | 78 + .../include/boost/detail/winapi/process.hpp | 421 ++ .../include/boost/detail/winapi/security.hpp | 80 + .../include/boost/detail/winapi/semaphore.hpp | 177 + .../include/boost/detail/winapi/shell.hpp | 145 + .../boost/detail/winapi/show_window.hpp | 105 + .../include/boost/detail/winapi/srw_lock.hpp | 116 + .../boost/detail/winapi/synchronization.hpp | 28 + .../include/boost/detail/winapi/system.hpp | 73 + .../include/boost/detail/winapi/thread.hpp | 42 + .../boost/detail/winapi/thread_pool.hpp | 126 + .../include/boost/detail/winapi/time.hpp | 139 + .../include/boost/detail/winapi/timers.hpp | 48 + .../include/boost/detail/winapi/tls.hpp | 60 + .../include/boost/detail/winapi/wait.hpp | 84 + .../boost/detail/winapi/waitable_timer.hpp | 145 + .../include/boost/detail/workaround.hpp | 0 .../include/boost/dynamic_bitset.hpp | 0 .../include/boost/dynamic_bitset_fwd.hpp | 0 .../include/boost/enable_shared_from_this.hpp | 0 .../include/boost/exception/N3757.hpp | 0 .../include/boost/exception/all.hpp | 0 .../exception/current_exception_cast.hpp | 0 .../detail/clone_current_exception.hpp | 0 .../exception/detail/error_info_impl.hpp | 85 + .../boost/exception/detail/exception_ptr.hpp | 8 +- .../exception/detail/is_output_streamable.hpp | 0 .../exception/detail/object_hex_dump.hpp | 0 .../boost/exception/detail/type_info.hpp | 16 +- .../exception/diagnostic_information.hpp | 8 +- .../exception/enable_current_exception.hpp | 0 .../boost/exception/enable_error_info.hpp | 0 .../boost/exception/errinfo_api_function.hpp | 0 .../boost/exception/errinfo_at_line.hpp | 0 .../include/boost/exception/errinfo_errno.hpp | 3 +- .../boost/exception/errinfo_file_handle.hpp | 0 .../boost/exception/errinfo_file_name.hpp | 0 .../exception/errinfo_file_open_mode.hpp | 0 .../exception/errinfo_nested_exception.hpp | 0 .../exception/errinfo_type_info_name.hpp | 0 .../include/boost/exception/error_info.hpp | 0 .../include/boost/exception/exception.hpp | 27 + .../boost/exception/get_error_info.hpp | 0 .../include/boost/exception/info.hpp | 311 + .../include/boost/exception/info_tuple.hpp | 0 .../include/boost/exception/to_string.hpp | 0 .../boost/exception/to_string_stub.hpp | 0 .../include/boost/exception_ptr.hpp | 0 .../include/boost/filesystem.hpp | 1 + .../include/boost/flyweight.hpp | 0 .../include/boost/foreach.hpp | 10 +- .../include/boost/foreach_fwd.hpp | 0 .../include/boost/format.hpp | 0 .../include/boost/format/alt_sstream.hpp | 0 .../include/boost/format/alt_sstream_impl.hpp | 0 .../format/detail/compat_workarounds.hpp | 0 .../boost/format/detail/config_macros.hpp | 0 .../format/detail/msvc_disambiguater.hpp | 0 .../boost/format/detail/unset_macros.hpp | 0 .../format/detail/workarounds_gcc-2_95.hpp | 0 .../format/detail/workarounds_stlport.hpp | 0 .../include/boost/format/exceptions.hpp | 2 +- .../include/boost/format/feed_args.hpp | 6 +- .../include/boost/format/format_class.hpp | 0 .../include/boost/format/format_fwd.hpp | 0 .../boost/format/format_implementation.hpp | 0 .../include/boost/format/free_funcs.hpp | 0 .../include/boost/format/group.hpp | 0 .../include/boost/format/internals.hpp | 0 .../include/boost/format/internals_fwd.hpp | 0 .../include/boost/format/parsing.hpp | 9 +- .../include/boost/function.hpp | 0 .../function/detail/function_iterate.hpp | 0 .../function/detail/gen_maybe_include.pl | 0 .../boost/function/detail/maybe_include.hpp | 0 .../boost/function/detail/prologue.hpp | 0 .../include/boost/function/function0.hpp | 0 .../include/boost/function/function1.hpp | 0 .../include/boost/function/function10.hpp | 0 .../include/boost/function/function2.hpp | 0 .../include/boost/function/function3.hpp | 0 .../include/boost/function/function4.hpp | 0 .../include/boost/function/function5.hpp | 0 .../include/boost/function/function6.hpp | 0 .../include/boost/function/function7.hpp | 0 .../include/boost/function/function8.hpp | 0 .../include/boost/function/function9.hpp | 0 .../include/boost/function/function_base.hpp | 272 +- .../include/boost/function/function_fwd.hpp | 0 .../boost/function/function_template.hpp | 176 +- .../boost/function/function_typeof.hpp | 0 .../include/boost/function/gen_function_N.pl | 0 .../include/boost/function_equal.hpp | 0 .../boost/function_output_iterator.hpp | 12 +- .../boost/function_types/components.hpp | 7 - .../boost/function_types/config/cc_names.hpp | 0 .../boost/function_types/config/compiler.hpp | 0 .../boost/function_types/config/config.hpp | 0 .../function_types/detail/class_transform.hpp | 2 - .../function_types/detail/classifier.hpp | 9 +- .../detail/classifier_impl/arity10_0.hpp | 0 .../detail/classifier_impl/arity10_1.hpp | 0 .../detail/classifier_impl/arity20_0.hpp | 0 .../detail/classifier_impl/arity20_1.hpp | 0 .../detail/classifier_impl/arity30_0.hpp | 0 .../detail/classifier_impl/arity30_1.hpp | 0 .../detail/classifier_impl/arity40_0.hpp | 0 .../detail/classifier_impl/arity40_1.hpp | 0 .../detail/classifier_impl/arity50_0.hpp | 0 .../detail/classifier_impl/arity50_1.hpp | 0 .../detail/classifier_impl/master.hpp | 0 .../detail/components_as_mpl_sequence.hpp | 0 .../detail/components_impl/arity10_0.hpp | 0 .../detail/components_impl/arity10_1.hpp | 0 .../detail/components_impl/arity20_0.hpp | 0 .../detail/components_impl/arity20_1.hpp | 0 .../detail/components_impl/arity30_0.hpp | 0 .../detail/components_impl/arity30_1.hpp | 0 .../detail/components_impl/arity40_0.hpp | 0 .../detail/components_impl/arity40_1.hpp | 0 .../detail/components_impl/arity50_0.hpp | 0 .../detail/components_impl/arity50_1.hpp | 0 .../detail/components_impl/master.hpp | 0 .../boost/function_types/detail/cv_traits.hpp | 6 +- .../detail/encoding/aliases_def.hpp | 0 .../detail/encoding/aliases_undef.hpp | 0 .../function_types/detail/encoding/def.hpp | 0 .../function_types/detail/encoding/undef.hpp | 0 .../function_types/detail/pp_arity_loop.hpp | 0 .../detail/pp_cc_loop/master.hpp | 0 .../detail/pp_cc_loop/preprocessed.hpp | 0 .../boost/function_types/detail/pp_loop.hpp | 0 .../detail/pp_retag_default_cc/master.hpp | 0 .../pp_retag_default_cc/preprocessed.hpp | 0 .../function_types/detail/pp_tags/cc_tag.hpp | 0 .../function_types/detail/pp_tags/master.hpp | 0 .../detail/pp_tags/preprocessed.hpp | 0 .../detail/pp_variate_loop/master.hpp | 0 .../detail/pp_variate_loop/preprocessed.hpp | 0 .../detail/retag_default_cc.hpp | 0 .../function_types/detail/synthesize.hpp | 0 .../detail/synthesize_impl/arity10_0.hpp | 0 .../detail/synthesize_impl/arity10_1.hpp | 0 .../detail/synthesize_impl/arity20_0.hpp | 0 .../detail/synthesize_impl/arity20_1.hpp | 0 .../detail/synthesize_impl/arity30_0.hpp | 0 .../detail/synthesize_impl/arity30_1.hpp | 0 .../detail/synthesize_impl/arity40_0.hpp | 0 .../detail/synthesize_impl/arity40_1.hpp | 0 .../detail/synthesize_impl/arity50_0.hpp | 0 .../detail/synthesize_impl/arity50_1.hpp | 0 .../detail/synthesize_impl/master.hpp | 0 .../function_types/detail/to_sequence.hpp | 2 - .../boost/function_types/function_arity.hpp | 2 - .../boost/function_types/function_pointer.hpp | 2 - .../function_types/function_reference.hpp | 2 - .../boost/function_types/function_type.hpp | 1 - .../function_types/is_callable_builtin.hpp | 2 - .../boost/function_types/is_function.hpp | 32 + .../function_types/is_function_pointer.hpp | 2 - .../function_types/is_function_reference.hpp | 2 - .../is_member_function_pointer.hpp | 31 + .../is_member_object_pointer.hpp | 32 + .../function_types/is_member_pointer.hpp | 32 + .../is_nonmember_callable_builtin.hpp | 2 - .../member_function_pointer.hpp | 2 - .../function_types/member_object_pointer.hpp | 2 - .../boost/function_types/parameter_types.hpp | 2 - .../boost/function_types/property_tags.hpp | 2 - .../boost/function_types/result_type.hpp | 2 - .../include/boost/functional.hpp | 0 .../include/boost/functional/factory.hpp | 179 + .../boost/functional/forward_adapter.hpp | 33 +- .../include/boost/functional/hash.hpp | 0 .../hash/detail/float_functions.hpp | 0 .../functional/hash/detail/hash_float.hpp | 2 +- .../boost/functional/hash/detail/limits.hpp | 0 .../boost/functional/hash/extensions.hpp | 0 .../include/boost/functional/hash/hash.hpp | 561 ++ .../boost/functional/hash/hash_fwd.hpp | 0 .../include/boost/functional/hash_fwd.hpp | 0 .../lightweight_forward_adapter.hpp | 33 +- .../boost/functional/overloaded_function.hpp | 0 .../functional/overloaded_function/config.hpp | 0 .../overloaded_function/detail/base.hpp | 0 .../detail/function_type.hpp | 0 .../boost/functional/value_factory.hpp | 1 - .../include/boost/fusion/adapted.hpp | 0 .../include/boost/fusion/adapted/adt.hpp | 0 .../boost/fusion/adapted/adt/adapt_adt.hpp | 26 +- .../fusion/adapted/adt/adapt_adt_named.hpp | 0 .../fusion/adapted/adt/adapt_assoc_adt.hpp | 26 +- .../adapted/adt/adapt_assoc_adt_named.hpp | 0 .../fusion/adapted/adt/detail/adapt_base.hpp | 301 + .../detail/adapt_base_assoc_attr_filler.hpp | 64 + .../adt/detail/adapt_base_attr_filler.hpp | 92 + .../fusion/adapted/adt/detail/extension.hpp | 6 +- .../include/boost/fusion/adapted/array.hpp | 0 .../boost/fusion/adapted/array/at_impl.hpp | 40 + .../boost/fusion/adapted/array/begin_impl.hpp | 44 + .../fusion/adapted/array/category_of_impl.hpp | 0 .../boost/fusion/adapted/array/deref_impl.hpp | 42 + .../boost/fusion/adapted/array/end_impl.hpp | 46 + .../fusion/adapted/array/is_sequence_impl.hpp | 0 .../fusion/adapted/array/is_view_impl.hpp | 0 .../boost/fusion/adapted/array/size_impl.hpp | 0 .../boost/fusion/adapted/array/tag_of.hpp | 0 .../fusion/adapted/array/value_at_impl.hpp | 0 .../fusion/adapted/array/value_of_impl.hpp | 0 .../boost/fusion/adapted/boost_array.hpp | 0 .../adapted/boost_array/array_iterator.hpp | 17 +- .../adapted/boost_array/detail/at_impl.hpp | 47 + .../adapted/boost_array/detail/begin_impl.hpp | 42 + .../boost_array/detail/category_of_impl.hpp | 0 .../adapted/boost_array/detail/end_impl.hpp | 42 + .../boost_array/detail/is_sequence_impl.hpp | 0 .../boost_array/detail/is_view_impl.hpp | 0 .../adapted/boost_array/detail/size_impl.hpp | 0 .../boost_array/detail/value_at_impl.hpp | 0 .../fusion/adapted/boost_array/tag_of.hpp | 0 .../boost/fusion/adapted/boost_tuple.hpp | 2 + .../boost_tuple/boost_tuple_iterator.hpp | 29 +- .../adapted/boost_tuple/detail/at_impl.hpp | 0 .../adapted/boost_tuple/detail/begin_impl.hpp | 0 .../adapted/boost_tuple/detail/build_cons.hpp | 59 + .../boost_tuple/detail/category_of_impl.hpp | 0 .../boost_tuple/detail/convert_impl.hpp | 50 + .../adapted/boost_tuple/detail/end_impl.hpp | 0 .../boost_tuple/detail/is_sequence_impl.hpp | 0 .../boost_tuple/detail/is_view_impl.hpp | 0 .../adapted/boost_tuple/detail/size_impl.hpp | 0 .../boost_tuple/detail/value_at_impl.hpp | 0 .../fusion/adapted/boost_tuple/mpl/clear.hpp | 23 + .../fusion/adapted/boost_tuple/tag_of.hpp | 0 .../include/boost/fusion/adapted/mpl.hpp | 0 .../fusion/adapted/mpl/detail/at_impl.hpp | 42 + .../fusion/adapted/mpl/detail/begin_impl.hpp | 47 + .../adapted/mpl/detail/category_of_impl.hpp | 0 .../fusion/adapted/mpl/detail/empty_impl.hpp | 0 .../fusion/adapted/mpl/detail/end_impl.hpp | 47 + .../adapted/mpl/detail/has_key_impl.hpp | 0 .../adapted/mpl/detail/is_sequence_impl.hpp | 0 .../adapted/mpl/detail/is_view_impl.hpp | 0 .../fusion/adapted/mpl/detail/size_impl.hpp | 0 .../adapted/mpl/detail/value_at_impl.hpp | 0 .../boost/fusion/adapted/mpl/mpl_iterator.hpp | 19 +- .../include/boost/fusion/adapted/std_pair.hpp | 0 .../boost/fusion/adapted/std_tuple.hpp | 24 + .../adapted/std_tuple/detail/at_impl.hpp | 54 + .../adapted/std_tuple/detail/begin_impl.hpp | 41 + .../std_tuple/detail/build_std_tuple.hpp | 88 + .../std_tuple/detail/category_of_impl.hpp | 0 .../adapted/std_tuple/detail/convert_impl.hpp | 48 + .../adapted/std_tuple/detail/end_impl.hpp | 45 + .../std_tuple/detail/is_sequence_impl.hpp | 0 .../adapted/std_tuple/detail/is_view_impl.hpp | 0 .../adapted/std_tuple/detail/size_impl.hpp | 0 .../std_tuple/detail/value_at_impl.hpp | 0 .../fusion/adapted/std_tuple/mpl/clear.hpp | 23 + .../adapted/std_tuple/std_tuple_iterator.hpp | 18 +- .../boost/fusion/adapted/std_tuple/tag_of.hpp | 0 .../include/boost/fusion/adapted/struct.hpp | 0 .../adapted/struct/adapt_assoc_struct.hpp | 31 +- .../struct/adapt_assoc_struct_named.hpp | 29 + .../fusion/adapted/struct/adapt_struct.hpp | 125 + .../adapted/struct/adapt_struct_named.hpp | 55 + .../adapted/struct/define_assoc_struct.hpp | 12 +- .../fusion/adapted/struct/define_struct.hpp | 43 + .../adapted/struct/define_struct_inline.hpp | 0 .../adapted/struct/detail/adapt_auto.hpp | 14 + .../adapted/struct/detail/adapt_base.hpp | 309 + .../detail/adapt_base_assoc_attr_filler.hpp | 73 + .../struct/detail/adapt_base_attr_filler.hpp | 70 + .../adapted/struct/detail/adapt_is_tpl.hpp | 16 + .../fusion/adapted/struct/detail/at_impl.hpp | 0 .../adapted/struct/detail/begin_impl.hpp | 70 + .../struct/detail/category_of_impl.hpp | 0 .../adapted/struct/detail/define_struct.hpp | 369 + .../struct/detail/define_struct_inline.hpp | 45 +- .../adapted/struct/detail/deref_data_impl.hpp | 0 .../adapted/struct/detail/deref_impl.hpp | 41 + .../fusion/adapted/struct/detail/end_impl.hpp | 70 + .../adapted/struct/detail/extension.hpp | 0 .../struct/detail/is_sequence_impl.hpp | 0 .../adapted/struct/detail/is_view_impl.hpp | 0 .../adapted/struct/detail/key_of_impl.hpp | 0 .../adapted/struct/detail/namespace.hpp | 0 .../struct/detail/preprocessor/is_seq.hpp | 39 + .../adapted/struct/detail/proxy_type.hpp | 4 +- .../adapted/struct/detail/size_impl.hpp | 0 .../adapted/struct/detail/value_at_impl.hpp | 0 .../struct/detail/value_of_data_impl.hpp | 0 .../adapted/struct/detail/value_of_impl.hpp | 0 .../include/boost/fusion/algorithm.hpp | 0 .../boost/fusion/algorithm/auxiliary.hpp | 16 + .../boost/fusion/algorithm/auxiliary/copy.hpp | 91 + .../boost/fusion/algorithm/auxiliary/move.hpp | 93 + .../boost/fusion/algorithm/iteration.hpp | 0 .../fusion/algorithm/iteration/accumulate.hpp | 45 + .../algorithm/iteration/accumulate_fwd.hpp | 33 + .../algorithm/iteration/detail/fold.hpp | 294 + .../algorithm/iteration/detail/for_each.hpp | 149 + .../iteration/detail/preprocessed/fold.hpp | 189 + .../detail/preprocessed/iter_fold.hpp | 188 + .../detail/preprocessed/reverse_fold.hpp | 188 + .../detail/preprocessed/reverse_iter_fold.hpp | 188 + .../iteration/detail/segmented_fold.hpp | 13 +- .../iteration/detail/segmented_for_each.hpp | 6 +- .../boost/fusion/algorithm/iteration/fold.hpp | 59 + .../fusion/algorithm/iteration/fold_fwd.hpp | 20 +- .../fusion/algorithm/iteration/for_each.hpp | 54 + .../algorithm/iteration/for_each_fwd.hpp | 10 +- .../fusion/algorithm/iteration/iter_fold.hpp | 60 + .../algorithm/iteration/iter_fold_fwd.hpp | 20 +- .../algorithm/iteration/reverse_fold.hpp | 60 + .../algorithm/iteration/reverse_fold_fwd.hpp | 20 +- .../algorithm/iteration/reverse_iter_fold.hpp | 61 + .../iteration/reverse_iter_fold_fwd.hpp | 20 +- .../include/boost/fusion/algorithm/query.hpp | 0 .../boost/fusion/algorithm/query/all.hpp | 36 + .../boost/fusion/algorithm/query/any.hpp | 37 + .../boost/fusion/algorithm/query/count.hpp | 43 + .../boost/fusion/algorithm/query/count_if.hpp | 43 + .../fusion/algorithm/query/detail/all.hpp | 137 + .../fusion/algorithm/query/detail/any.hpp | 140 + .../fusion/algorithm/query/detail/count.hpp | 83 + .../algorithm/query/detail/count_if.hpp | 180 + .../fusion/algorithm/query/detail/find_if.hpp | 260 + .../algorithm/query/detail/segmented_find.hpp | 8 +- .../query/detail/segmented_find_if.hpp | 8 +- .../boost/fusion/algorithm/query/find.hpp | 6 +- .../boost/fusion/algorithm/query/find_fwd.hpp | 6 +- .../boost/fusion/algorithm/query/find_if.hpp | 67 + .../fusion/algorithm/query/find_if_fwd.hpp | 8 +- .../boost/fusion/algorithm/query/none.hpp | 35 + .../boost/fusion/algorithm/transformation.hpp | 0 .../fusion/algorithm/transformation/clear.hpp | 34 + .../detail/preprocessed/zip.hpp | 0 .../detail/preprocessed/zip10.hpp | 18 +- .../detail/preprocessed/zip20.hpp | 38 +- .../detail/preprocessed/zip30.hpp | 58 +- .../detail/preprocessed/zip40.hpp | 78 +- .../detail/preprocessed/zip50.hpp | 98 +- .../transformation/detail/replace.hpp | 78 + .../transformation/detail/replace_if.hpp | 78 + .../fusion/algorithm/transformation/erase.hpp | 21 +- .../algorithm/transformation/erase_key.hpp | 2 +- .../algorithm/transformation/filter.hpp | 4 +- .../algorithm/transformation/filter_if.hpp | 4 +- .../algorithm/transformation/flatten.hpp | 8 +- .../algorithm/transformation/insert.hpp | 6 +- .../algorithm/transformation/insert_range.hpp | 3 +- .../fusion/algorithm/transformation/join.hpp | 2 +- .../algorithm/transformation/pop_back.hpp | 10 +- .../algorithm/transformation/pop_front.hpp | 6 +- .../algorithm/transformation/push_back.hpp | 47 + .../algorithm/transformation/push_front.hpp | 47 + .../algorithm/transformation/remove.hpp | 2 +- .../algorithm/transformation/remove_if.hpp | 2 +- .../algorithm/transformation/replace.hpp | 43 + .../algorithm/transformation/replace_if.hpp | 44 + .../algorithm/transformation/reverse.hpp | 5 +- .../algorithm/transformation/transform.hpp | 4 +- .../fusion/algorithm/transformation/zip.hpp | 3 +- .../include/boost/fusion/container.hpp | 0 .../include/boost/fusion/container/deque.hpp | 0 .../container/deque/back_extended_deque.hpp | 9 +- .../boost/fusion/container/deque/convert.hpp | 61 + .../boost/fusion/container/deque/deque.hpp | 189 + .../fusion/container/deque/deque_fwd.hpp | 14 +- .../fusion/container/deque/deque_iterator.hpp | 22 +- .../fusion/container/deque/detail/at_impl.hpp | 67 + .../container/deque/detail/begin_impl.hpp | 43 + .../container/deque/detail/build_deque.hpp | 78 + .../container/deque/detail/convert_impl.hpp | 56 + .../container/deque/detail/cpp03/as_deque.hpp | 11 +- .../deque/detail/cpp03/build_deque.hpp | 55 + .../container/deque/detail/cpp03/deque.hpp | 202 + .../deque/detail/cpp03/deque_forward_ctor.hpp | 10 +- .../deque/detail/cpp03/deque_fwd.hpp | 0 .../deque/detail/cpp03/deque_initial_size.hpp | 0 .../deque/detail/cpp03/deque_keyed_values.hpp | 112 + .../detail/cpp03/deque_keyed_values_call.hpp | 10 +- .../container/deque/detail/cpp03/limits.hpp | 32 + .../detail/cpp03/preprocessed/as_deque.hpp | 0 .../detail/cpp03/preprocessed/as_deque10.hpp | 22 +- .../detail/cpp03/preprocessed/as_deque20.hpp | 42 +- .../detail/cpp03/preprocessed/as_deque30.hpp | 62 +- .../detail/cpp03/preprocessed/as_deque40.hpp | 82 +- .../detail/cpp03/preprocessed/as_deque50.hpp | 102 +- .../deque/detail/cpp03/preprocessed/deque.hpp | 0 .../detail/cpp03/preprocessed/deque10.hpp | 276 + .../detail/cpp03/preprocessed/deque10_fwd.hpp | 0 .../detail/cpp03/preprocessed/deque20.hpp | 456 ++ .../detail/cpp03/preprocessed/deque20_fwd.hpp | 0 .../detail/cpp03/preprocessed/deque30.hpp | 636 ++ .../detail/cpp03/preprocessed/deque30_fwd.hpp | 0 .../detail/cpp03/preprocessed/deque40.hpp | 816 +++ .../detail/cpp03/preprocessed/deque40_fwd.hpp | 0 .../detail/cpp03/preprocessed/deque50.hpp | 996 +++ .../detail/cpp03/preprocessed/deque50_fwd.hpp | 0 .../detail/cpp03/preprocessed/deque_fwd.hpp | 0 .../cpp03/preprocessed/deque_initial_size.hpp | 0 .../preprocessed/deque_initial_size10.hpp | 0 .../preprocessed/deque_initial_size20.hpp | 0 .../preprocessed/deque_initial_size30.hpp | 0 .../preprocessed/deque_initial_size40.hpp | 0 .../preprocessed/deque_initial_size50.hpp | 0 .../cpp03/preprocessed/deque_keyed_values.hpp | 0 .../preprocessed/deque_keyed_values10.hpp | 252 + .../preprocessed/deque_keyed_values20.hpp | 462 ++ .../preprocessed/deque_keyed_values30.hpp | 672 ++ .../preprocessed/deque_keyed_values40.hpp | 882 +++ .../preprocessed/deque_keyed_values50.hpp | 1092 +++ .../deque/detail/deque_keyed_values.hpp | 76 + .../container/deque/detail/end_impl.hpp | 43 + .../deque/detail/is_sequence_impl.hpp | 0 .../container/deque/detail/keyed_element.hpp | 171 + .../container/deque/detail/value_at_impl.hpp | 0 .../container/deque/front_extended_deque.hpp | 8 +- .../boost/fusion/container/generation.hpp | 0 .../fusion/container/generation/cons_tie.hpp | 4 +- .../fusion/container/generation/deque_tie.hpp | 2 +- .../generation/detail/pp_deque_tie.hpp | 6 +- .../generation/detail/pp_list_tie.hpp | 102 + .../generation/detail/pp_make_deque.hpp | 12 +- .../generation/detail/pp_make_list.hpp | 115 + .../generation/detail/pp_make_map.hpp | 11 +- .../generation/detail/pp_make_set.hpp | 134 + .../generation/detail/pp_make_vector.hpp | 115 + .../generation/detail/pp_map_tie.hpp | 11 +- .../generation/detail/pp_vector_tie.hpp | 100 + .../detail/preprocessed/deque_tie.hpp | 0 .../detail/preprocessed/deque_tie10.hpp | 60 +- .../detail/preprocessed/deque_tie20.hpp | 120 +- .../detail/preprocessed/deque_tie30.hpp | 180 +- .../detail/preprocessed/deque_tie40.hpp | 240 +- .../detail/preprocessed/deque_tie50.hpp | 300 +- .../detail/preprocessed/list_tie.hpp | 0 .../detail/preprocessed/list_tie10.hpp | 60 +- .../detail/preprocessed/list_tie20.hpp | 120 +- .../detail/preprocessed/list_tie30.hpp | 180 +- .../detail/preprocessed/list_tie40.hpp | 240 +- .../detail/preprocessed/list_tie50.hpp | 300 +- .../detail/preprocessed/make_deque.hpp | 0 .../detail/preprocessed/make_deque10.hpp | 63 +- .../detail/preprocessed/make_deque20.hpp | 123 +- .../detail/preprocessed/make_deque30.hpp | 183 +- .../detail/preprocessed/make_deque40.hpp | 243 +- .../detail/preprocessed/make_deque50.hpp | 303 +- .../detail/preprocessed/make_list.hpp | 0 .../detail/preprocessed/make_list10.hpp | 63 +- .../detail/preprocessed/make_list20.hpp | 123 +- .../detail/preprocessed/make_list30.hpp | 183 +- .../detail/preprocessed/make_list40.hpp | 243 +- .../detail/preprocessed/make_list50.hpp | 303 +- .../detail/preprocessed/make_map.hpp | 0 .../detail/preprocessed/make_map10.hpp | 63 +- .../detail/preprocessed/make_map20.hpp | 123 +- .../detail/preprocessed/make_map30.hpp | 183 +- .../detail/preprocessed/make_map40.hpp | 243 +- .../detail/preprocessed/make_map50.hpp | 303 +- .../detail/preprocessed/make_set.hpp | 0 .../detail/preprocessed/make_set10.hpp | 69 +- .../detail/preprocessed/make_set20.hpp | 129 +- .../detail/preprocessed/make_set30.hpp | 189 +- .../detail/preprocessed/make_set40.hpp | 249 +- .../detail/preprocessed/make_set50.hpp | 309 +- .../detail/preprocessed/make_vector.hpp | 0 .../detail/preprocessed/make_vector10.hpp | 63 +- .../detail/preprocessed/make_vector20.hpp | 123 +- .../detail/preprocessed/make_vector30.hpp | 183 +- .../detail/preprocessed/make_vector40.hpp | 243 +- .../detail/preprocessed/make_vector50.hpp | 303 +- .../detail/preprocessed/map_tie.hpp | 0 .../detail/preprocessed/map_tie10.hpp | 63 +- .../detail/preprocessed/map_tie20.hpp | 123 +- .../detail/preprocessed/map_tie30.hpp | 183 +- .../detail/preprocessed/map_tie40.hpp | 243 +- .../detail/preprocessed/map_tie50.hpp | 303 +- .../detail/preprocessed/vector_tie.hpp | 0 .../detail/preprocessed/vector_tie10.hpp | 60 +- .../detail/preprocessed/vector_tie20.hpp | 120 +- .../detail/preprocessed/vector_tie30.hpp | 180 +- .../detail/preprocessed/vector_tie40.hpp | 240 +- .../detail/preprocessed/vector_tie50.hpp | 300 +- .../fusion/container/generation/ignore.hpp | 6 +- .../fusion/container/generation/list_tie.hpp | 44 + .../fusion/container/generation/make_cons.hpp | 4 +- .../container/generation/make_deque.hpp | 4 +- .../fusion/container/generation/make_list.hpp | 46 + .../fusion/container/generation/make_map.hpp | 2 +- .../fusion/container/generation/make_set.hpp | 55 + .../container/generation/make_vector.hpp | 55 + .../fusion/container/generation/map_tie.hpp | 2 +- .../fusion/container/generation/pair_tie.hpp | 4 +- .../container/generation/vector_tie.hpp | 44 + .../include/boost/fusion/container/list.hpp | 17 + .../boost/fusion/container/list/cons.hpp | 144 + .../boost/fusion/container/list/cons_fwd.hpp | 0 .../fusion/container/list/cons_iterator.hpp | 111 + .../boost/fusion/container/list/convert.hpp | 60 + .../fusion/container/list/detail/at_impl.hpp | 136 + .../container/list/detail/begin_impl.hpp | 51 + .../container/list/detail/build_cons.hpp | 61 + .../container/list/detail/convert_impl.hpp | 53 + .../container/list/detail/cpp03}/limits.hpp | 0 .../container/list/detail/cpp03/list.hpp | 104 + .../list/detail/cpp03/list_forward_ctor.hpp | 48 + .../container/list/detail/cpp03/list_fwd.hpp | 51 + .../list/detail/cpp03/list_to_cons.hpp | 76 + .../list/detail/cpp03/list_to_cons_call.hpp | 44 + .../list/detail/cpp03/preprocessed/list.hpp | 22 + .../list/detail/cpp03/preprocessed/list10.hpp | 100 + .../detail/cpp03}/preprocessed/list10_fwd.hpp | 0 .../list/detail/cpp03/preprocessed/list20.hpp | 140 + .../detail/cpp03}/preprocessed/list20_fwd.hpp | 0 .../list/detail/cpp03/preprocessed/list30.hpp | 180 + .../detail/cpp03}/preprocessed/list30_fwd.hpp | 0 .../list/detail/cpp03/preprocessed/list40.hpp | 220 + .../detail/cpp03}/preprocessed/list40_fwd.hpp | 0 .../list/detail/cpp03/preprocessed/list50.hpp | 260 + .../detail/cpp03}/preprocessed/list50_fwd.hpp | 0 .../detail/cpp03/preprocessed/list_fwd.hpp | 22 + .../cpp03/preprocessed/list_to_cons.hpp | 22 + .../cpp03/preprocessed/list_to_cons10.hpp | 96 + .../cpp03/preprocessed/list_to_cons20.hpp | 166 + .../cpp03/preprocessed/list_to_cons30.hpp | 236 + .../cpp03/preprocessed/list_to_cons40.hpp | 306 + .../cpp03/preprocessed/list_to_cons50.hpp | 376 ++ .../container/list/detail/deref_impl.hpp | 54 + .../container/list/detail/empty_impl.hpp | 0 .../fusion/container/list/detail/end_impl.hpp | 53 + .../container/list/detail/equal_to_impl.hpp | 40 + .../list/detail/list_forward_ctor.hpp | 0 .../container/list/detail/list_to_cons.hpp | 61 + .../list/detail/list_to_cons_call.hpp | 0 .../container/list/detail/next_impl.hpp | 61 + .../list/detail/preprocessed/list.hpp | 0 .../list/detail/preprocessed/list10.hpp | 0 .../list/detail/preprocessed/list10_fwd.hpp | 16 + .../list/detail/preprocessed/list20.hpp | 0 .../list/detail/preprocessed/list20_fwd.hpp | 16 + .../list/detail/preprocessed/list30.hpp | 0 .../list/detail/preprocessed/list30_fwd.hpp | 16 + .../list/detail/preprocessed/list40.hpp | 0 .../list/detail/preprocessed/list40_fwd.hpp | 16 + .../list/detail/preprocessed/list50.hpp | 0 .../list/detail/preprocessed/list50_fwd.hpp | 16 + .../list/detail/preprocessed/list_fwd.hpp | 0 .../list/detail/preprocessed/list_to_cons.hpp | 0 .../detail/preprocessed/list_to_cons10.hpp | 0 .../detail/preprocessed/list_to_cons20.hpp | 0 .../detail/preprocessed/list_to_cons30.hpp | 0 .../detail/preprocessed/list_to_cons40.hpp | 0 .../detail/preprocessed/list_to_cons50.hpp | 0 .../container/list/detail/reverse_cons.hpp | 4 +- .../container/list/detail/value_at_impl.hpp | 43 + .../container/list/detail/value_of_impl.hpp | 36 + .../boost/fusion/container/list/limits.hpp | 23 + .../boost/fusion/container/list/list.hpp | 127 + .../boost/fusion/container/list/list_fwd.hpp | 43 + .../boost/fusion/container/list/nil.hpp | 12 +- .../include/boost/fusion/container/map.hpp | 0 .../boost/fusion/container/map/convert.hpp | 117 + .../fusion/container/map/detail/at_impl.hpp | 61 + .../container/map/detail/at_key_impl.hpp | 9 +- .../container/map/detail/begin_impl.hpp | 40 + .../fusion/container/map/detail/build_map.hpp | 6 +- .../container/map/detail/cpp03/as_map.hpp | 11 +- .../container/map/detail/cpp03/at_impl.hpp | 64 + .../container/map/detail/cpp03/begin_impl.hpp | 45 + .../container/map/detail/cpp03/convert.hpp | 57 + .../map/detail/cpp03/convert_impl.hpp | 54 + .../map/detail/cpp03/deref_data_impl.hpp | 49 + .../container/map/detail/cpp03/deref_impl.hpp | 47 + .../container/map/detail/cpp03/end_impl.hpp | 45 + .../map/detail/cpp03/key_of_impl.hpp | 0 .../container/map/detail/cpp03/limits.hpp | 28 + .../fusion/container/map/detail/cpp03/map.hpp | 156 + .../map/detail/cpp03/map_forward_ctor.hpp | 63 + .../container/map/detail/cpp03/map_fwd.hpp | 0 .../map/detail/cpp03/preprocessed/as_map.hpp | 0 .../detail/cpp03/preprocessed/as_map10.hpp | 22 +- .../detail/cpp03/preprocessed/as_map20.hpp | 42 +- .../detail/cpp03/preprocessed/as_map30.hpp | 62 +- .../detail/cpp03/preprocessed/as_map40.hpp | 82 +- .../detail/cpp03/preprocessed/as_map50.hpp | 102 +- .../map/detail/cpp03/preprocessed/map.hpp | 0 .../map/detail/cpp03/preprocessed/map10.hpp | 178 + .../detail/cpp03/preprocessed/map10_fwd.hpp | 0 .../map/detail/cpp03/preprocessed/map20.hpp | 278 + .../detail/cpp03/preprocessed/map20_fwd.hpp | 0 .../map/detail/cpp03/preprocessed/map30.hpp | 378 ++ .../detail/cpp03/preprocessed/map30_fwd.hpp | 0 .../map/detail/cpp03/preprocessed/map40.hpp | 478 ++ .../detail/cpp03/preprocessed/map40_fwd.hpp | 0 .../map/detail/cpp03/preprocessed/map50.hpp | 578 ++ .../detail/cpp03/preprocessed/map50_fwd.hpp | 0 .../map/detail/cpp03/preprocessed/map_fwd.hpp | 0 .../map/detail/cpp03/value_at_impl.hpp | 35 + .../map/detail/cpp03/value_of_data_impl.hpp | 0 .../map/detail/cpp03/value_of_impl.hpp | 0 .../fusion/container/map/detail/end_impl.hpp | 40 + .../fusion/container/map/detail/map_impl.hpp | 206 + .../fusion/container/map/detail/map_index.hpp | 0 .../container/map/detail/value_at_impl.hpp | 39 + .../map/detail/value_at_key_impl.hpp | 3 +- .../boost/fusion/container/map/map.hpp | 134 + .../boost/fusion/container/map/map_fwd.hpp | 7 + .../fusion/container/map/map_iterator.hpp | 175 + .../include/boost/fusion/container/set.hpp | 15 + .../boost/fusion/container/set/convert.hpp | 50 + .../fusion/container/set/detail/as_set.hpp | 67 + .../container/set/detail/begin_impl.hpp | 45 + .../container/set/detail/convert_impl.hpp | 47 + .../container/set/detail/cpp03/as_set.hpp | 139 + .../container/set/detail/cpp03/limits.hpp | 28 + .../set/detail/cpp03/preprocessed/as_set.hpp | 22 + .../detail/cpp03/preprocessed/as_set10.hpp | 223 + .../detail/cpp03/preprocessed/as_set20.hpp | 433 ++ .../detail/cpp03/preprocessed/as_set30.hpp | 643 ++ .../detail/cpp03/preprocessed/as_set40.hpp | 853 +++ .../detail/cpp03/preprocessed/as_set50.hpp | 1063 +++ .../set/detail/cpp03/preprocessed/set.hpp | 22 + .../set/detail/cpp03/preprocessed/set10.hpp | 77 + .../detail/cpp03}/preprocessed/set10_fwd.hpp | 0 .../set/detail/cpp03/preprocessed/set20.hpp | 107 + .../detail/cpp03}/preprocessed/set20_fwd.hpp | 0 .../set/detail/cpp03/preprocessed/set30.hpp | 137 + .../detail/cpp03}/preprocessed/set30_fwd.hpp | 0 .../set/detail/cpp03/preprocessed/set40.hpp | 167 + .../detail/cpp03}/preprocessed/set40_fwd.hpp | 0 .../set/detail/cpp03/preprocessed/set50.hpp | 197 + .../detail/cpp03}/preprocessed/set50_fwd.hpp | 0 .../set/detail/cpp03/preprocessed/set_fwd.hpp | 22 + .../fusion/container/set/detail/cpp03/set.hpp | 107 + .../set/detail/cpp03/set_forward_ctor.hpp | 40 + .../container/set/detail/cpp03/set_fwd.hpp | 53 + .../container/set/detail/deref_data_impl.hpp | 0 .../container/set/detail/deref_impl.hpp | 47 + .../fusion/container/set/detail/end_impl.hpp | 45 + .../container/set/detail/key_of_impl.hpp | 0 .../set/detail/preprocessed/as_set.hpp | 0 .../set/detail/preprocessed/as_set10.hpp | 0 .../set/detail/preprocessed/as_set20.hpp | 0 .../set/detail/preprocessed/as_set30.hpp | 0 .../set/detail/preprocessed/as_set40.hpp | 0 .../set/detail/preprocessed/as_set50.hpp | 0 .../container/set/detail/preprocessed/set.hpp | 0 .../set/detail/preprocessed/set10.hpp | 0 .../set/detail/preprocessed/set10_fwd.hpp | 18 + .../set/detail/preprocessed/set20.hpp | 0 .../set/detail/preprocessed/set20_fwd.hpp | 18 + .../set/detail/preprocessed/set30.hpp | 0 .../set/detail/preprocessed/set30_fwd.hpp | 18 + .../set/detail/preprocessed/set40.hpp | 0 .../set/detail/preprocessed/set40_fwd.hpp | 18 + .../set/detail/preprocessed/set50.hpp | 0 .../set/detail/preprocessed/set50_fwd.hpp | 18 + .../set/detail/preprocessed/set_fwd.hpp | 0 .../container/set/detail/set_forward_ctor.hpp | 0 .../set/detail/value_of_data_impl.hpp | 0 .../container/set/detail/value_of_impl.hpp | 0 .../boost/fusion/container/set/limits.hpp | 0 .../boost/fusion/container/set/set.hpp | 140 + .../boost/fusion/container/set/set_fwd.hpp | 46 + .../include/boost/fusion/container/vector.hpp | 15 + .../boost/fusion/container/vector/convert.hpp | 50 + .../container/vector/detail/advance_impl.hpp | 43 + .../container/vector/detail/as_vector.hpp | 70 + .../container/vector/detail/at_impl.hpp | 60 + .../container/vector/detail/begin_impl.hpp | 41 + .../fusion/container/vector/detail/config.hpp | 36 + .../container/vector/detail/convert_impl.hpp | 47 + .../vector/detail/cpp03/as_vector.hpp | 139 + .../container/vector/detail/cpp03/limits.hpp | 25 + .../detail/cpp03/preprocessed/as_vector.hpp | 22 + .../detail/cpp03/preprocessed/as_vector10.hpp | 223 + .../detail/cpp03/preprocessed/as_vector20.hpp | 433 ++ .../detail/cpp03/preprocessed/as_vector30.hpp | 643 ++ .../detail/cpp03/preprocessed/as_vector40.hpp | 853 +++ .../detail/cpp03/preprocessed/as_vector50.hpp | 1063 +++ .../detail/cpp03/preprocessed/vector.hpp | 22 + .../detail/cpp03/preprocessed/vector10.hpp | 1830 +++++ .../cpp03}/preprocessed/vector10_fwd.hpp | 0 .../detail/cpp03/preprocessed/vector20.hpp | 1824 +++++ .../cpp03}/preprocessed/vector20_fwd.hpp | 0 .../detail/cpp03/preprocessed/vector30.hpp | 1824 +++++ .../cpp03}/preprocessed/vector30_fwd.hpp | 0 .../detail/cpp03/preprocessed/vector40.hpp | 1824 +++++ .../cpp03}/preprocessed/vector40_fwd.hpp | 0 .../detail/cpp03/preprocessed/vector50.hpp | 1824 +++++ .../cpp03}/preprocessed/vector50_fwd.hpp | 0 .../cpp03/preprocessed/vector_chooser.hpp | 21 + .../cpp03}/preprocessed/vector_chooser10.hpp | 0 .../cpp03}/preprocessed/vector_chooser20.hpp | 0 .../cpp03}/preprocessed/vector_chooser30.hpp | 0 .../cpp03}/preprocessed/vector_chooser40.hpp | 0 .../cpp03}/preprocessed/vector_chooser50.hpp | 0 .../detail/cpp03/preprocessed/vector_fwd.hpp | 22 + .../detail/cpp03/preprocessed/vvector10.hpp | 311 + .../cpp03}/preprocessed/vvector10_fwd.hpp | 0 .../detail/cpp03/preprocessed/vvector20.hpp | 481 ++ .../cpp03}/preprocessed/vvector20_fwd.hpp | 0 .../detail/cpp03/preprocessed/vvector30.hpp | 651 ++ .../cpp03}/preprocessed/vvector30_fwd.hpp | 0 .../detail/cpp03/preprocessed/vvector40.hpp | 821 +++ .../cpp03}/preprocessed/vvector40_fwd.hpp | 0 .../detail/cpp03/preprocessed/vvector50.hpp | 991 +++ .../cpp03}/preprocessed/vvector50_fwd.hpp | 0 .../vector/detail/cpp03/value_at_impl.hpp | 34 + .../container/vector/detail/cpp03/vector.hpp | 249 + .../vector/detail/cpp03/vector10.hpp | 105 + .../vector/detail/cpp03/vector10_fwd.hpp | 64 + .../vector/detail/cpp03/vector20.hpp | 81 + .../vector/detail/cpp03/vector20_fwd.hpp | 59 + .../vector/detail/cpp03/vector30.hpp | 80 + .../vector/detail/cpp03/vector30_fwd.hpp | 59 + .../vector/detail/cpp03/vector40.hpp | 81 + .../vector/detail/cpp03/vector40_fwd.hpp | 59 + .../vector/detail/cpp03/vector50.hpp | 80 + .../vector/detail/cpp03/vector50_fwd.hpp | 59 + .../detail/cpp03/vector_forward_ctor.hpp | 75 + .../vector/detail/cpp03/vector_fwd.hpp | 66 + .../vector/detail/cpp03/vector_n.hpp | 354 + .../vector/detail/cpp03/vector_n_chooser.hpp | 107 + .../container/vector/detail/deref_impl.hpp | 54 + .../container/vector/detail/distance_impl.hpp | 43 + .../container/vector/detail/end_impl.hpp | 42 + .../container/vector/detail/equal_to_impl.hpp | 40 + .../container/vector/detail/next_impl.hpp | 45 + .../vector/detail/preprocessed/as_vector.hpp | 0 .../detail/preprocessed/as_vector10.hpp | 0 .../detail/preprocessed/as_vector20.hpp | 0 .../detail/preprocessed/as_vector30.hpp | 0 .../detail/preprocessed/as_vector40.hpp | 0 .../detail/preprocessed/as_vector50.hpp | 0 .../vector/detail/preprocessed/vector.hpp | 0 .../vector/detail/preprocessed/vector10.hpp | 0 .../detail/preprocessed/vector10_fwd.hpp | 33 + .../vector/detail/preprocessed/vector20.hpp | 0 .../detail/preprocessed/vector20_fwd.hpp | 33 + .../vector/detail/preprocessed/vector30.hpp | 0 .../detail/preprocessed/vector30_fwd.hpp | 33 + .../vector/detail/preprocessed/vector40.hpp | 0 .../detail/preprocessed/vector40_fwd.hpp | 33 + .../vector/detail/preprocessed/vector50.hpp | 0 .../detail/preprocessed/vector50_fwd.hpp | 33 + .../detail/preprocessed/vector_chooser.hpp | 0 .../detail/preprocessed/vector_chooser10.hpp | 84 + .../detail/preprocessed/vector_chooser20.hpp | 154 + .../detail/preprocessed/vector_chooser30.hpp | 224 + .../detail/preprocessed/vector_chooser40.hpp | 294 + .../detail/preprocessed/vector_chooser50.hpp | 364 + .../vector/detail/preprocessed/vector_fwd.hpp | 0 .../vector/detail/preprocessed/vvector10.hpp | 0 .../detail/preprocessed/vvector10_fwd.hpp | 16 + .../vector/detail/preprocessed/vvector20.hpp | 0 .../detail/preprocessed/vvector20_fwd.hpp | 16 + .../vector/detail/preprocessed/vvector30.hpp | 0 .../detail/preprocessed/vvector30_fwd.hpp | 16 + .../vector/detail/preprocessed/vvector40.hpp | 0 .../detail/preprocessed/vvector40_fwd.hpp | 16 + .../vector/detail/preprocessed/vvector50.hpp | 0 .../detail/preprocessed/vvector50_fwd.hpp | 16 + .../container/vector/detail/prior_impl.hpp | 45 + .../container/vector/detail/value_at_impl.hpp | 58 + .../container/vector/detail/value_of_impl.hpp | 36 + .../vector/detail/vector_forward_ctor.hpp | 0 .../container/vector/detail/vector_n.hpp | 0 .../vector/detail/vector_n_chooser.hpp | 0 .../boost/fusion/container/vector/limits.hpp | 0 .../boost/fusion/container/vector/vector.hpp | 324 + .../fusion/container/vector/vector10.hpp | 29 + .../fusion/container/vector/vector10_fwd.hpp | 0 .../fusion/container/vector/vector20.hpp | 29 + .../fusion/container/vector/vector20_fwd.hpp | 0 .../fusion/container/vector/vector30.hpp | 29 + .../fusion/container/vector/vector30_fwd.hpp | 0 .../fusion/container/vector/vector40.hpp | 29 + .../fusion/container/vector/vector40_fwd.hpp | 0 .../fusion/container/vector/vector50.hpp | 29 + .../fusion/container/vector/vector50_fwd.hpp | 0 .../fusion/container/vector/vector_fwd.hpp | 43 + .../container/vector/vector_iterator.hpp | 12 +- .../include/boost/fusion/functional.hpp | 0 .../boost/fusion/functional/adapter.hpp | 0 .../functional/adapter/detail/access.hpp | 0 .../boost/fusion/functional/adapter/fused.hpp | 10 +- .../adapter/fused_function_object.hpp | 10 +- .../functional/adapter/fused_procedure.hpp | 10 +- .../fusion/functional/adapter/limits.hpp | 31 + .../fusion/functional/adapter/unfused.hpp | 15 +- .../functional/adapter/unfused_typed.hpp | 6 +- .../boost/fusion/functional/generation.hpp | 0 .../generation/detail/gen_make_adapter.hpp | 2 +- .../functional/generation/make_fused.hpp | 0 .../generation/make_fused_function_object.hpp | 0 .../generation/make_fused_procedure.hpp | 0 .../functional/generation/make_unfused.hpp | 0 .../boost/fusion/functional/invocation.hpp | 0 .../functional/invocation/detail/that_ptr.hpp | 21 +- .../fusion/functional/invocation/invoke.hpp | 414 ++ .../invocation/invoke_function_object.hpp | 65 +- .../invocation/invoke_procedure.hpp | 64 +- .../fusion/functional/invocation/limits.hpp | 0 .../boost/fusion/include/accumulate.hpp | 0 .../boost/fusion/include/adapt_adt.hpp | 0 .../boost/fusion/include/adapt_adt_named.cpp | 0 .../boost/fusion/include/adapt_adt_named.hpp | 0 .../boost/fusion/include/adapt_assoc_adt.hpp | 0 .../fusion/include/adapt_assoc_adt_named.hpp | 0 .../fusion/include/adapt_assoc_class.hpp | 0 .../include/adapt_assoc_class_named.hpp | 0 .../fusion/include/adapt_assoc_struct.hpp | 0 .../include/adapt_assoc_struct_named.hpp | 0 .../boost/fusion/include/adapt_struct.hpp | 0 .../fusion/include/adapt_struct_named.hpp | 0 .../include/boost/fusion/include/adapted.hpp | 0 .../include/boost/fusion/include/adapter.hpp | 0 .../include/boost/fusion/include/advance.hpp | 0 .../boost/fusion/include/algorithm.hpp | 0 .../include/boost/fusion/include/all.hpp | 0 .../include/boost/fusion/include/any.hpp | 0 .../include/boost/fusion/include/array.hpp | 0 .../include/boost/fusion/include/as_deque.hpp | 0 .../include/boost/fusion/include/as_list.hpp | 0 .../include/boost/fusion/include/as_map.hpp | 0 .../include/boost/fusion/include/as_set.hpp | 0 .../boost/fusion/include/as_vector.hpp | 0 .../include/boost/fusion/include/at.hpp | 0 .../include/boost/fusion/include/at_c.hpp | 0 .../include/boost/fusion/include/at_key.hpp | 0 .../boost/fusion/include/auxiliary.hpp | 0 .../include/boost/fusion/include/back.hpp | 0 .../include/boost/fusion/include/begin.hpp | 0 .../boost/fusion/include/boost_array.hpp | 0 .../boost/fusion/include/boost_tuple.hpp | 0 .../boost/fusion/include/category_of.hpp | 0 .../include/boost/fusion/include/clear.hpp | 0 .../boost/fusion/include/comparison.hpp | 0 .../include/boost/fusion/include/cons.hpp | 0 .../include/boost/fusion/include/cons_tie.hpp | 0 .../boost/fusion/include/container.hpp | 0 .../include/boost/fusion/include/convert.hpp | 0 .../include/boost/fusion/include/copy.hpp | 0 .../include/boost/fusion/include/count.hpp | 0 .../include/boost/fusion/include/count_if.hpp | 0 .../include/boost/fusion/include/deduce.hpp | 0 .../boost/fusion/include/deduce_sequence.hpp | 0 .../fusion/include/define_assoc_struct.hpp | 0 .../boost/fusion/include/define_struct.hpp | 0 .../fusion/include/define_struct_inline.hpp | 0 .../include/boost/fusion/include/deque.hpp | 0 .../boost/fusion/include/deque_fwd.hpp | 0 .../boost/fusion/include/deque_tie.hpp | 0 .../include/boost/fusion/include/deref.hpp | 0 .../boost/fusion/include/deref_data.hpp | 0 .../include/boost/fusion/include/distance.hpp | 0 .../include/boost/fusion/include/empty.hpp | 0 .../include/boost/fusion/include/end.hpp | 0 .../include/boost/fusion/include/equal_to.hpp | 0 .../include/boost/fusion/include/erase.hpp | 0 .../boost/fusion/include/erase_key.hpp | 0 .../include/boost/fusion/include/filter.hpp | 0 .../boost/fusion/include/filter_if.hpp | 0 .../boost/fusion/include/filter_view.hpp | 0 .../include/boost/fusion/include/find.hpp | 0 .../include/boost/fusion/include/find_if.hpp | 0 .../include/boost/fusion/include/flatten.hpp | 0 .../boost/fusion/include/flatten_view.hpp | 0 .../include/boost/fusion/include/fold.hpp | 0 .../include/boost/fusion/include/for_each.hpp | 0 .../include/boost/fusion/include/front.hpp | 0 .../boost/fusion/include/functional.hpp | 0 .../include/boost/fusion/include/fused.hpp | 0 .../fusion/include/fused_function_object.hpp | 0 .../boost/fusion/include/fused_procedure.hpp | 0 .../boost/fusion/include/generation.hpp | 0 .../include/boost/fusion/include/greater.hpp | 0 .../boost/fusion/include/greater_equal.hpp | 0 .../include/boost/fusion/include/has_key.hpp | 0 .../include/boost/fusion/include/hash.hpp | 12 + .../include/boost/fusion/include/ignore.hpp | 0 .../include/boost/fusion/include/in.hpp | 0 .../include/boost/fusion/include/insert.hpp | 0 .../boost/fusion/include/insert_range.hpp | 0 .../boost/fusion/include/intrinsic.hpp | 0 .../boost/fusion/include/invocation.hpp | 0 .../include/boost/fusion/include/invoke.hpp | 0 .../fusion/include/invoke_function_object.hpp | 0 .../boost/fusion/include/invoke_procedure.hpp | 0 .../include/boost/fusion/include/io.hpp | 0 .../boost/fusion/include/is_iterator.hpp | 0 .../boost/fusion/include/is_segmented.hpp | 0 .../boost/fusion/include/is_sequence.hpp | 0 .../include/boost/fusion/include/is_view.hpp | 0 .../boost/fusion/include/iter_fold.hpp | 0 .../boost/fusion/include/iteration.hpp | 0 .../include/boost/fusion/include/iterator.hpp | 0 .../boost/fusion/include/iterator_adapter.hpp | 0 .../boost/fusion/include/iterator_base.hpp | 0 .../boost/fusion/include/iterator_facade.hpp | 0 .../boost/fusion/include/iterator_range.hpp | 0 .../include/boost/fusion/include/join.hpp | 0 .../boost/fusion/include/joint_view.hpp | 0 .../include/boost/fusion/include/key_of.hpp | 0 .../include/boost/fusion/include/less.hpp | 0 .../boost/fusion/include/less_equal.hpp | 0 .../include/boost/fusion/include/list.hpp | 0 .../include/boost/fusion/include/list_fwd.hpp | 0 .../include/boost/fusion/include/list_tie.hpp | 0 .../boost/fusion/include/make_cons.hpp | 0 .../boost/fusion/include/make_deque.hpp | 0 .../boost/fusion/include/make_fused.hpp | 0 .../include/make_fused_function_object.hpp | 0 .../fusion/include/make_fused_procedure.hpp | 0 .../boost/fusion/include/make_list.hpp | 0 .../include/boost/fusion/include/make_map.hpp | 0 .../include/boost/fusion/include/make_set.hpp | 0 .../boost/fusion/include/make_tuple.hpp | 0 .../boost/fusion/include/make_unfused.hpp | 0 .../boost/fusion/include/make_vector.hpp | 0 .../include/boost/fusion/include/map.hpp | 0 .../include/boost/fusion/include/map_fwd.hpp | 0 .../include/boost/fusion/include/map_tie.hpp | 0 .../include/boost/fusion/include/move.hpp | 0 .../include/boost/fusion/include/mpl.hpp | 0 .../include/boost/fusion/include/next.hpp | 0 .../include/boost/fusion/include/nil.hpp | 0 .../include/boost/fusion/include/none.hpp | 0 .../boost/fusion/include/not_equal_to.hpp | 0 .../include/boost/fusion/include/nview.hpp | 0 .../include/boost/fusion/include/out.hpp | 0 .../include/boost/fusion/include/pair.hpp | 0 .../include/boost/fusion/include/pair_tie.hpp | 0 .../include/boost/fusion/include/pop_back.hpp | 0 .../boost/fusion/include/pop_front.hpp | 0 .../include/boost/fusion/include/prior.hpp | 0 .../boost/fusion/include/proxy_type.hpp | 0 .../boost/fusion/include/push_back.hpp | 0 .../boost/fusion/include/push_front.hpp | 0 .../include/boost/fusion/include/query.hpp | 0 .../include/boost/fusion/include/remove.hpp | 0 .../boost/fusion/include/remove_if.hpp | 0 .../boost/fusion/include/repetitive_view.hpp | 0 .../include/boost/fusion/include/replace.hpp | 0 .../boost/fusion/include/replace_if.hpp | 0 .../include/boost/fusion/include/reverse.hpp | 0 .../boost/fusion/include/reverse_fold.hpp | 0 .../fusion/include/reverse_iter_fold.hpp | 0 .../boost/fusion/include/reverse_view.hpp | 0 .../fusion/include/segmented_fold_until.hpp | 0 .../fusion/include/segmented_iterator.hpp | 0 .../include/boost/fusion/include/segments.hpp | 0 .../include/boost/fusion/include/sequence.hpp | 0 .../boost/fusion/include/sequence_base.hpp | 0 .../boost/fusion/include/sequence_facade.hpp | 0 .../include/boost/fusion/include/set.hpp | 0 .../include/boost/fusion/include/set_fwd.hpp | 0 .../boost/fusion/include/single_view.hpp | 0 .../include/boost/fusion/include/size.hpp | 0 .../include/boost/fusion/include/std_pair.hpp | 0 .../boost/fusion/include/std_tuple.hpp | 12 + .../include/boost/fusion/include/struct.hpp | 0 .../include/boost/fusion/include/support.hpp | 0 .../include/boost/fusion/include/swap.hpp | 0 .../include/boost/fusion/include/tag_of.hpp | 0 .../boost/fusion/include/tag_of_fwd.hpp | 0 .../boost/fusion/include/transform.hpp | 0 .../boost/fusion/include/transform_view.hpp | 0 .../boost/fusion/include/transformation.hpp | 0 .../include/boost/fusion/include/tuple.hpp | 0 .../boost/fusion/include/tuple_fwd.hpp | 0 .../boost/fusion/include/tuple_tie.hpp | 0 .../include/boost/fusion/include/unfused.hpp | 0 .../boost/fusion/include/unfused_typed.hpp | 0 .../include/boost/fusion/include/unused.hpp | 0 .../include/boost/fusion/include/value_at.hpp | 0 .../boost/fusion/include/value_at_key.hpp | 0 .../include/boost/fusion/include/value_of.hpp | 0 .../boost/fusion/include/value_of_data.hpp | 0 .../include/boost/fusion/include/vector.hpp | 0 .../include/boost/fusion/include/vector10.hpp | 0 .../include/boost/fusion/include/vector20.hpp | 0 .../include/boost/fusion/include/vector30.hpp | 0 .../include/boost/fusion/include/vector40.hpp | 0 .../include/boost/fusion/include/vector50.hpp | 0 .../boost/fusion/include/vector_fwd.hpp | 0 .../boost/fusion/include/vector_tie.hpp | 0 .../include/boost/fusion/include/view.hpp | 0 .../include/boost/fusion/include/void.hpp | 0 .../include/boost/fusion/include/zip.hpp | 0 .../include/boost/fusion/include/zip_view.hpp | 0 .../include/boost/fusion/iterator.hpp | 0 .../include/boost/fusion/iterator/advance.hpp | 95 + .../boost/fusion/iterator/basic_iterator.hpp | 19 +- .../include/boost/fusion/iterator/deref.hpp | 8 +- .../boost/fusion/iterator/deref_data.hpp | 4 +- .../iterator/detail/adapt_deref_traits.hpp | 2 +- .../iterator/detail/adapt_value_traits.hpp | 0 .../boost/fusion/iterator/detail/advance.hpp | 107 + .../boost/fusion/iterator/detail/distance.hpp | 66 + .../iterator/detail/segment_sequence.hpp | 4 +- .../iterator/detail/segmented_equal_to.hpp | 0 .../iterator/detail/segmented_iterator.hpp | 8 +- .../iterator/detail/segmented_next_impl.hpp | 20 +- .../boost/fusion/iterator/distance.hpp | 80 + .../boost/fusion/iterator/equal_to.hpp | 106 + .../fusion/iterator/iterator_adapter.hpp | 30 +- .../boost/fusion/iterator/iterator_facade.hpp | 68 + .../include/boost/fusion/iterator/key_of.hpp | 0 .../include/boost/fusion/iterator/mpl.hpp | 0 .../fusion/iterator/mpl/convert_iterator.hpp | 6 +- .../fusion/iterator/mpl/fusion_iterator.hpp | 0 .../include/boost/fusion/iterator/next.hpp | 4 +- .../include/boost/fusion/iterator/prior.hpp | 4 +- .../fusion/iterator/segmented_iterator.hpp | 0 .../boost/fusion/iterator/value_of.hpp | 0 .../boost/fusion/iterator/value_of_data.hpp | 0 .../include/boost/fusion/mpl.hpp | 0 .../include/boost/fusion/mpl/at.hpp | 0 .../include/boost/fusion/mpl/back.hpp | 0 .../include/boost/fusion/mpl/begin.hpp | 0 .../include/boost/fusion/mpl/clear.hpp | 0 .../include/boost/fusion/mpl/detail/clear.hpp | 0 .../include/boost/fusion/mpl/empty.hpp | 0 .../include/boost/fusion/mpl/end.hpp | 0 .../include/boost/fusion/mpl/erase.hpp | 0 .../include/boost/fusion/mpl/erase_key.hpp | 0 .../include/boost/fusion/mpl/front.hpp | 0 .../include/boost/fusion/mpl/has_key.hpp | 0 .../include/boost/fusion/mpl/insert.hpp | 0 .../include/boost/fusion/mpl/insert_range.hpp | 0 .../include/boost/fusion/mpl/pop_back.hpp | 0 .../include/boost/fusion/mpl/pop_front.hpp | 0 .../include/boost/fusion/mpl/push_back.hpp | 0 .../include/boost/fusion/mpl/push_front.hpp | 0 .../include/boost/fusion/mpl/size.hpp | 0 .../include/boost/fusion/sequence.hpp | 0 .../boost/fusion/sequence/comparison.hpp | 0 .../sequence/comparison/detail/equal_to.hpp | 66 + .../sequence/comparison/detail/greater.hpp | 55 + .../comparison/detail/greater_equal.hpp | 55 + .../sequence/comparison/detail/less.hpp | 55 + .../sequence/comparison/detail/less_equal.hpp | 55 + .../comparison/detail/not_equal_to.hpp | 66 + .../sequence/comparison/enable_comparison.hpp | 0 .../fusion/sequence/comparison/equal_to.hpp | 59 + .../fusion/sequence/comparison/greater.hpp | 55 + .../sequence/comparison/greater_equal.hpp | 55 + .../boost/fusion/sequence/comparison/less.hpp | 46 + .../fusion/sequence/comparison/less_equal.hpp | 55 + .../sequence/comparison/not_equal_to.hpp | 58 + .../include/boost/fusion/sequence/convert.hpp | 61 + .../include/boost/fusion/sequence/hash.hpp | 42 + .../boost/fusion/sequence/intrinsic.hpp | 1 + .../boost/fusion/sequence/intrinsic/at.hpp | 32 +- .../boost/fusion/sequence/intrinsic/at_c.hpp | 0 .../fusion/sequence/intrinsic/at_key.hpp | 116 + .../boost/fusion/sequence/intrinsic/back.hpp | 4 +- .../boost/fusion/sequence/intrinsic/begin.hpp | 8 +- .../intrinsic/detail/segmented_begin.hpp | 2 +- .../intrinsic/detail/segmented_begin_impl.hpp | 6 +- .../intrinsic/detail/segmented_end.hpp | 2 +- .../intrinsic/detail/segmented_end_impl.hpp | 13 +- .../intrinsic/detail/segmented_size.hpp | 0 .../boost/fusion/sequence/intrinsic/empty.hpp | 63 + .../boost/fusion/sequence/intrinsic/end.hpp | 8 +- .../boost/fusion/sequence/intrinsic/front.hpp | 4 +- .../fusion/sequence/intrinsic/has_key.hpp | 2 +- .../fusion/sequence/intrinsic/segments.hpp | 4 +- .../boost/fusion/sequence/intrinsic/size.hpp | 86 + .../boost/fusion/sequence/intrinsic/swap.hpp | 16 +- .../fusion/sequence/intrinsic/value_at.hpp | 88 + .../sequence/intrinsic/value_at_key.hpp | 86 + .../boost/fusion/sequence/intrinsic_fwd.hpp | 38 +- .../include/boost/fusion/sequence/io.hpp | 0 .../boost/fusion/sequence/io/detail/in.hpp | 0 .../boost/fusion/sequence/io/detail/manip.hpp | 9 +- .../boost/fusion/sequence/io/detail/out.hpp | 0 .../include/boost/fusion/sequence/io/in.hpp | 0 .../include/boost/fusion/sequence/io/out.hpp | 0 .../boost/fusion/sequence/sequence_facade.hpp | 0 .../include/boost/fusion/support.hpp | 0 .../include/boost/fusion/support/as_const.hpp | 7 +- .../boost/fusion/support/category_of.hpp | 9 + .../include/boost/fusion/support/config.hpp | 99 + .../include/boost/fusion/support/deduce.hpp | 19 + .../boost/fusion/support/deduce_sequence.hpp | 0 .../boost/fusion/support/detail/access.hpp | 0 .../support/detail/as_fusion_element.hpp | 12 + .../fusion/support/detail/category_of.hpp | 0 .../boost/fusion/support/detail/enabler.hpp | 22 + .../fusion/support/detail/index_sequence.hpp | 79 + .../fusion/support/detail/is_mpl_sequence.hpp | 0 .../fusion/support/detail/is_same_size.hpp | 29 + .../boost/fusion/support/detail/is_view.hpp | 0 .../support/detail/mpl_iterator_category.hpp | 0 .../boost/fusion/support/detail/pp_round.hpp | 0 .../detail/segmented_fold_until_impl.hpp | 24 +- .../fusion/support/detail/unknown_key.hpp | 0 .../boost/fusion/support/is_iterator.hpp | 0 .../boost/fusion/support/is_segmented.hpp | 0 .../boost/fusion/support/is_sequence.hpp | 4 +- .../include/boost/fusion/support/is_view.hpp | 0 .../boost/fusion/support/iterator_base.hpp | 9 +- .../include/boost/fusion/support/pair.hpp | 168 + .../fusion/support/segmented_fold_until.hpp | 17 +- .../boost/fusion/support/sequence_base.hpp | 13 +- .../include/boost/fusion/support/tag_of.hpp | 0 .../boost/fusion/support/tag_of_fwd.hpp | 0 .../include/boost/fusion/support/unused.hpp | 95 + .../include/boost/fusion/support/void.hpp | 0 .../include/boost/fusion/tuple.hpp | 0 .../boost/fusion/tuple/detail/make_tuple.hpp | 86 + .../tuple/detail/preprocessed/make_tuple.hpp | 0 .../detail/preprocessed/make_tuple10.hpp | 40 +- .../detail/preprocessed/make_tuple20.hpp | 80 +- .../detail/preprocessed/make_tuple30.hpp | 120 +- .../detail/preprocessed/make_tuple40.hpp | 160 +- .../detail/preprocessed/make_tuple50.hpp | 200 +- .../tuple/detail/preprocessed/tuple.hpp | 0 .../tuple/detail/preprocessed/tuple10.hpp | 209 + .../tuple/detail/preprocessed/tuple10_fwd.hpp | 0 .../tuple/detail/preprocessed/tuple20.hpp | 349 + .../tuple/detail/preprocessed/tuple20_fwd.hpp | 0 .../tuple/detail/preprocessed/tuple30.hpp | 489 ++ .../tuple/detail/preprocessed/tuple30_fwd.hpp | 0 .../tuple/detail/preprocessed/tuple40.hpp | 629 ++ .../tuple/detail/preprocessed/tuple40_fwd.hpp | 0 .../tuple/detail/preprocessed/tuple50.hpp | 769 +++ .../tuple/detail/preprocessed/tuple50_fwd.hpp | 0 .../tuple/detail/preprocessed/tuple_fwd.hpp | 0 .../tuple/detail/preprocessed/tuple_tie.hpp | 0 .../tuple/detail/preprocessed/tuple_tie10.hpp | 91 + .../tuple/detail/preprocessed/tuple_tie20.hpp | 171 + .../tuple/detail/preprocessed/tuple_tie30.hpp | 251 + .../tuple/detail/preprocessed/tuple_tie40.hpp | 331 + .../tuple/detail/preprocessed/tuple_tie50.hpp | 411 ++ .../boost/fusion/tuple/detail/tuple.hpp | 122 + .../fusion/tuple/detail/tuple_expand.hpp | 4 +- .../boost/fusion/tuple/detail/tuple_fwd.hpp | 52 + .../boost/fusion/tuple/detail/tuple_tie.hpp | 76 + .../include/boost/fusion/tuple/make_tuple.hpp | 50 + .../include/boost/fusion/tuple/tuple.hpp | 92 + .../include/boost/fusion/tuple/tuple_fwd.hpp | 43 + .../include/boost/fusion/tuple/tuple_tie.hpp | 38 + .../include/boost/fusion/view.hpp | 0 .../view/detail/strictest_traversal.hpp | 0 .../include/boost/fusion/view/filter_view.hpp | 0 .../view/filter_view/detail/begin_impl.hpp | 47 + .../filter_view/detail/deref_data_impl.hpp | 39 + .../view/filter_view/detail/deref_impl.hpp | 0 .../view/filter_view/detail/end_impl.hpp | 46 + .../view/filter_view/detail/equal_to_impl.hpp | 0 .../view/filter_view/detail/key_of_impl.hpp | 0 .../view/filter_view/detail/next_impl.hpp | 79 + .../view/filter_view/detail/size_impl.hpp | 0 .../filter_view/detail/value_of_data_impl.hpp | 0 .../view/filter_view/detail/value_of_impl.hpp | 0 .../fusion/view/filter_view/filter_view.hpp | 6 +- .../view/filter_view/filter_view_iterator.hpp | 11 +- .../boost/fusion/view/flatten_view.hpp | 15 + .../fusion/view/flatten_view/flatten_view.hpp | 133 + .../flatten_view/flatten_view_iterator.hpp | 65 +- .../boost/fusion/view/iterator_range.hpp | 0 .../view/iterator_range/detail/at_impl.hpp | 46 + .../view/iterator_range/detail/begin_impl.hpp | 42 + .../view/iterator_range/detail/end_impl.hpp | 42 + .../detail/is_segmented_impl.hpp | 0 .../detail/segmented_iterator_range.hpp | 47 +- .../iterator_range/detail/segments_impl.hpp | 2 +- .../view/iterator_range/detail/size_impl.hpp | 0 .../iterator_range/detail/value_at_impl.hpp | 0 .../view/iterator_range/iterator_range.hpp | 2 +- .../include/boost/fusion/view/joint_view.hpp | 0 .../view/joint_view/detail/begin_impl.hpp | 71 + .../joint_view/detail/deref_data_impl.hpp | 39 + .../view/joint_view/detail/deref_impl.hpp | 0 .../view/joint_view/detail/end_impl.hpp | 42 + .../view/joint_view/detail/key_of_impl.hpp | 0 .../view/joint_view/detail/next_impl.hpp | 75 + .../joint_view/detail/value_of_data_impl.hpp | 0 .../view/joint_view/detail/value_of_impl.hpp | 0 .../fusion/view/joint_view/joint_view.hpp | 8 +- .../fusion/view/joint_view/joint_view_fwd.hpp | 0 .../view/joint_view/joint_view_iterator.hpp | 11 +- .../include/boost/fusion/view/nview.hpp | 0 .../fusion/view/nview/detail/advance_impl.hpp | 50 + .../fusion/view/nview/detail/at_impl.hpp | 48 + .../fusion/view/nview/detail/begin_impl.hpp | 49 + .../view/nview/detail/cpp03/nview_impl.hpp | 81 + .../fusion/view/nview/detail/deref_impl.hpp | 50 + .../view/nview/detail/distance_impl.hpp | 46 + .../fusion/view/nview/detail/end_impl.hpp | 51 + .../view/nview/detail/equal_to_impl.hpp | 0 .../fusion/view/nview/detail/next_impl.hpp | 50 + .../fusion/view/nview/detail/nview_impl.hpp | 50 + .../fusion/view/nview/detail/prior_impl.hpp | 50 + .../fusion/view/nview/detail/size_impl.hpp | 0 .../view/nview/detail/value_at_impl.hpp | 0 .../view/nview/detail/value_of_impl.hpp | 0 .../include/boost/fusion/view/nview/nview.hpp | 19 +- .../fusion/view/nview/nview_iterator.hpp | 15 +- .../boost/fusion/view/repetitive_view.hpp | 0 .../repetitive_view/detail/begin_impl.hpp | 51 + .../repetitive_view/detail/deref_impl.hpp | 46 + .../view/repetitive_view/detail/end_impl.hpp | 51 + .../view/repetitive_view/detail/next_impl.hpp | 94 + .../repetitive_view/detail/value_of_impl.hpp | 0 .../view/repetitive_view/repetitive_view.hpp | 4 +- .../repetitive_view/repetitive_view_fwd.hpp | 0 .../repetitive_view_iterator.hpp | 19 +- .../boost/fusion/view/reverse_view.hpp | 0 .../view/reverse_view/detail/advance_impl.hpp | 49 + .../view/reverse_view/detail/at_impl.hpp | 43 + .../view/reverse_view/detail/begin_impl.hpp | 43 + .../reverse_view/detail/deref_data_impl.hpp | 39 + .../view/reverse_view/detail/deref_impl.hpp | 50 + .../reverse_view/detail/distance_impl.hpp | 47 + .../view/reverse_view/detail/end_impl.hpp | 43 + .../view/reverse_view/detail/key_of_impl.hpp | 0 .../view/reverse_view/detail/next_impl.hpp | 49 + .../view/reverse_view/detail/prior_impl.hpp | 49 + .../reverse_view/detail/value_at_impl.hpp | 0 .../detail/value_of_data_impl.hpp | 0 .../reverse_view/detail/value_of_impl.hpp | 0 .../fusion/view/reverse_view/reverse_view.hpp | 6 +- .../reverse_view/reverse_view_iterator.hpp | 11 +- .../include/boost/fusion/view/single_view.hpp | 0 .../view/single_view/detail/advance_impl.hpp | 49 + .../view/single_view/detail/at_impl.hpp | 46 + .../view/single_view/detail/begin_impl.hpp | 47 + .../view/single_view/detail/deref_impl.hpp | 47 + .../view/single_view/detail/distance_impl.hpp | 45 + .../view/single_view/detail/end_impl.hpp | 47 + .../view/single_view/detail/equal_to_impl.hpp | 0 .../view/single_view/detail/next_impl.hpp | 55 + .../view/single_view/detail/prior_impl.hpp | 48 + .../view/single_view/detail/size_impl.hpp | 0 .../view/single_view/detail/value_at_impl.hpp | 0 .../view/single_view/detail/value_of_impl.hpp | 0 .../fusion/view/single_view/single_view.hpp | 7 +- .../view/single_view/single_view_iterator.hpp | 12 +- .../boost/fusion/view/transform_view.hpp | 0 .../transform_view/detail/advance_impl.hpp | 78 + .../detail/apply_transform_result.hpp | 0 .../view/transform_view/detail/at_impl.hpp | 66 + .../view/transform_view/detail/begin_impl.hpp | 71 + .../view/transform_view/detail/deref_impl.hpp | 79 + .../transform_view/detail/distance_impl.hpp | 62 + .../view/transform_view/detail/end_impl.hpp | 71 + .../transform_view/detail/equal_to_impl.hpp | 0 .../view/transform_view/detail/next_impl.hpp | 77 + .../view/transform_view/detail/prior_impl.hpp | 76 + .../transform_view/detail/value_at_impl.hpp | 0 .../transform_view/detail/value_of_impl.hpp | 0 .../view/transform_view/transform_view.hpp | 16 +- .../transform_view/transform_view_fwd.hpp | 0 .../transform_view_iterator.hpp | 16 +- .../include/boost/fusion/view/zip_view.hpp | 0 .../view/zip_view/detail/advance_impl.hpp | 72 + .../fusion/view/zip_view/detail/at_impl.hpp | 97 + .../view/zip_view/detail/begin_impl.hpp | 97 + .../view/zip_view/detail/deref_impl.hpp | 87 + .../view/zip_view/detail/distance_impl.hpp | 84 + .../fusion/view/zip_view/detail/end_impl.hpp | 108 + .../view/zip_view/detail/equal_to_impl.hpp | 0 .../fusion/view/zip_view/detail/next_impl.hpp | 87 + .../view/zip_view/detail/prior_impl.hpp | 87 + .../fusion/view/zip_view/detail/size_impl.hpp | 0 .../view/zip_view/detail/value_at_impl.hpp | 0 .../view/zip_view/detail/value_of_impl.hpp | 0 .../boost/fusion/view/zip_view/zip_view.hpp | 2 +- .../view/zip_view/zip_view_iterator.hpp | 11 +- .../view/zip_view/zip_view_iterator_fwd.hpp | 0 .../include/boost/generator_iterator.hpp | 11 +- .../include/boost/geometry.hpp | 0 .../include/boost/get_pointer.hpp | 76 + .../include/boost/graph/accounting.hpp | 0 .../boost/graph/adj_list_serialize.hpp | 0 .../boost/graph/adjacency_iterator.hpp | 0 .../include/boost/graph/adjacency_list.hpp | 0 .../include/boost/graph/adjacency_list_io.hpp | 0 .../include/boost/graph/adjacency_matrix.hpp | 2 +- .../include/boost/graph/astar_search.hpp | 0 .../include/boost/graph/bandwidth.hpp | 0 .../include/boost/graph/bc_clustering.hpp | 2 - .../graph/bellman_ford_shortest_paths.hpp | 0 .../boost/graph/betweenness_centrality.hpp | 0 .../boost/graph/biconnected_components.hpp | 0 .../include/boost/graph/bipartite.hpp | 0 .../boost/graph/boyer_myrvold_planar_test.hpp | 0 .../graph/boykov_kolmogorov_max_flow.hpp | 0 .../boost/graph/breadth_first_search.hpp | 0 .../boost/graph/bron_kerbosch_all_cliques.hpp | 0 .../include/boost/graph/buffer_concepts.hpp | 3 +- .../boost/graph/chrobak_payne_drawing.hpp | 0 .../include/boost/graph/circle_layout.hpp | 0 .../boost/graph/closeness_centrality.hpp | 0 .../boost/graph/clustering_coefficient.hpp | 0 .../graph/compressed_sparse_row_graph.hpp | 0 .../boost/graph/connected_components.hpp | 0 .../boost-1.62.0/include/boost/graph/copy.hpp | 511 ++ .../include/boost/graph/core_numbers.hpp | 0 .../boost/graph/create_condensation_graph.hpp | 0 .../boost/graph/cuthill_mckee_ordering.hpp | 0 .../include/boost/graph/cycle_canceling.hpp | 0 .../boost/graph/dag_shortest_paths.hpp | 0 .../include/boost/graph/degree_centrality.hpp | 0 .../boost/graph/depth_first_search.hpp | 20 +- .../graph/detail/adj_list_edge_iterator.hpp | 0 .../boost/graph/detail/adjacency_list.hpp | 54 +- .../boost/graph/detail/array_binary_tree.hpp | 3 + .../include/boost/graph/detail/augment.hpp | 0 .../detail/compressed_sparse_row_struct.hpp | 0 .../graph/detail/connected_components.hpp | 0 .../include/boost/graph/detail/d_ary_heap.hpp | 0 .../include/boost/graph/detail/edge.hpp | 2 + .../include/boost/graph/detail/geodesic.hpp | 0 .../boost/graph/detail/histogram_sort.hpp | 0 .../boost/graph/detail/incidence_iterator.hpp | 0 .../graph/detail/incremental_components.hpp | 0 .../include/boost/graph/detail/index.hpp | 0 .../boost/graph/detail/indexed_properties.hpp | 0 .../graph/detail/is_distributed_selector.hpp | 0 .../graph/detail/labeled_graph_traits.hpp | 0 .../include/boost/graph/detail/list_base.hpp | 12 +- .../boost/graph/detail/permutation.hpp | 0 .../boost/graph/detail/read_graphviz_new.hpp | 0 .../graph/detail/read_graphviz_spirit.hpp | 0 .../boost/graph/detail/self_avoiding_walk.hpp | 0 .../boost/graph/detail/set_adaptor.hpp | 0 .../boost/graph/detail/shadow_iterator.hpp | 0 .../boost/graph/detail/sparse_ordering.hpp | 0 .../boost/graph/dijkstra_shortest_paths.hpp | 0 .../dijkstra_shortest_paths_no_color_map.hpp | 0 .../include/boost/graph/dimacs.hpp | 0 .../include/boost/graph/directed_graph.hpp | 4 +- .../graph/distributed/adjacency_list.hpp | 0 .../graph/distributed/adjlist/handlers.hpp | 0 .../graph/distributed/adjlist/initialize.hpp | 0 .../distributed/adjlist/redistribute.hpp | 0 .../distributed/adjlist/serialization.hpp | 988 +++ .../distributed/betweenness_centrality.hpp | 0 .../boman_et_al_graph_coloring.hpp | 0 .../distributed/breadth_first_search.hpp | 0 .../compressed_sparse_row_graph.hpp | 0 .../boost/graph/distributed/concepts.hpp | 0 .../distributed/connected_components.hpp | 0 .../connected_components_parallel_search.hpp | 0 .../crauser_et_al_shortest_paths.hpp | 0 .../dehne_gotz_min_spanning_tree.hpp | 0 .../delta_stepping_shortest_paths.hpp | 0 .../graph/distributed/depth_first_search.hpp | 0 .../detail/dijkstra_shortest_paths.hpp | 0 .../distributed/detail/filtered_queue.hpp | 0 .../distributed/detail/mpi_process_group.ipp | 1 + .../boost/graph/distributed/detail/queue.ipp | 0 .../distributed/detail/remote_update_set.hpp | 0 .../distributed/detail/tag_allocator.hpp | 0 .../distributed/dijkstra_shortest_paths.hpp | 0 .../distributed/distributed_graph_utility.hpp | 0 .../eager_dijkstra_shortest_paths.hpp | 0 .../graph/distributed/filtered_graph.hpp | 0 .../distributed/fruchterman_reingold.hpp | 0 .../boost/graph/distributed/graphviz.hpp | 0 .../hohberg_biconnected_components.hpp | 4 +- .../graph/distributed/local_subgraph.hpp | 0 .../graph/distributed/mpi_process_group.hpp | 0 .../boost/graph/distributed/named_graph.hpp | 0 .../graph/distributed/one_bit_color_map.hpp | 0 .../boost/graph/distributed/page_rank.hpp | 0 .../include/boost/graph/distributed/queue.hpp | 0 .../boost/graph/distributed/reverse_graph.hpp | 0 .../distributed/rmat_graph_generator.hpp | 0 .../boost/graph/distributed/selector.hpp | 0 .../distributed/shuffled_distribution.hpp | 0 .../boost/graph/distributed/st_connected.hpp | 0 .../graph/distributed/strong_components.hpp | 0 .../graph/distributed/two_bit_color_map.hpp | 0 .../graph/distributed/unsafe_serialize.hpp | 0 .../graph/distributed/vertex_list_adaptor.hpp | 0 .../include/boost/graph/dll_import_export.hpp | 0 .../include/boost/graph/dominator_tree.hpp | 16 +- .../include/boost/graph/eccentricity.hpp | 0 .../include/boost/graph/edge_coloring.hpp | 0 .../include/boost/graph/edge_connectivity.hpp | 0 .../include/boost/graph/edge_list.hpp | 0 .../boost/graph/edmonds_karp_max_flow.hpp | 0 .../boost/graph/edmunds_karp_max_flow.hpp | 0 .../boost/graph/erdos_renyi_generator.hpp | 0 .../include/boost/graph/exception.hpp | 0 .../include/boost/graph/exterior_property.hpp | 0 .../include/boost/graph/filtered_graph.hpp | 20 + .../include/boost/graph/find_flow_cost.hpp | 6 +- .../boost/graph/floyd_warshall_shortest.hpp | 0 .../boost/graph/fruchterman_reingold.hpp | 0 .../include/boost/graph/geodesic_distance.hpp | 0 .../include/boost/graph/graph_archetypes.hpp | 0 .../include/boost/graph/graph_as_tree.hpp | 0 .../include/boost/graph/graph_concepts.hpp | 2 + .../boost/graph/graph_mutability_traits.hpp | 0 .../include/boost/graph/graph_selectors.hpp | 0 .../include/boost/graph/graph_stats.hpp | 0 .../include/boost/graph/graph_test.hpp | 0 .../include/boost/graph/graph_traits.hpp | 0 .../include/boost/graph/graph_utility.hpp | 0 .../include/boost/graph/graphml.hpp | 4 +- .../include/boost/graph/graphviz.hpp | 0 .../include/boost/graph/grid_graph.hpp | 0 .../boost/graph/gursoy_atun_layout.hpp | 0 .../include/boost/graph/hawick_circuits.hpp | 0 .../boost/graph/howard_cycle_ratio.hpp | 0 .../boost/graph/incremental_components.hpp | 0 .../boost/graph/is_kuratowski_subgraph.hpp | 0 .../boost/graph/is_straight_line_drawing.hpp | 0 .../include/boost/graph/isomorphism.hpp | 0 .../include/boost/graph/iteration_macros.hpp | 0 .../boost/graph/iteration_macros_undef.hpp | 0 .../graph/johnson_all_pairs_shortest.hpp | 0 .../graph/kamada_kawai_spring_layout.hpp | 2 +- .../include/boost/graph/king_ordering.hpp | 0 .../boost/graph/kruskal_min_spanning_tree.hpp | 0 .../include/boost/graph/labeled_graph.hpp | 7 +- .../include/boost/graph/leda_graph.hpp | 0 .../include/boost/graph/lookup_edge.hpp | 0 .../boost/graph/loop_erased_random_walk.hpp | 0 .../boost/graph/make_biconnected_planar.hpp | 0 .../include/boost/graph/make_connected.hpp | 0 .../boost/graph/make_maximal_planar.hpp | 0 .../include/boost/graph/matrix_as_graph.hpp | 0 .../boost/graph/max_cardinality_matching.hpp | 0 .../boost/graph/maximum_adjacency_search.hpp | 0 .../boost/graph/mcgregor_common_subgraphs.hpp | 0 .../boost/graph/mesh_graph_generator.hpp | 0 .../include/boost/graph/metis.hpp | 3 +- .../include/boost/graph/metric_tsp_approx.hpp | 6 +- .../boost/graph/minimum_degree_ordering.hpp | 0 .../boost/graph/named_function_params.hpp | 10 +- .../include/boost/graph/named_graph.hpp | 0 .../include/boost/graph/neighbor_bfs.hpp | 0 .../include/boost/graph/numeric_values.hpp | 0 .../include/boost/graph/one_bit_color_map.hpp | 0 .../include/boost/graph/overloading.hpp | 0 .../include/boost/graph/page_rank.hpp | 0 .../boost/graph/parallel/algorithm.hpp | 0 .../boost/graph/parallel/basic_reduce.hpp | 0 .../boost/graph/parallel/container_traits.hpp | 0 .../parallel/detail/inplace_all_to_all.hpp | 0 .../parallel/detail/property_holders.hpp | 0 .../graph/parallel/detail/untracked_pair.hpp | 0 .../boost/graph/parallel/distribution.hpp | 0 .../boost/graph/parallel/process_group.hpp | 0 .../boost/graph/parallel/properties.hpp | 6 +- .../boost/graph/parallel/simple_trigger.hpp | 0 .../boost/graph/planar_canonical_ordering.hpp | 2 +- .../graph/planar_detail/add_edge_visitors.hpp | 0 .../planar_detail/boyer_myrvold_impl.hpp | 653 +- .../boost/graph/planar_detail/bucket_sort.hpp | 0 .../graph/planar_detail/face_handles.hpp | 0 .../graph/planar_detail/face_iterators.hpp | 0 .../boost/graph/planar_face_traversal.hpp | 0 .../include/boost/graph/plod_generator.hpp | 0 .../include/boost/graph/point_traits.hpp | 0 .../graph/prim_minimum_spanning_tree.hpp | 0 .../include/boost/graph/profile.hpp | 0 .../include/boost/graph/properties.hpp | 0 .../boost/graph/property_iter_range.hpp | 0 .../property_maps/constant_property_map.hpp | 0 .../property_maps/container_property_map.hpp | 0 .../property_maps/matrix_property_map.hpp | 0 .../graph/property_maps/null_property_map.hpp | 0 .../boost/graph/push_relabel_max_flow.hpp | 0 .../boost/graph/r_c_shortest_paths.hpp | 1 + .../include/boost/graph/random.hpp | 0 .../include/boost/graph/random_layout.hpp | 0 .../boost/graph/random_spanning_tree.hpp | 0 .../include/boost/graph/read_dimacs.hpp | 0 .../include/boost/graph/relax.hpp | 0 .../include/boost/graph/reverse_graph.hpp | 0 .../boost/graph/rmat_graph_generator.hpp | 0 .../graph/sequential_vertex_coloring.hpp | 0 .../include/boost/graph/simple_point.hpp | 0 .../include/boost/graph/sloan_ordering.hpp | 0 .../boost/graph/small_world_generator.hpp | 0 .../boost/graph/smallest_last_ordering.hpp | 0 .../boost/graph/ssca_graph_generator.hpp | 0 .../include/boost/graph/st_connected.hpp | 0 .../include/boost/graph/stanford_graph.hpp | 0 .../boost/graph/stoer_wagner_min_cut.hpp | 0 .../include/boost/graph/strong_components.hpp | 1 + .../include/boost/graph/subgraph.hpp | 0 ...sive_shortest_path_nonnegative_weights.hpp | 0 .../boost/graph/tiernan_all_cycles.hpp | 0 .../include/boost/graph/topological_sort.hpp | 0 .../include/boost/graph/topology.hpp | 0 .../boost/graph/transitive_closure.hpp | 0 .../boost/graph/transitive_reduction.hpp | 0 .../include/boost/graph/transpose_graph.hpp | 0 .../include/boost/graph/tree_traits.hpp | 2 + .../include/boost/graph/two_bit_color_map.hpp | 0 .../two_graphs_common_spanning_trees.hpp | 0 .../include/boost/graph/undirected_dfs.hpp | 0 .../include/boost/graph/undirected_graph.hpp | 0 .../include/boost/graph/use_mpi.hpp | 0 .../include/boost/graph/vector_as_graph.hpp | 0 .../boost/graph/vertex_and_edge_range.hpp | 0 .../include/boost/graph/vf2_sub_graph_iso.hpp | 0 .../include/boost/graph/visitors.hpp | 0 .../include/boost/graph/wavefront.hpp | 0 .../include/boost/graph/write_dimacs.hpp | 0 .../include/boost/implicit_cast.hpp | 0 .../include/boost/indirect_reference.hpp | 4 +- .../include/boost/integer.hpp | 49 +- .../include/boost/integer/common_factor.hpp | 16 + .../boost/integer/common_factor_ct.hpp | 102 + .../boost/integer/common_factor_rt.hpp | 460 ++ .../include/boost/integer/integer_log2.hpp | 0 .../include/boost/integer/integer_mask.hpp | 0 .../include/boost/integer/static_log2.hpp | 0 .../include/boost/integer/static_min_max.hpp | 0 .../include/boost/integer_fwd.hpp | 23 + .../include/boost/integer_traits.hpp | 0 .../include/boost/intrusive/any_hook.hpp | 85 +- .../include/boost/intrusive/avl_set.hpp | 1073 +++ .../include/boost/intrusive/avl_set_hook.hpp | 22 +- .../include/boost/intrusive/avltree.hpp | 588 ++ .../boost/intrusive/avltree_algorithms.hpp | 119 +- .../include/boost/intrusive/bs_set.hpp | 1069 +++ .../include/boost/intrusive/bs_set_hook.hpp | 20 +- .../include/boost/intrusive/bstree.hpp | 2238 ++++++ .../boost/intrusive/bstree_algorithms.hpp | 405 +- .../intrusive/circular_list_algorithms.hpp | 468 ++ .../intrusive/circular_slist_algorithms.hpp | 23 +- .../intrusive/derivation_value_traits.hpp | 6 +- .../boost/intrusive/detail/algo_type.hpp | 53 + .../boost/intrusive/detail/algorithm.hpp | 90 + .../detail/any_node_and_algorithms.hpp | 297 + .../intrusive/detail/array_initializer.hpp | 95 + .../include/boost/intrusive/detail/assert.hpp | 45 + .../boost/intrusive/detail/avltree_node.hpp | 193 + .../detail/bstree_algorithms_base.hpp | 184 + .../detail/common_slist_algorithms.hpp | 198 + .../boost/intrusive/detail/config_begin.hpp | 56 + .../boost/intrusive/detail/config_end.hpp | 0 .../detail/default_header_holder.hpp | 70 + .../intrusive/detail/ebo_functor_holder.hpp | 292 + .../intrusive/detail/empty_node_checker.hpp | 44 + .../boost/intrusive/detail/equal_to_value.hpp | 50 + .../intrusive/detail/exception_disposer.hpp | 90 + .../intrusive/detail/function_detector.hpp | 92 + .../boost/intrusive/detail/generic_hook.hpp | 65 +- .../intrusive/detail/get_value_traits.hpp | 222 + .../has_member_function_callable_with.hpp | 366 + .../boost/intrusive/detail/hashtable_node.hpp | 287 + .../boost/intrusive/detail/hook_traits.hpp | 187 + .../boost/intrusive/detail/iiterator.hpp | 122 + .../detail/is_stateful_value_traits.hpp | 12 +- .../boost/intrusive/detail/iterator.hpp | 156 + .../intrusive/detail/key_nodeptr_comp.hpp | 121 + .../boost/intrusive/detail/list_iterator.hpp | 134 + .../boost/intrusive/detail/list_node.hpp | 72 + .../include/boost/intrusive/detail/math.hpp | 295 + .../boost/intrusive/detail/memory_util.hpp | 0 .../detail/minimal_less_equal_header.hpp | 30 + .../intrusive/detail/minimal_pair_header.hpp | 30 + .../include/boost/intrusive/detail/mpl.hpp | 206 + .../intrusive/detail/node_cloner_disposer.hpp | 105 + .../boost/intrusive/detail/node_holder.hpp | 35 + .../boost/intrusive/detail/node_to_value.hpp | 130 + .../intrusive/detail/parent_from_member.hpp | 121 + .../intrusive/detail/pointer_element.hpp | 168 + .../boost/intrusive/detail/preprocessor.hpp | 0 .../boost/intrusive/detail/rbtree_node.hpp | 205 + .../intrusive/detail/reverse_iterator.hpp | 165 + .../intrusive/detail/simple_disposers.hpp | 50 + .../boost/intrusive/detail/size_holder.hpp | 91 + .../boost/intrusive/detail/slist_iterator.hpp | 125 + .../boost/intrusive/detail/slist_node.hpp | 64 + .../boost/intrusive/detail/std_fwd.hpp | 43 + .../boost/intrusive/detail/to_raw_pointer.hpp | 47 + .../intrusive/detail/transform_iterator.hpp | 172 + .../boost/intrusive/detail/tree_iterator.hpp | 172 + .../boost/intrusive/detail/tree_node.hpp | 80 + .../intrusive/detail/tree_value_compare.hpp | 163 + .../include/boost/intrusive/detail/uncast.hpp | 55 + .../boost/intrusive/detail/utilities.hpp | 0 .../boost/intrusive/detail/workaround.hpp | 50 + .../include/boost/intrusive/hashtable.hpp | 3585 ++++++++++ .../include/boost/intrusive/intrusive_fwd.hpp | 56 +- .../intrusive/linear_slist_algorithms.hpp | 14 +- .../include/boost/intrusive/link_mode.hpp | 23 +- .../include/boost/intrusive/list.hpp | 1509 +++++ .../include/boost/intrusive/list_hook.hpp | 21 +- .../boost/intrusive/member_value_traits.hpp | 23 +- .../include/boost/intrusive/options.hpp | 256 + .../include/boost/intrusive/pack_options.hpp | 10 +- .../boost/intrusive/parent_from_member.hpp | 49 + .../boost/intrusive/pointer_plus_bits.hpp | 26 +- .../boost/intrusive/pointer_rebind.hpp | 188 + .../boost/intrusive/pointer_traits.hpp | 318 + .../boost/intrusive/priority_compare.hpp | 82 + .../include/boost/intrusive/rbtree.hpp | 591 ++ .../boost/intrusive/rbtree_algorithms.hpp | 133 +- .../include/boost/intrusive/set.hpp | 1073 +++ .../include/boost/intrusive/set_hook.hpp | 21 +- .../include/boost/intrusive/sg_set.hpp | 1094 +++ .../include/boost/intrusive/sgtree.hpp | 1081 +++ .../boost/intrusive/sgtree_algorithms.hpp | 71 +- .../include/boost/intrusive/slist.hpp | 2247 +++++++ .../include/boost/intrusive/slist_hook.hpp | 26 +- .../include/boost/intrusive/splay_set.hpp | 1110 +++ .../include/boost/intrusive/splaytree.hpp | 666 ++ .../boost/intrusive/splaytree_algorithms.hpp | 76 +- .../include/boost/intrusive/treap.hpp | 1344 ++++ .../boost/intrusive/treap_algorithms.hpp | 81 +- .../include/boost/intrusive/treap_set.hpp | 1106 +++ .../boost/intrusive/trivial_value_traits.hpp | 13 +- .../include/boost/intrusive/unordered_set.hpp | 990 +++ .../boost/intrusive/unordered_set_hook.hpp | 55 +- .../include/boost/intrusive_ptr.hpp | 0 .../include/boost/io/detail/quoted_manip.hpp | 0 .../include/boost/io/ios_state.hpp | 0 .../include/boost/io_fwd.hpp | 0 .../include/boost/iostreams/categories.hpp | 2 +- .../include/boost/iostreams/chain.hpp | 30 +- .../include/boost/iostreams/char_traits.hpp | 73 + .../boost/iostreams/checked_operations.hpp | 0 .../include/boost/iostreams/close.hpp | 8 +- .../boost/iostreams/code_converter.hpp | 10 +- .../include/boost/iostreams/combine.hpp | 2 +- .../include/boost/iostreams/compose.hpp | 5 +- .../include/boost/iostreams/concepts.hpp | 129 + .../include/boost/iostreams/constants.hpp | 42 + .../include/boost/iostreams/copy.hpp | 248 + .../boost/iostreams/detail/absolute_path.hpp | 0 .../boost/iostreams/detail/access_control.hpp | 2 +- .../detail/adapter/concept_adapter.hpp | 0 .../detail/adapter/device_adapter.hpp | 0 .../detail/adapter/direct_adapter.hpp | 2 +- .../detail/adapter/filter_adapter.hpp | 0 .../iostreams/detail/adapter/mode_adapter.hpp | 22 +- .../detail/adapter/non_blocking_adapter.hpp | 0 .../adapter/output_iterator_adapter.hpp | 2 +- .../detail/adapter/range_adapter.hpp | 2 +- .../boost/iostreams/detail/add_facet.hpp | 2 +- .../boost/iostreams/detail/bool_trait_def.hpp | 0 .../broken_overload_resolution/forward.hpp | 0 .../broken_overload_resolution/stream.hpp | 0 .../stream_buffer.hpp | 0 .../include/boost/iostreams/detail/buffer.hpp | 27 +- .../boost/iostreams/detail/call_traits.hpp | 2 +- .../boost/iostreams/detail/char_traits.hpp | 63 + .../boost/iostreams/detail/codecvt_helper.hpp | 25 +- .../boost/iostreams/detail/codecvt_holder.hpp | 2 +- .../iostreams/detail/config/auto_link.hpp | 49 + .../boost/iostreams/detail/config/bzip2.hpp | 48 + .../boost/iostreams/detail/config/codecvt.hpp | 2 +- .../detail/config/disable_warnings.hpp | 0 .../iostreams/detail/config/dyn_link.hpp | 2 +- .../detail/config/enable_warnings.hpp | 0 .../boost/iostreams/detail/config/fpos.hpp | 2 +- .../boost/iostreams/detail/config/gcc.hpp | 27 + .../boost/iostreams/detail/config/limits.hpp | 0 .../detail/config/overload_resolution.hpp | 6 +- .../boost/iostreams/detail/config/rtl.hpp | 0 .../detail/config/unreachable_return.hpp | 2 +- .../iostreams/detail/config/wide_streams.hpp | 2 +- .../iostreams/detail/config/windows_posix.hpp | 0 .../boost/iostreams/detail/config/zlib.hpp | 50 + .../boost/iostreams/detail/counted_array.hpp | 20 +- .../iostreams/detail/current_directory.hpp | 0 .../boost/iostreams/detail/default_arg.hpp | 21 + .../boost/iostreams/detail/dispatch.hpp | 2 +- .../boost/iostreams/detail/double_object.hpp | 2 +- .../iostreams/detail/enable_if_stream.hpp | 2 +- .../include/boost/iostreams/detail/error.hpp | 45 + .../boost/iostreams/detail/execute.hpp | 2 +- .../boost/iostreams/detail/file_handle.hpp | 0 .../boost/iostreams/detail/forward.hpp | 43 +- .../boost/iostreams/detail/fstream.hpp | 2 +- .../boost/iostreams/detail/functional.hpp | 189 + .../include/boost/iostreams/detail/ios.hpp | 5 +- .../boost/iostreams/detail/iostream.hpp | 2 +- .../iostreams/detail/is_dereferenceable.hpp | 9 +- .../iostreams/detail/is_iterator_range.hpp | 34 + .../boost/iostreams/detail/newline.hpp | 32 + .../boost/iostreams/detail/optional.hpp | 114 + .../boost/iostreams/detail/param_type.hpp | 2 +- .../include/boost/iostreams/detail/path.hpp | 0 .../include/boost/iostreams/detail/push.hpp | 5 +- .../boost/iostreams/detail/push_params.hpp | 2 +- .../boost/iostreams/detail/resolve.hpp | 19 +- .../boost/iostreams/detail/restrict_impl.hpp | 3 +- .../include/boost/iostreams/detail/select.hpp | 2 +- .../boost/iostreams/detail/select_by_size.hpp | 0 .../boost/iostreams/detail/streambuf.hpp | 2 +- .../iostreams/detail/streambuf/chainbuf.hpp | 5 +- .../detail/streambuf/direct_streambuf.hpp | 4 +- .../detail/streambuf/indirect_streambuf.hpp | 2 - .../detail/streambuf/linked_streambuf.hpp | 2 +- .../boost/iostreams/detail/system_failure.hpp | 2 +- .../iostreams/detail/template_params.hpp | 0 .../iostreams/detail/translate_int_type.hpp | 2 +- .../boost/iostreams/detail/vc6/close.hpp | 0 .../boost/iostreams/detail/vc6/read.hpp | 0 .../boost/iostreams/detail/vc6/write.hpp | 0 .../boost/iostreams/detail/wrap_unwrap.hpp | 31 +- .../include/boost/iostreams/device/array.hpp | 133 + .../boost/iostreams/device/back_inserter.hpp | 2 +- .../include/boost/iostreams/device/file.hpp | 2 +- .../iostreams/device/file_descriptor.hpp | 9 +- .../boost/iostreams/device/mapped_file.hpp | 9 +- .../include/boost/iostreams/device/null.hpp | 2 +- .../boost/iostreams/filter/aggregate.hpp | 2 +- .../include/boost/iostreams/filter/bzip2.hpp | 410 ++ .../boost/iostreams/filter/counter.hpp | 2 +- .../include/boost/iostreams/filter/grep.hpp | 2 +- .../include/boost/iostreams/filter/gzip.hpp | 20 +- .../include/boost/iostreams/filter/line.hpp | 10 +- .../boost/iostreams/filter/newline.hpp | 441 ++ .../include/boost/iostreams/filter/regex.hpp | 98 + .../include/boost/iostreams/filter/stdio.hpp | 2 +- .../boost/iostreams/filter/symmetric.hpp | 310 + .../include/boost/iostreams/filter/test.hpp | 33 +- .../include/boost/iostreams/filter/zlib.hpp | 423 ++ .../boost/iostreams/filtering_stream.hpp | 2 +- .../boost/iostreams/filtering_streambuf.hpp | 2 +- .../include/boost/iostreams/flush.hpp | 2 +- .../include/boost/iostreams/get.hpp | 17 + .../include/boost/iostreams/imbue.hpp | 2 +- .../boost/iostreams/input_sequence.hpp | 2 +- .../include/boost/iostreams/invert.hpp | 2 +- .../include/boost/iostreams/operations.hpp | 2 +- .../boost/iostreams/operations_fwd.hpp | 41 + .../boost/iostreams/optimal_buffer_size.hpp | 2 +- .../boost/iostreams/output_sequence.hpp | 2 +- .../include/boost/iostreams/pipeline.hpp | 16 +- .../include/boost/iostreams/positioning.hpp | 2 +- .../include/boost/iostreams/put.hpp | 2 +- .../include/boost/iostreams/putback.hpp | 2 +- .../include/boost/iostreams/read.hpp | 241 + .../include/boost/iostreams/restrict.hpp | 0 .../include/boost/iostreams/seek.hpp | 180 + .../include/boost/iostreams/skip.hpp | 112 + .../include/boost/iostreams/slice.hpp | 0 .../include/boost/iostreams/stream.hpp | 2 +- .../include/boost/iostreams/stream_buffer.hpp | 2 +- .../include/boost/iostreams/tee.hpp | 2 +- .../include/boost/iostreams/traits.hpp | 363 + .../include/boost/iostreams/traits_fwd.hpp | 2 +- .../include/boost/iostreams/write.hpp | 165 + .../include/boost/is_placeholder.hpp | 0 .../include/boost/iterator.hpp | 0 .../boost/iterator/counting_iterator.hpp | 41 +- .../iterator/detail/any_conversion_eater.hpp | 6 +- .../boost/iterator/detail/config_def.hpp | 17 +- .../boost/iterator/detail/config_undef.hpp | 1 - .../boost/iterator/detail/enable_if.hpp | 83 + .../detail/facade_iterator_category.hpp | 25 +- .../iterator/detail/minimum_category.hpp | 19 + .../detail/operator_brackets_dispatch.hpp | 0 .../boost/iterator/filter_iterator.hpp | 24 +- .../iterator/function_input_iterator.hpp | 17 +- .../boost/iterator/indirect_iterator.hpp | 22 +- .../include/boost/iterator/interoperable.hpp | 12 +- .../boost/iterator/is_lvalue_iterator.hpp | 59 +- .../boost/iterator/is_readable_iterator.hpp | 32 +- .../boost/iterator/iterator_adaptor.hpp | 123 +- .../boost/iterator/iterator_archetypes.hpp | 130 +- .../boost/iterator/iterator_categories.hpp | 215 + .../boost/iterator/iterator_concepts.hpp | 35 +- .../boost/iterator/iterator_facade.hpp | 980 +++ .../boost/iterator/iterator_traits.hpp | 60 + .../boost/iterator/minimum_category.hpp | 95 + .../boost/iterator/new_iterator_tests.hpp | 0 .../boost/iterator/permutation_iterator.hpp | 76 + .../boost/iterator/reverse_iterator.hpp | 74 + .../boost/iterator/transform_iterator.hpp | 171 + .../include/boost/iterator/zip_iterator.hpp | 368 + .../include/boost/iterator_adaptors.hpp | 0 .../include/boost/lambda/algorithm.hpp | 0 .../include/boost/lambda/bind.hpp | 0 .../include/boost/lambda/casts.hpp | 0 .../include/boost/lambda/closures.hpp | 0 .../include/boost/lambda/construct.hpp | 0 .../boost/lambda/control_structures.hpp | 0 .../include/boost/lambda/core.hpp | 0 .../include/boost/lambda/detail/actions.hpp | 0 .../boost/lambda/detail/arity_code.hpp | 0 .../boost/lambda/detail/bind_functions.hpp | 0 .../detail/control_constructs_common.hpp | 0 .../boost/lambda/detail/function_adaptors.hpp | 0 .../boost/lambda/detail/is_instance_of.hpp | 0 .../boost/lambda/detail/lambda_config.hpp | 7 - .../lambda/detail/lambda_functor_base.hpp | 0 .../boost/lambda/detail/lambda_functors.hpp | 2 +- .../boost/lambda/detail/lambda_fwd.hpp | 0 .../boost/lambda/detail/lambda_traits.hpp | 5 + .../boost/lambda/detail/member_ptr.hpp | 0 .../boost/lambda/detail/operator_actions.hpp | 0 .../detail/operator_lambda_func_base.hpp | 0 .../detail/operator_return_type_traits.hpp | 39 +- .../include/boost/lambda/detail/operators.hpp | 352 + .../include/boost/lambda/detail/ret.hpp | 0 .../lambda/detail/return_type_traits.hpp | 25 +- .../boost/lambda/detail/select_functions.hpp | 0 .../boost/lambda/detail/suppress_unused.hpp | 4 +- .../include/boost/lambda/exceptions.hpp | 0 .../include/boost/lambda/if.hpp | 0 .../include/boost/lambda/lambda.hpp | 5 - .../include/boost/lambda/loops.hpp | 0 .../include/boost/lambda/numeric.hpp | 0 .../include/boost/lambda/switch.hpp | 0 .../include/boost/last_value.hpp | 0 .../include/boost/lexical_cast.hpp | 105 + .../boost/lexical_cast/bad_lexical_cast.hpp | 101 + .../lexical_cast/detail/converter_lexical.hpp | 498 ++ .../detail/converter_lexical_streams.hpp | 787 +++ .../lexical_cast/detail/converter_numeric.hpp | 194 + .../boost/lexical_cast/detail/inf_nan.hpp | 197 + .../lexical_cast/detail/is_character.hpp | 58 + .../detail/lcast_char_constants.hpp | 46 + .../detail/lcast_unsigned_converters.hpp | 294 + .../boost/lexical_cast/detail/widest_char.hpp | 40 + .../boost/lexical_cast/lexical_cast_old.hpp | 176 + .../lexical_cast/try_lexical_convert.hpp | 227 + .../include/boost/limits.hpp | 0 .../include/boost/locale.hpp | 0 .../include/boost/make_shared.hpp | 0 .../include/boost/make_unique.hpp | 14 + .../math/bindings/detail/big_digamma.hpp | 0 .../math/bindings/detail/big_lanczos.hpp | 0 .../include/boost/math/bindings/e_float.hpp | 0 .../include/boost/math/bindings/mpfr.hpp | 2 +- .../include/boost/math/bindings/mpreal.hpp | 0 .../include/boost/math/bindings/rr.hpp | 0 .../include/boost/math/common_factor.hpp | 0 .../include/boost/math/common_factor_ct.hpp | 0 .../include/boost/math/common_factor_rt.hpp | 428 ++ .../include/boost/math/complex.hpp | 0 .../include/boost/math/complex/acos.hpp | 0 .../include/boost/math/complex/acosh.hpp | 0 .../include/boost/math/complex/asin.hpp | 0 .../include/boost/math/complex/asinh.hpp | 0 .../include/boost/math/complex/atan.hpp | 0 .../include/boost/math/complex/atanh.hpp | 0 .../include/boost/math/complex/details.hpp | 0 .../include/boost/math/complex/fabs.hpp | 0 .../boost/math/concepts/distributions.hpp | 0 .../boost/math/concepts/real_concept.hpp | 31 +- .../boost/math/concepts/real_type_concept.hpp | 0 .../boost/math/concepts/std_real_concept.hpp | 4 +- .../math/constants/calculate_constants.hpp | 0 .../boost/math/constants/constants.hpp | 347 + .../include/boost/math/constants/info.hpp | 0 .../boost/math/cstdfloat/cstdfloat_cmath.hpp | 0 .../math/cstdfloat/cstdfloat_complex.hpp | 0 .../math/cstdfloat/cstdfloat_complex_std.hpp | 8 +- .../math/cstdfloat/cstdfloat_iostream.hpp | 5 +- .../boost/math/cstdfloat/cstdfloat_limits.hpp | 2 +- .../boost/math/cstdfloat/cstdfloat_types.hpp | 115 +- .../include/boost/math/distributions.hpp | 2 + .../boost/math/distributions/arcsine.hpp | 535 ++ .../boost/math/distributions/bernoulli.hpp | 336 + .../include/boost/math/distributions/beta.hpp | 0 .../boost/math/distributions/binomial.hpp | 728 ++ .../boost/math/distributions/cauchy.hpp | 0 .../boost/math/distributions/chi_squared.hpp | 0 .../boost/math/distributions/complement.hpp | 0 .../detail/common_error_handling.hpp | 0 .../detail/derived_accessors.hpp | 0 .../distributions/detail/generic_mode.hpp | 0 .../distributions/detail/generic_quantile.hpp | 0 .../detail/hypergeometric_cdf.hpp | 0 .../detail/hypergeometric_pdf.hpp | 2 +- .../detail/hypergeometric_quantile.hpp | 245 + .../detail/inv_discrete_quantile.hpp | 4 +- .../boost/math/distributions/exponential.hpp | 4 +- .../math/distributions/extreme_value.hpp | 9 +- .../math/distributions/find_location.hpp | 0 .../boost/math/distributions/find_scale.hpp | 0 .../boost/math/distributions/fisher_f.hpp | 4 +- .../include/boost/math/distributions/fwd.hpp | 153 + .../boost/math/distributions/gamma.hpp | 0 .../boost/math/distributions/geometric.hpp | 2 +- .../math/distributions/hyperexponential.hpp | 634 ++ .../math/distributions/hypergeometric.hpp | 44 +- .../distributions/inverse_chi_squared.hpp | 0 .../math/distributions/inverse_gamma.hpp | 0 .../math/distributions/inverse_gaussian.hpp | 15 + .../boost/math/distributions/laplace.hpp | 0 .../boost/math/distributions/logistic.hpp | 0 .../boost/math/distributions/lognormal.hpp | 0 .../math/distributions/negative_binomial.hpp | 2 +- .../math/distributions/non_central_beta.hpp | 6 +- .../distributions/non_central_chi_squared.hpp | 65 +- .../math/distributions/non_central_f.hpp | 3 +- .../math/distributions/non_central_t.hpp | 4 +- .../boost/math/distributions/normal.hpp | 0 .../boost/math/distributions/pareto.hpp | 0 .../boost/math/distributions/poisson.hpp | 0 .../boost/math/distributions/rayleigh.hpp | 2 +- .../boost/math/distributions/skew_normal.hpp | 18 +- .../boost/math/distributions/students_t.hpp | 0 .../boost/math/distributions/triangular.hpp | 531 ++ .../boost/math/distributions/uniform.hpp | 21 +- .../boost/math/distributions/weibull.hpp | 0 .../include/boost/math/octonion.hpp | 0 .../boost/math/policies/error_handling.hpp | 847 +++ .../include/boost/math/policies/policy.hpp | 111 +- .../include/boost/math/quaternion.hpp | 0 .../include/boost/math/special_functions.hpp | 9 +- .../boost/math/special_functions/acosh.hpp | 0 .../boost/math/special_functions/airy.hpp | 4 +- .../boost/math/special_functions/asinh.hpp | 0 .../boost/math/special_functions/atanh.hpp | 0 .../math/special_functions/bernoulli.hpp | 143 + .../boost/math/special_functions/bessel.hpp | 46 +- .../math/special_functions/bessel_prime.hpp | 8 +- .../boost/math/special_functions/beta.hpp | 246 +- .../boost/math/special_functions/binomial.hpp | 82 + .../boost/math/special_functions/cbrt.hpp | 0 .../boost/math/special_functions/cos_pi.hpp | 82 + .../detail/airy_ai_bi_zero.hpp | 0 .../detail/bernoulli_details.hpp | 86 +- .../detail/bessel_derivatives_linear.hpp | 16 +- .../special_functions/detail/bessel_i0.hpp | 0 .../special_functions/detail/bessel_i1.hpp | 0 .../special_functions/detail/bessel_ik.hpp | 6 +- .../special_functions/detail/bessel_j0.hpp | 0 .../special_functions/detail/bessel_j1.hpp | 0 .../special_functions/detail/bessel_jn.hpp | 7 +- .../special_functions/detail/bessel_jy.hpp | 0 .../detail/bessel_jy_asym.hpp | 18 + .../detail/bessel_jy_derivatives_asym.hpp | 0 .../detail/bessel_jy_derivatives_series.hpp | 5 +- .../detail/bessel_jy_series.hpp | 0 .../detail/bessel_jy_zero.hpp | 0 .../special_functions/detail/bessel_k0.hpp | 6 + .../special_functions/detail/bessel_k1.hpp | 6 + .../special_functions/detail/bessel_kn.hpp | 0 .../special_functions/detail/bessel_y0.hpp | 6 + .../special_functions/detail/bessel_y1.hpp | 6 + .../special_functions/detail/bessel_yn.hpp | 34 +- .../math/special_functions/detail/erf_inv.hpp | 59 +- .../special_functions/detail/fp_traits.hpp | 3 +- .../special_functions/detail/gamma_inva.hpp | 0 .../special_functions/detail/ibeta_inv_ab.hpp | 0 .../detail/ibeta_inverse.hpp | 0 .../math/special_functions/detail/iconv.hpp | 0 .../detail/igamma_inverse.hpp | 0 .../special_functions/detail/igamma_large.hpp | 0 .../special_functions/detail/lanczos_sse2.hpp | 18 +- .../special_functions/detail/lgamma_small.hpp | 0 .../special_functions/detail/polygamma.hpp | 558 ++ .../special_functions/detail/round_fwd.hpp | 0 .../detail/t_distribution_inv.hpp | 40 +- .../detail/unchecked_bernoulli.hpp | 0 .../detail/unchecked_factorial.hpp | 788 +++ .../boost/math/special_functions/digamma.hpp | 183 +- .../boost/math/special_functions/ellint_1.hpp | 14 +- .../boost/math/special_functions/ellint_2.hpp | 37 +- .../boost/math/special_functions/ellint_3.hpp | 376 ++ .../boost/math/special_functions/ellint_d.hpp | 176 + .../math/special_functions/ellint_rc.hpp | 114 + .../math/special_functions/ellint_rd.hpp | 201 + .../math/special_functions/ellint_rf.hpp | 174 + .../math/special_functions/ellint_rg.hpp | 136 + .../math/special_functions/ellint_rj.hpp | 302 + .../boost/math/special_functions/erf.hpp | 0 .../boost/math/special_functions/expint.hpp | 6 + .../boost/math/special_functions/expm1.hpp | 0 .../math/special_functions/factorials.hpp | 2 +- .../math/special_functions/fpclassify.hpp | 42 +- .../boost/math/special_functions/gamma.hpp | 241 +- .../boost/math/special_functions/hankel.hpp | 0 .../boost/math/special_functions/hermite.hpp | 0 .../math/special_functions/heuman_lambda.hpp | 87 + .../boost/math/special_functions/hypot.hpp | 0 .../special_functions/jacobi_elliptic.hpp | 0 .../math/special_functions/jacobi_zeta.hpp | 74 + .../boost/math/special_functions/laguerre.hpp | 0 .../boost/math/special_functions/lanczos.hpp | 2 +- .../boost/math/special_functions/legendre.hpp | 4 +- .../boost/math/special_functions/log1p.hpp | 6 + .../boost/math/special_functions/math_fwd.hpp | 1586 +++++ .../boost/math/special_functions/modf.hpp | 0 .../boost/math/special_functions/next.hpp | 0 .../nonfinite_num_facets.hpp | 5 +- .../boost/math/special_functions/owens_t.hpp | 84 +- .../math/special_functions/polygamma.hpp | 83 + .../boost/math/special_functions/pow.hpp | 7 + .../boost/math/special_functions/powm1.hpp | 84 + .../boost/math/special_functions/prime.hpp | 0 .../special_functions/relative_difference.hpp | 134 + .../boost/math/special_functions/round.hpp | 25 +- .../boost/math/special_functions/sign.hpp | 194 + .../boost/math/special_functions/sin_pi.hpp | 11 +- .../boost/math/special_functions/sinc.hpp | 0 .../boost/math/special_functions/sinhc.hpp | 0 .../special_functions/spherical_harmonic.hpp | 0 .../boost/math/special_functions/sqrt1pm1.hpp | 0 .../boost/math/special_functions/trigamma.hpp | 469 ++ .../boost/math/special_functions/trunc.hpp | 0 .../boost/math/special_functions/ulp.hpp | 71 + .../boost/math/special_functions/zeta.hpp | 266 +- .../include/boost/math/tools/big_constant.hpp | 86 + .../include/boost/math/tools/config.hpp | 458 ++ .../boost/math/tools/convert_from_string.hpp | 51 + .../tools/detail/polynomial_horner1_10.hpp | 22 +- .../tools/detail/polynomial_horner1_11.hpp | 24 +- .../tools/detail/polynomial_horner1_12.hpp | 26 +- .../tools/detail/polynomial_horner1_13.hpp | 28 +- .../tools/detail/polynomial_horner1_14.hpp | 30 +- .../tools/detail/polynomial_horner1_15.hpp | 32 +- .../tools/detail/polynomial_horner1_16.hpp | 34 +- .../tools/detail/polynomial_horner1_17.hpp | 36 +- .../tools/detail/polynomial_horner1_18.hpp | 38 +- .../tools/detail/polynomial_horner1_19.hpp | 40 +- .../tools/detail/polynomial_horner1_2.hpp | 6 +- .../tools/detail/polynomial_horner1_20.hpp | 42 +- .../tools/detail/polynomial_horner1_3.hpp | 8 +- .../tools/detail/polynomial_horner1_4.hpp | 10 +- .../tools/detail/polynomial_horner1_5.hpp | 12 +- .../tools/detail/polynomial_horner1_6.hpp | 14 +- .../tools/detail/polynomial_horner1_7.hpp | 16 +- .../tools/detail/polynomial_horner1_8.hpp | 18 +- .../tools/detail/polynomial_horner1_9.hpp | 20 +- .../tools/detail/polynomial_horner2_10.hpp | 22 +- .../tools/detail/polynomial_horner2_11.hpp | 24 +- .../tools/detail/polynomial_horner2_12.hpp | 26 +- .../tools/detail/polynomial_horner2_13.hpp | 28 +- .../tools/detail/polynomial_horner2_14.hpp | 30 +- .../tools/detail/polynomial_horner2_15.hpp | 32 +- .../tools/detail/polynomial_horner2_16.hpp | 34 +- .../tools/detail/polynomial_horner2_17.hpp | 36 +- .../tools/detail/polynomial_horner2_18.hpp | 38 +- .../tools/detail/polynomial_horner2_19.hpp | 40 +- .../tools/detail/polynomial_horner2_2.hpp | 10 +- .../tools/detail/polynomial_horner2_20.hpp | 42 +- .../tools/detail/polynomial_horner2_3.hpp | 10 +- .../tools/detail/polynomial_horner2_4.hpp | 10 +- .../tools/detail/polynomial_horner2_5.hpp | 12 +- .../tools/detail/polynomial_horner2_6.hpp | 14 +- .../tools/detail/polynomial_horner2_7.hpp | 16 +- .../tools/detail/polynomial_horner2_8.hpp | 18 +- .../tools/detail/polynomial_horner2_9.hpp | 20 +- .../tools/detail/polynomial_horner3_10.hpp | 22 +- .../tools/detail/polynomial_horner3_11.hpp | 24 +- .../tools/detail/polynomial_horner3_12.hpp | 26 +- .../tools/detail/polynomial_horner3_13.hpp | 28 +- .../tools/detail/polynomial_horner3_14.hpp | 30 +- .../tools/detail/polynomial_horner3_15.hpp | 32 +- .../tools/detail/polynomial_horner3_16.hpp | 34 +- .../tools/detail/polynomial_horner3_17.hpp | 36 +- .../tools/detail/polynomial_horner3_18.hpp | 38 +- .../tools/detail/polynomial_horner3_19.hpp | 40 +- .../tools/detail/polynomial_horner3_2.hpp | 10 +- .../tools/detail/polynomial_horner3_20.hpp | 42 +- .../tools/detail/polynomial_horner3_3.hpp | 10 +- .../tools/detail/polynomial_horner3_4.hpp | 10 +- .../tools/detail/polynomial_horner3_5.hpp | 12 +- .../tools/detail/polynomial_horner3_6.hpp | 14 +- .../tools/detail/polynomial_horner3_7.hpp | 16 +- .../tools/detail/polynomial_horner3_8.hpp | 18 +- .../tools/detail/polynomial_horner3_9.hpp | 20 +- .../math/tools/detail/rational_horner1_10.hpp | 22 +- .../math/tools/detail/rational_horner1_11.hpp | 24 +- .../math/tools/detail/rational_horner1_12.hpp | 26 +- .../math/tools/detail/rational_horner1_13.hpp | 28 +- .../math/tools/detail/rational_horner1_14.hpp | 30 +- .../math/tools/detail/rational_horner1_15.hpp | 32 +- .../math/tools/detail/rational_horner1_16.hpp | 34 +- .../math/tools/detail/rational_horner1_17.hpp | 36 +- .../math/tools/detail/rational_horner1_18.hpp | 38 +- .../math/tools/detail/rational_horner1_19.hpp | 40 +- .../math/tools/detail/rational_horner1_2.hpp | 6 +- .../math/tools/detail/rational_horner1_20.hpp | 42 +- .../math/tools/detail/rational_horner1_3.hpp | 8 +- .../math/tools/detail/rational_horner1_4.hpp | 10 +- .../math/tools/detail/rational_horner1_5.hpp | 12 +- .../math/tools/detail/rational_horner1_6.hpp | 14 +- .../math/tools/detail/rational_horner1_7.hpp | 16 +- .../math/tools/detail/rational_horner1_8.hpp | 18 +- .../math/tools/detail/rational_horner1_9.hpp | 20 +- .../math/tools/detail/rational_horner2_10.hpp | 22 +- .../math/tools/detail/rational_horner2_11.hpp | 24 +- .../math/tools/detail/rational_horner2_12.hpp | 26 +- .../math/tools/detail/rational_horner2_13.hpp | 28 +- .../math/tools/detail/rational_horner2_14.hpp | 30 +- .../math/tools/detail/rational_horner2_15.hpp | 32 +- .../math/tools/detail/rational_horner2_16.hpp | 34 +- .../math/tools/detail/rational_horner2_17.hpp | 36 +- .../math/tools/detail/rational_horner2_18.hpp | 38 +- .../math/tools/detail/rational_horner2_19.hpp | 40 +- .../math/tools/detail/rational_horner2_2.hpp | 10 +- .../math/tools/detail/rational_horner2_20.hpp | 42 +- .../math/tools/detail/rational_horner2_3.hpp | 10 +- .../math/tools/detail/rational_horner2_4.hpp | 10 +- .../math/tools/detail/rational_horner2_5.hpp | 12 +- .../math/tools/detail/rational_horner2_6.hpp | 14 +- .../math/tools/detail/rational_horner2_7.hpp | 16 +- .../math/tools/detail/rational_horner2_8.hpp | 18 +- .../math/tools/detail/rational_horner2_9.hpp | 20 +- .../math/tools/detail/rational_horner3_10.hpp | 22 +- .../math/tools/detail/rational_horner3_11.hpp | 24 +- .../math/tools/detail/rational_horner3_12.hpp | 26 +- .../math/tools/detail/rational_horner3_13.hpp | 28 +- .../math/tools/detail/rational_horner3_14.hpp | 30 +- .../math/tools/detail/rational_horner3_15.hpp | 32 +- .../math/tools/detail/rational_horner3_16.hpp | 34 +- .../math/tools/detail/rational_horner3_17.hpp | 36 +- .../math/tools/detail/rational_horner3_18.hpp | 38 +- .../math/tools/detail/rational_horner3_19.hpp | 40 +- .../math/tools/detail/rational_horner3_2.hpp | 10 +- .../math/tools/detail/rational_horner3_20.hpp | 42 +- .../math/tools/detail/rational_horner3_3.hpp | 10 +- .../math/tools/detail/rational_horner3_4.hpp | 10 +- .../math/tools/detail/rational_horner3_5.hpp | 12 +- .../math/tools/detail/rational_horner3_6.hpp | 14 +- .../math/tools/detail/rational_horner3_7.hpp | 16 +- .../math/tools/detail/rational_horner3_8.hpp | 18 +- .../math/tools/detail/rational_horner3_9.hpp | 20 +- .../include/boost/math/tools/fraction.hpp | 18 +- .../include/boost/math/tools/minima.hpp | 2 + .../include/boost/math/tools/polynomial.hpp | 719 ++ .../include/boost/math/tools/precision.hpp | 409 ++ .../include/boost/math/tools/promotion.hpp | 21 +- .../include/boost/math/tools/rational.hpp | 333 + .../include/boost/math/tools/real_cast.hpp | 4 +- .../include/boost/math/tools/roots.hpp | 563 ++ .../include/boost/math/tools/series.hpp | 16 +- .../include/boost/math/tools/stats.hpp | 0 .../boost/math/tools/toms748_solve.hpp | 46 +- .../include/boost/math/tools/traits.hpp | 110 + .../include/boost/math/tools/tuple.hpp | 90 + .../include/boost/math/tools/user.hpp | 0 .../include/boost/math/tools/workaround.hpp | 38 + .../include/boost/math/tr1.hpp | 5 +- .../include/boost/math/tr1_c_macros.ipp | 0 .../boost-1.62.0/include/boost/math_fwd.hpp | 97 + .../include/boost/mem_fn.hpp | 0 .../include/boost/memory_order.hpp | 0 .../include/boost/move/adl_move_swap.hpp | 266 + .../boost/move/algo/adaptive_merge.hpp | 67 + .../include/boost/move/algo/adaptive_sort.hpp | 63 + .../move/algo/detail/adaptive_sort_merge.hpp | 2300 +++++++ .../boost/move/algo/detail/basic_op.hpp | 81 + .../algo/detail/bufferless_merge_sort.hpp | 120 + .../boost/move/algo/detail/insertion_sort.hpp | 127 + .../include/boost/move/algo/detail/merge.hpp | 593 ++ .../boost/move/algo/detail/merge_sort.hpp | 139 + .../include/boost/move/algo/move.hpp | 155 + .../include/boost/move/algorithm.hpp | 167 + .../boost-1.62.0/include/boost/move/core.hpp | 502 ++ .../include/boost/move/default_delete.hpp | 201 + .../boost/move/detail/config_begin.hpp | 21 + .../include/boost/move/detail/config_end.hpp | 12 + .../include/boost/move/detail/destruct_n.hpp | 67 + .../include/boost/move/detail/fwd_macros.hpp | 856 +++ .../boost/move/detail/iterator_traits.hpp | 77 + .../include/boost/move/detail/meta_utils.hpp | 585 ++ .../boost/move/detail/meta_utils_core.hpp | 132 + .../boost/move/detail/move_helpers.hpp | 256 + .../boost/move/detail/placement_new.hpp | 30 + .../boost/move/detail/reverse_iterator.hpp | 171 + .../boost/move/detail/std_ns_begin.hpp | 30 + .../include/boost/move/detail/std_ns_end.hpp | 14 + .../include/boost/move/detail/type_traits.hpp | 1072 +++ .../move/detail/unique_ptr_meta_utils.hpp | 591 ++ .../include/boost/move/detail/workaround.hpp | 68 + .../include/boost/move/iterator.hpp | 311 + .../include/boost/move/make_unique.hpp | 237 + .../boost-1.62.0/include/boost/move/move.hpp | 35 + .../include/boost/move/traits.hpp | 77 + .../include/boost/move/unique_ptr.hpp | 871 +++ .../include/boost/move/utility.hpp | 150 + .../include/boost/move/utility_core.hpp | 318 + .../include/boost/mpi.hpp | 0 .../include/boost/mpl/O1_size.hpp | 0 .../include/boost/mpl/O1_size_fwd.hpp | 0 .../include/boost/mpl/accumulate.hpp | 0 .../include/boost/mpl/advance.hpp | 0 .../include/boost/mpl/advance_fwd.hpp | 0 .../include/boost/mpl/alias.hpp | 0 .../include/boost/mpl/always.hpp | 0 .../include/boost/mpl/and.hpp | 0 .../include/boost/mpl/apply.hpp | 0 .../include/boost/mpl/apply_fwd.hpp | 0 .../include/boost/mpl/apply_wrap.hpp | 0 .../include/boost/mpl/arg.hpp | 0 .../include/boost/mpl/arg_fwd.hpp | 0 .../include/boost/mpl/arithmetic.hpp | 0 .../include/boost/mpl/as_sequence.hpp | 0 .../include/boost/mpl/assert.hpp | 0 .../include/boost/mpl/at.hpp | 0 .../include/boost/mpl/at_fwd.hpp | 0 .../include/boost/mpl/aux_/O1_size_impl.hpp | 0 .../include/boost/mpl/aux_/adl_barrier.hpp | 0 .../boost/mpl/aux_/advance_backward.hpp | 0 .../boost/mpl/aux_/advance_forward.hpp | 0 .../include/boost/mpl/aux_/apply_1st.hpp | 0 .../include/boost/mpl/aux_/arg_typedef.hpp | 0 .../include/boost/mpl/aux_/arithmetic_op.hpp | 0 .../include/boost/mpl/aux_/arity.hpp | 0 .../include/boost/mpl/aux_/arity_spec.hpp | 0 .../include/boost/mpl/aux_/at_impl.hpp | 0 .../include/boost/mpl/aux_/back_impl.hpp | 0 .../include/boost/mpl/aux_/basic_bind.hpp | 0 .../include/boost/mpl/aux_/begin_end_impl.hpp | 0 .../include/boost/mpl/aux_/clear_impl.hpp | 0 .../boost/mpl/aux_/common_name_wknd.hpp | 0 .../include/boost/mpl/aux_/comparison_op.hpp | 0 .../include/boost/mpl/aux_/config/adl.hpp | 0 .../include/boost/mpl/aux_/config/arrays.hpp | 0 .../include/boost/mpl/aux_/config/bcc.hpp | 0 .../include/boost/mpl/aux_/config/bind.hpp | 0 .../boost/mpl/aux_/config/compiler.hpp | 0 .../include/boost/mpl/aux_/config/ctps.hpp | 0 .../boost/mpl/aux_/config/dependent_nttp.hpp | 0 .../mpl/aux_/config/dmc_ambiguous_ctps.hpp | 0 .../include/boost/mpl/aux_/config/dtp.hpp | 0 .../include/boost/mpl/aux_/config/eti.hpp | 0 .../boost/mpl/aux_/config/forwarding.hpp | 0 .../include/boost/mpl/aux_/config/gcc.hpp | 0 .../include/boost/mpl/aux_/config/gpu.hpp | 0 .../boost/mpl/aux_/config/has_apply.hpp | 0 .../include/boost/mpl/aux_/config/has_xxx.hpp | 0 .../boost/mpl/aux_/config/integral.hpp | 0 .../include/boost/mpl/aux_/config/intel.hpp | 0 .../include/boost/mpl/aux_/config/lambda.hpp | 0 .../include/boost/mpl/aux_/config/msvc.hpp | 0 .../boost/mpl/aux_/config/msvc_typename.hpp | 0 .../include/boost/mpl/aux_/config/nttp.hpp | 0 .../boost/mpl/aux_/config/operators.hpp | 0 .../mpl/aux_/config/overload_resolution.hpp | 0 .../boost/mpl/aux_/config/pp_counter.hpp | 0 .../boost/mpl/aux_/config/preprocessor.hpp | 0 .../boost/mpl/aux_/config/static_constant.hpp | 0 .../include/boost/mpl/aux_/config/ttp.hpp | 0 .../include/boost/mpl/aux_/config/typeof.hpp | 0 .../mpl/aux_/config/use_preprocessed.hpp | 0 .../boost/mpl/aux_/config/workaround.hpp | 0 .../include/boost/mpl/aux_/contains_impl.hpp | 0 .../include/boost/mpl/aux_/count_args.hpp | 0 .../include/boost/mpl/aux_/count_impl.hpp | 0 .../include/boost/mpl/aux_/empty_impl.hpp | 0 .../include/boost/mpl/aux_/erase_impl.hpp | 0 .../include/boost/mpl/aux_/erase_key_impl.hpp | 0 .../include/boost/mpl/aux_/filter_iter.hpp | 0 .../include/boost/mpl/aux_/find_if_pred.hpp | 0 .../include/boost/mpl/aux_/fold_impl.hpp | 0 .../include/boost/mpl/aux_/fold_impl_body.hpp | 0 .../include/boost/mpl/aux_/fold_op.hpp | 0 .../include/boost/mpl/aux_/fold_pred.hpp | 0 .../include/boost/mpl/aux_/front_impl.hpp | 0 .../include/boost/mpl/aux_/full_lambda.hpp | 0 .../include/boost/mpl/aux_/has_apply.hpp | 0 .../include/boost/mpl/aux_/has_begin.hpp | 0 .../include/boost/mpl/aux_/has_key_impl.hpp | 0 .../include/boost/mpl/aux_/has_rebind.hpp | 0 .../include/boost/mpl/aux_/has_size.hpp | 0 .../include/boost/mpl/aux_/has_tag.hpp | 0 .../include/boost/mpl/aux_/has_type.hpp | 0 .../boost/mpl/aux_/include_preprocessed.hpp | 0 .../include/boost/mpl/aux_/insert_impl.hpp | 0 .../boost/mpl/aux_/insert_range_impl.hpp | 80 + .../boost/mpl/aux_/inserter_algorithm.hpp | 0 .../boost/mpl/aux_/integral_wrapper.hpp | 0 .../boost/mpl/aux_/is_msvc_eti_arg.hpp | 0 .../include/boost/mpl/aux_/iter_apply.hpp | 0 .../boost/mpl/aux_/iter_fold_if_impl.hpp | 0 .../include/boost/mpl/aux_/iter_fold_impl.hpp | 0 .../boost/mpl/aux_/iter_push_front.hpp | 0 .../include/boost/mpl/aux_/joint_iter.hpp | 0 .../boost/mpl/aux_/lambda_arity_param.hpp | 0 .../include/boost/mpl/aux_/lambda_no_ctps.hpp | 0 .../include/boost/mpl/aux_/lambda_spec.hpp | 0 .../include/boost/mpl/aux_/lambda_support.hpp | 0 .../include/boost/mpl/aux_/largest_int.hpp | 0 .../include/boost/mpl/aux_/logical_op.hpp | 0 .../include/boost/mpl/aux_/msvc_dtw.hpp | 0 .../include/boost/mpl/aux_/msvc_eti_base.hpp | 0 .../include/boost/mpl/aux_/msvc_is_class.hpp | 0 .../boost/mpl/aux_/msvc_never_true.hpp | 0 .../include/boost/mpl/aux_/msvc_type.hpp | 0 .../include/boost/mpl/aux_/na.hpp | 0 .../include/boost/mpl/aux_/na_assert.hpp | 0 .../include/boost/mpl/aux_/na_fwd.hpp | 0 .../include/boost/mpl/aux_/na_spec.hpp | 0 .../boost/mpl/aux_/nested_type_wknd.hpp | 0 .../include/boost/mpl/aux_/nttp_decl.hpp | 0 .../boost/mpl/aux_/numeric_cast_utils.hpp | 0 .../include/boost/mpl/aux_/numeric_op.hpp | 0 .../include/boost/mpl/aux_/order_impl.hpp | 0 .../include/boost/mpl/aux_/overload_names.hpp | 0 .../include/boost/mpl/aux_/partition_op.hpp | 0 .../include/boost/mpl/aux_/pop_back_impl.hpp | 0 .../include/boost/mpl/aux_/pop_front_impl.hpp | 0 .../preprocessed/bcc/advance_backward.hpp | 0 .../aux_/preprocessed/bcc/advance_forward.hpp | 0 .../boost/mpl/aux_/preprocessed/bcc/and.hpp | 0 .../boost/mpl/aux_/preprocessed/bcc/apply.hpp | 0 .../mpl/aux_/preprocessed/bcc/apply_fwd.hpp | 0 .../mpl/aux_/preprocessed/bcc/apply_wrap.hpp | 0 .../boost/mpl/aux_/preprocessed/bcc/arg.hpp | 0 .../mpl/aux_/preprocessed/bcc/basic_bind.hpp | 0 .../boost/mpl/aux_/preprocessed/bcc/bind.hpp | 0 .../mpl/aux_/preprocessed/bcc/bind_fwd.hpp | 0 .../mpl/aux_/preprocessed/bcc/bitand.hpp | 0 .../boost/mpl/aux_/preprocessed/bcc/bitor.hpp | 0 .../mpl/aux_/preprocessed/bcc/bitxor.hpp | 0 .../boost/mpl/aux_/preprocessed/bcc/deque.hpp | 0 .../mpl/aux_/preprocessed/bcc/divides.hpp | 0 .../mpl/aux_/preprocessed/bcc/equal_to.hpp | 0 .../mpl/aux_/preprocessed/bcc/fold_impl.hpp | 0 .../mpl/aux_/preprocessed/bcc/full_lambda.hpp | 0 .../mpl/aux_/preprocessed/bcc/greater.hpp | 0 .../aux_/preprocessed/bcc/greater_equal.hpp | 0 .../mpl/aux_/preprocessed/bcc/inherit.hpp | 0 .../preprocessed/bcc/iter_fold_if_impl.hpp | 0 .../aux_/preprocessed/bcc/iter_fold_impl.hpp | 0 .../aux_/preprocessed/bcc/lambda_no_ctps.hpp | 0 .../boost/mpl/aux_/preprocessed/bcc/less.hpp | 0 .../mpl/aux_/preprocessed/bcc/less_equal.hpp | 0 .../boost/mpl/aux_/preprocessed/bcc/list.hpp | 0 .../mpl/aux_/preprocessed/bcc/list_c.hpp | 0 .../boost/mpl/aux_/preprocessed/bcc/map.hpp | 0 .../boost/mpl/aux_/preprocessed/bcc/minus.hpp | 0 .../mpl/aux_/preprocessed/bcc/modulus.hpp | 0 .../aux_/preprocessed/bcc/not_equal_to.hpp | 0 .../boost/mpl/aux_/preprocessed/bcc/or.hpp | 0 .../aux_/preprocessed/bcc/placeholders.hpp | 0 .../boost/mpl/aux_/preprocessed/bcc/plus.hpp | 0 .../boost/mpl/aux_/preprocessed/bcc/quote.hpp | 0 .../preprocessed/bcc/reverse_fold_impl.hpp | 0 .../bcc/reverse_iter_fold_impl.hpp | 0 .../boost/mpl/aux_/preprocessed/bcc/set.hpp | 0 .../boost/mpl/aux_/preprocessed/bcc/set_c.hpp | 0 .../mpl/aux_/preprocessed/bcc/shift_left.hpp | 0 .../mpl/aux_/preprocessed/bcc/shift_right.hpp | 0 .../aux_/preprocessed/bcc/template_arity.hpp | 0 .../boost/mpl/aux_/preprocessed/bcc/times.hpp | 0 .../mpl/aux_/preprocessed/bcc/unpack_args.hpp | 0 .../mpl/aux_/preprocessed/bcc/vector.hpp | 0 .../mpl/aux_/preprocessed/bcc/vector_c.hpp | 0 .../preprocessed/bcc551/advance_backward.hpp | 0 .../preprocessed/bcc551/advance_forward.hpp | 0 .../mpl/aux_/preprocessed/bcc551/and.hpp | 0 .../mpl/aux_/preprocessed/bcc551/apply.hpp | 0 .../aux_/preprocessed/bcc551/apply_fwd.hpp | 0 .../aux_/preprocessed/bcc551/apply_wrap.hpp | 0 .../mpl/aux_/preprocessed/bcc551/arg.hpp | 0 .../aux_/preprocessed/bcc551/basic_bind.hpp | 0 .../mpl/aux_/preprocessed/bcc551/bind.hpp | 0 .../mpl/aux_/preprocessed/bcc551/bind_fwd.hpp | 0 .../mpl/aux_/preprocessed/bcc551/bitand.hpp | 0 .../mpl/aux_/preprocessed/bcc551/bitor.hpp | 0 .../mpl/aux_/preprocessed/bcc551/bitxor.hpp | 0 .../mpl/aux_/preprocessed/bcc551/deque.hpp | 0 .../mpl/aux_/preprocessed/bcc551/divides.hpp | 0 .../mpl/aux_/preprocessed/bcc551/equal_to.hpp | 0 .../aux_/preprocessed/bcc551/fold_impl.hpp | 0 .../aux_/preprocessed/bcc551/full_lambda.hpp | 0 .../mpl/aux_/preprocessed/bcc551/greater.hpp | 0 .../preprocessed/bcc551/greater_equal.hpp | 0 .../mpl/aux_/preprocessed/bcc551/inherit.hpp | 0 .../preprocessed/bcc551/iter_fold_if_impl.hpp | 0 .../preprocessed/bcc551/iter_fold_impl.hpp | 0 .../preprocessed/bcc551/lambda_no_ctps.hpp | 0 .../mpl/aux_/preprocessed/bcc551/less.hpp | 0 .../aux_/preprocessed/bcc551/less_equal.hpp | 0 .../mpl/aux_/preprocessed/bcc551/list.hpp | 0 .../mpl/aux_/preprocessed/bcc551/list_c.hpp | 0 .../mpl/aux_/preprocessed/bcc551/map.hpp | 0 .../mpl/aux_/preprocessed/bcc551/minus.hpp | 0 .../mpl/aux_/preprocessed/bcc551/modulus.hpp | 0 .../aux_/preprocessed/bcc551/not_equal_to.hpp | 0 .../boost/mpl/aux_/preprocessed/bcc551/or.hpp | 0 .../aux_/preprocessed/bcc551/placeholders.hpp | 0 .../mpl/aux_/preprocessed/bcc551/plus.hpp | 0 .../mpl/aux_/preprocessed/bcc551/quote.hpp | 0 .../preprocessed/bcc551/reverse_fold_impl.hpp | 0 .../bcc551/reverse_iter_fold_impl.hpp | 0 .../mpl/aux_/preprocessed/bcc551/set.hpp | 0 .../mpl/aux_/preprocessed/bcc551/set_c.hpp | 0 .../aux_/preprocessed/bcc551/shift_left.hpp | 0 .../aux_/preprocessed/bcc551/shift_right.hpp | 0 .../preprocessed/bcc551/template_arity.hpp | 0 .../mpl/aux_/preprocessed/bcc551/times.hpp | 0 .../aux_/preprocessed/bcc551/unpack_args.hpp | 0 .../mpl/aux_/preprocessed/bcc551/vector.hpp | 0 .../mpl/aux_/preprocessed/bcc551/vector_c.hpp | 0 .../bcc_pre590/advance_backward.hpp | 0 .../bcc_pre590/advance_forward.hpp | 0 .../mpl/aux_/preprocessed/bcc_pre590/and.hpp | 0 .../aux_/preprocessed/bcc_pre590/apply.hpp | 0 .../preprocessed/bcc_pre590/apply_fwd.hpp | 0 .../preprocessed/bcc_pre590/apply_wrap.hpp | 0 .../mpl/aux_/preprocessed/bcc_pre590/arg.hpp | 0 .../preprocessed/bcc_pre590/basic_bind.hpp | 0 .../mpl/aux_/preprocessed/bcc_pre590/bind.hpp | 0 .../aux_/preprocessed/bcc_pre590/bind_fwd.hpp | 0 .../aux_/preprocessed/bcc_pre590/bitand.hpp | 0 .../aux_/preprocessed/bcc_pre590/bitor.hpp | 0 .../aux_/preprocessed/bcc_pre590/bitxor.hpp | 0 .../aux_/preprocessed/bcc_pre590/deque.hpp | 0 .../aux_/preprocessed/bcc_pre590/divides.hpp | 0 .../aux_/preprocessed/bcc_pre590/equal_to.hpp | 0 .../preprocessed/bcc_pre590/fold_impl.hpp | 0 .../preprocessed/bcc_pre590/full_lambda.hpp | 0 .../aux_/preprocessed/bcc_pre590/greater.hpp | 0 .../preprocessed/bcc_pre590/greater_equal.hpp | 0 .../aux_/preprocessed/bcc_pre590/inherit.hpp | 0 .../bcc_pre590/iter_fold_if_impl.hpp | 0 .../bcc_pre590/iter_fold_impl.hpp | 0 .../bcc_pre590/lambda_no_ctps.hpp | 0 .../mpl/aux_/preprocessed/bcc_pre590/less.hpp | 0 .../preprocessed/bcc_pre590/less_equal.hpp | 0 .../mpl/aux_/preprocessed/bcc_pre590/list.hpp | 0 .../aux_/preprocessed/bcc_pre590/list_c.hpp | 0 .../mpl/aux_/preprocessed/bcc_pre590/map.hpp | 0 .../aux_/preprocessed/bcc_pre590/minus.hpp | 0 .../aux_/preprocessed/bcc_pre590/modulus.hpp | 0 .../preprocessed/bcc_pre590/not_equal_to.hpp | 0 .../mpl/aux_/preprocessed/bcc_pre590/or.hpp | 0 .../preprocessed/bcc_pre590/placeholders.hpp | 0 .../mpl/aux_/preprocessed/bcc_pre590/plus.hpp | 0 .../aux_/preprocessed/bcc_pre590/quote.hpp | 0 .../bcc_pre590/reverse_fold_impl.hpp | 0 .../bcc_pre590/reverse_iter_fold_impl.hpp | 0 .../mpl/aux_/preprocessed/bcc_pre590/set.hpp | 0 .../aux_/preprocessed/bcc_pre590/set_c.hpp | 0 .../preprocessed/bcc_pre590/shift_left.hpp | 0 .../preprocessed/bcc_pre590/shift_right.hpp | 0 .../bcc_pre590/template_arity.hpp | 0 .../aux_/preprocessed/bcc_pre590/times.hpp | 0 .../preprocessed/bcc_pre590/unpack_args.hpp | 0 .../aux_/preprocessed/bcc_pre590/vector.hpp | 0 .../aux_/preprocessed/bcc_pre590/vector_c.hpp | 0 .../preprocessed/dmc/advance_backward.hpp | 0 .../aux_/preprocessed/dmc/advance_forward.hpp | 0 .../boost/mpl/aux_/preprocessed/dmc/and.hpp | 0 .../boost/mpl/aux_/preprocessed/dmc/apply.hpp | 0 .../mpl/aux_/preprocessed/dmc/apply_fwd.hpp | 0 .../mpl/aux_/preprocessed/dmc/apply_wrap.hpp | 0 .../boost/mpl/aux_/preprocessed/dmc/arg.hpp | 0 .../mpl/aux_/preprocessed/dmc/basic_bind.hpp | 0 .../boost/mpl/aux_/preprocessed/dmc/bind.hpp | 0 .../mpl/aux_/preprocessed/dmc/bind_fwd.hpp | 0 .../mpl/aux_/preprocessed/dmc/bitand.hpp | 0 .../boost/mpl/aux_/preprocessed/dmc/bitor.hpp | 0 .../mpl/aux_/preprocessed/dmc/bitxor.hpp | 0 .../boost/mpl/aux_/preprocessed/dmc/deque.hpp | 0 .../mpl/aux_/preprocessed/dmc/divides.hpp | 0 .../mpl/aux_/preprocessed/dmc/equal_to.hpp | 0 .../mpl/aux_/preprocessed/dmc/fold_impl.hpp | 0 .../mpl/aux_/preprocessed/dmc/full_lambda.hpp | 0 .../mpl/aux_/preprocessed/dmc/greater.hpp | 0 .../aux_/preprocessed/dmc/greater_equal.hpp | 0 .../mpl/aux_/preprocessed/dmc/inherit.hpp | 0 .../preprocessed/dmc/iter_fold_if_impl.hpp | 0 .../aux_/preprocessed/dmc/iter_fold_impl.hpp | 0 .../aux_/preprocessed/dmc/lambda_no_ctps.hpp | 0 .../boost/mpl/aux_/preprocessed/dmc/less.hpp | 0 .../mpl/aux_/preprocessed/dmc/less_equal.hpp | 0 .../boost/mpl/aux_/preprocessed/dmc/list.hpp | 0 .../mpl/aux_/preprocessed/dmc/list_c.hpp | 0 .../boost/mpl/aux_/preprocessed/dmc/map.hpp | 0 .../boost/mpl/aux_/preprocessed/dmc/minus.hpp | 0 .../mpl/aux_/preprocessed/dmc/modulus.hpp | 0 .../aux_/preprocessed/dmc/not_equal_to.hpp | 0 .../boost/mpl/aux_/preprocessed/dmc/or.hpp | 0 .../aux_/preprocessed/dmc/placeholders.hpp | 0 .../boost/mpl/aux_/preprocessed/dmc/plus.hpp | 0 .../boost/mpl/aux_/preprocessed/dmc/quote.hpp | 0 .../preprocessed/dmc/reverse_fold_impl.hpp | 0 .../dmc/reverse_iter_fold_impl.hpp | 0 .../boost/mpl/aux_/preprocessed/dmc/set.hpp | 0 .../boost/mpl/aux_/preprocessed/dmc/set_c.hpp | 0 .../mpl/aux_/preprocessed/dmc/shift_left.hpp | 0 .../mpl/aux_/preprocessed/dmc/shift_right.hpp | 0 .../aux_/preprocessed/dmc/template_arity.hpp | 0 .../boost/mpl/aux_/preprocessed/dmc/times.hpp | 0 .../mpl/aux_/preprocessed/dmc/unpack_args.hpp | 0 .../mpl/aux_/preprocessed/dmc/vector.hpp | 0 .../mpl/aux_/preprocessed/dmc/vector_c.hpp | 0 .../preprocessed/gcc/advance_backward.hpp | 0 .../aux_/preprocessed/gcc/advance_forward.hpp | 0 .../boost/mpl/aux_/preprocessed/gcc/and.hpp | 0 .../boost/mpl/aux_/preprocessed/gcc/apply.hpp | 0 .../mpl/aux_/preprocessed/gcc/apply_fwd.hpp | 0 .../mpl/aux_/preprocessed/gcc/apply_wrap.hpp | 0 .../boost/mpl/aux_/preprocessed/gcc/arg.hpp | 0 .../mpl/aux_/preprocessed/gcc/basic_bind.hpp | 0 .../boost/mpl/aux_/preprocessed/gcc/bind.hpp | 0 .../mpl/aux_/preprocessed/gcc/bind_fwd.hpp | 0 .../mpl/aux_/preprocessed/gcc/bitand.hpp | 0 .../boost/mpl/aux_/preprocessed/gcc/bitor.hpp | 0 .../mpl/aux_/preprocessed/gcc/bitxor.hpp | 0 .../boost/mpl/aux_/preprocessed/gcc/deque.hpp | 0 .../mpl/aux_/preprocessed/gcc/divides.hpp | 0 .../mpl/aux_/preprocessed/gcc/equal_to.hpp | 0 .../mpl/aux_/preprocessed/gcc/fold_impl.hpp | 0 .../mpl/aux_/preprocessed/gcc/full_lambda.hpp | 0 .../mpl/aux_/preprocessed/gcc/greater.hpp | 0 .../aux_/preprocessed/gcc/greater_equal.hpp | 0 .../mpl/aux_/preprocessed/gcc/inherit.hpp | 0 .../preprocessed/gcc/iter_fold_if_impl.hpp | 0 .../aux_/preprocessed/gcc/iter_fold_impl.hpp | 0 .../aux_/preprocessed/gcc/lambda_no_ctps.hpp | 0 .../boost/mpl/aux_/preprocessed/gcc/less.hpp | 0 .../mpl/aux_/preprocessed/gcc/less_equal.hpp | 0 .../boost/mpl/aux_/preprocessed/gcc/list.hpp | 0 .../mpl/aux_/preprocessed/gcc/list_c.hpp | 0 .../boost/mpl/aux_/preprocessed/gcc/map.hpp | 0 .../boost/mpl/aux_/preprocessed/gcc/minus.hpp | 0 .../mpl/aux_/preprocessed/gcc/modulus.hpp | 0 .../aux_/preprocessed/gcc/not_equal_to.hpp | 0 .../boost/mpl/aux_/preprocessed/gcc/or.hpp | 0 .../aux_/preprocessed/gcc/placeholders.hpp | 0 .../boost/mpl/aux_/preprocessed/gcc/plus.hpp | 0 .../boost/mpl/aux_/preprocessed/gcc/quote.hpp | 0 .../preprocessed/gcc/reverse_fold_impl.hpp | 0 .../gcc/reverse_iter_fold_impl.hpp | 0 .../boost/mpl/aux_/preprocessed/gcc/set.hpp | 0 .../boost/mpl/aux_/preprocessed/gcc/set_c.hpp | 0 .../mpl/aux_/preprocessed/gcc/shift_left.hpp | 0 .../mpl/aux_/preprocessed/gcc/shift_right.hpp | 0 .../aux_/preprocessed/gcc/template_arity.hpp | 0 .../boost/mpl/aux_/preprocessed/gcc/times.hpp | 0 .../mpl/aux_/preprocessed/gcc/unpack_args.hpp | 0 .../mpl/aux_/preprocessed/gcc/vector.hpp | 0 .../mpl/aux_/preprocessed/gcc/vector_c.hpp | 0 .../preprocessed/msvc60/advance_backward.hpp | 0 .../preprocessed/msvc60/advance_forward.hpp | 0 .../mpl/aux_/preprocessed/msvc60/and.hpp | 0 .../mpl/aux_/preprocessed/msvc60/apply.hpp | 0 .../aux_/preprocessed/msvc60/apply_fwd.hpp | 0 .../aux_/preprocessed/msvc60/apply_wrap.hpp | 0 .../mpl/aux_/preprocessed/msvc60/arg.hpp | 0 .../aux_/preprocessed/msvc60/basic_bind.hpp | 0 .../mpl/aux_/preprocessed/msvc60/bind.hpp | 0 .../mpl/aux_/preprocessed/msvc60/bind_fwd.hpp | 0 .../mpl/aux_/preprocessed/msvc60/bitand.hpp | 0 .../mpl/aux_/preprocessed/msvc60/bitor.hpp | 0 .../mpl/aux_/preprocessed/msvc60/bitxor.hpp | 0 .../mpl/aux_/preprocessed/msvc60/deque.hpp | 0 .../mpl/aux_/preprocessed/msvc60/divides.hpp | 0 .../mpl/aux_/preprocessed/msvc60/equal_to.hpp | 0 .../aux_/preprocessed/msvc60/fold_impl.hpp | 0 .../aux_/preprocessed/msvc60/full_lambda.hpp | 0 .../mpl/aux_/preprocessed/msvc60/greater.hpp | 0 .../preprocessed/msvc60/greater_equal.hpp | 0 .../mpl/aux_/preprocessed/msvc60/inherit.hpp | 0 .../preprocessed/msvc60/iter_fold_if_impl.hpp | 0 .../preprocessed/msvc60/iter_fold_impl.hpp | 0 .../preprocessed/msvc60/lambda_no_ctps.hpp | 0 .../mpl/aux_/preprocessed/msvc60/less.hpp | 0 .../aux_/preprocessed/msvc60/less_equal.hpp | 0 .../mpl/aux_/preprocessed/msvc60/list.hpp | 0 .../mpl/aux_/preprocessed/msvc60/list_c.hpp | 0 .../mpl/aux_/preprocessed/msvc60/map.hpp | 0 .../mpl/aux_/preprocessed/msvc60/minus.hpp | 0 .../mpl/aux_/preprocessed/msvc60/modulus.hpp | 0 .../aux_/preprocessed/msvc60/not_equal_to.hpp | 0 .../boost/mpl/aux_/preprocessed/msvc60/or.hpp | 0 .../aux_/preprocessed/msvc60/placeholders.hpp | 0 .../mpl/aux_/preprocessed/msvc60/plus.hpp | 0 .../mpl/aux_/preprocessed/msvc60/quote.hpp | 0 .../preprocessed/msvc60/reverse_fold_impl.hpp | 0 .../msvc60/reverse_iter_fold_impl.hpp | 0 .../mpl/aux_/preprocessed/msvc60/set.hpp | 0 .../mpl/aux_/preprocessed/msvc60/set_c.hpp | 0 .../aux_/preprocessed/msvc60/shift_left.hpp | 0 .../aux_/preprocessed/msvc60/shift_right.hpp | 0 .../preprocessed/msvc60/template_arity.hpp | 0 .../mpl/aux_/preprocessed/msvc60/times.hpp | 0 .../aux_/preprocessed/msvc60/unpack_args.hpp | 0 .../mpl/aux_/preprocessed/msvc60/vector.hpp | 0 .../mpl/aux_/preprocessed/msvc60/vector_c.hpp | 0 .../preprocessed/msvc70/advance_backward.hpp | 0 .../preprocessed/msvc70/advance_forward.hpp | 0 .../mpl/aux_/preprocessed/msvc70/and.hpp | 0 .../mpl/aux_/preprocessed/msvc70/apply.hpp | 0 .../aux_/preprocessed/msvc70/apply_fwd.hpp | 0 .../aux_/preprocessed/msvc70/apply_wrap.hpp | 0 .../mpl/aux_/preprocessed/msvc70/arg.hpp | 0 .../aux_/preprocessed/msvc70/basic_bind.hpp | 0 .../mpl/aux_/preprocessed/msvc70/bind.hpp | 0 .../mpl/aux_/preprocessed/msvc70/bind_fwd.hpp | 0 .../mpl/aux_/preprocessed/msvc70/bitand.hpp | 0 .../mpl/aux_/preprocessed/msvc70/bitor.hpp | 0 .../mpl/aux_/preprocessed/msvc70/bitxor.hpp | 0 .../mpl/aux_/preprocessed/msvc70/deque.hpp | 0 .../mpl/aux_/preprocessed/msvc70/divides.hpp | 0 .../mpl/aux_/preprocessed/msvc70/equal_to.hpp | 0 .../aux_/preprocessed/msvc70/fold_impl.hpp | 0 .../aux_/preprocessed/msvc70/full_lambda.hpp | 0 .../mpl/aux_/preprocessed/msvc70/greater.hpp | 0 .../preprocessed/msvc70/greater_equal.hpp | 0 .../mpl/aux_/preprocessed/msvc70/inherit.hpp | 0 .../preprocessed/msvc70/iter_fold_if_impl.hpp | 0 .../preprocessed/msvc70/iter_fold_impl.hpp | 0 .../preprocessed/msvc70/lambda_no_ctps.hpp | 0 .../mpl/aux_/preprocessed/msvc70/less.hpp | 0 .../aux_/preprocessed/msvc70/less_equal.hpp | 0 .../mpl/aux_/preprocessed/msvc70/list.hpp | 0 .../mpl/aux_/preprocessed/msvc70/list_c.hpp | 0 .../mpl/aux_/preprocessed/msvc70/map.hpp | 0 .../mpl/aux_/preprocessed/msvc70/minus.hpp | 0 .../mpl/aux_/preprocessed/msvc70/modulus.hpp | 0 .../aux_/preprocessed/msvc70/not_equal_to.hpp | 0 .../boost/mpl/aux_/preprocessed/msvc70/or.hpp | 0 .../aux_/preprocessed/msvc70/placeholders.hpp | 0 .../mpl/aux_/preprocessed/msvc70/plus.hpp | 0 .../mpl/aux_/preprocessed/msvc70/quote.hpp | 0 .../preprocessed/msvc70/reverse_fold_impl.hpp | 0 .../msvc70/reverse_iter_fold_impl.hpp | 0 .../mpl/aux_/preprocessed/msvc70/set.hpp | 0 .../mpl/aux_/preprocessed/msvc70/set_c.hpp | 0 .../aux_/preprocessed/msvc70/shift_left.hpp | 0 .../aux_/preprocessed/msvc70/shift_right.hpp | 0 .../preprocessed/msvc70/template_arity.hpp | 0 .../mpl/aux_/preprocessed/msvc70/times.hpp | 0 .../aux_/preprocessed/msvc70/unpack_args.hpp | 0 .../mpl/aux_/preprocessed/msvc70/vector.hpp | 0 .../mpl/aux_/preprocessed/msvc70/vector_c.hpp | 0 .../preprocessed/mwcw/advance_backward.hpp | 0 .../preprocessed/mwcw/advance_forward.hpp | 0 .../boost/mpl/aux_/preprocessed/mwcw/and.hpp | 0 .../mpl/aux_/preprocessed/mwcw/apply.hpp | 0 .../mpl/aux_/preprocessed/mwcw/apply_fwd.hpp | 0 .../mpl/aux_/preprocessed/mwcw/apply_wrap.hpp | 0 .../boost/mpl/aux_/preprocessed/mwcw/arg.hpp | 0 .../mpl/aux_/preprocessed/mwcw/basic_bind.hpp | 0 .../boost/mpl/aux_/preprocessed/mwcw/bind.hpp | 0 .../mpl/aux_/preprocessed/mwcw/bind_fwd.hpp | 0 .../mpl/aux_/preprocessed/mwcw/bitand.hpp | 0 .../mpl/aux_/preprocessed/mwcw/bitor.hpp | 0 .../mpl/aux_/preprocessed/mwcw/bitxor.hpp | 0 .../mpl/aux_/preprocessed/mwcw/deque.hpp | 0 .../mpl/aux_/preprocessed/mwcw/divides.hpp | 0 .../mpl/aux_/preprocessed/mwcw/equal_to.hpp | 0 .../mpl/aux_/preprocessed/mwcw/fold_impl.hpp | 0 .../aux_/preprocessed/mwcw/full_lambda.hpp | 0 .../mpl/aux_/preprocessed/mwcw/greater.hpp | 0 .../aux_/preprocessed/mwcw/greater_equal.hpp | 0 .../mpl/aux_/preprocessed/mwcw/inherit.hpp | 0 .../preprocessed/mwcw/iter_fold_if_impl.hpp | 0 .../aux_/preprocessed/mwcw/iter_fold_impl.hpp | 0 .../aux_/preprocessed/mwcw/lambda_no_ctps.hpp | 0 .../boost/mpl/aux_/preprocessed/mwcw/less.hpp | 0 .../mpl/aux_/preprocessed/mwcw/less_equal.hpp | 0 .../boost/mpl/aux_/preprocessed/mwcw/list.hpp | 0 .../mpl/aux_/preprocessed/mwcw/list_c.hpp | 0 .../boost/mpl/aux_/preprocessed/mwcw/map.hpp | 0 .../mpl/aux_/preprocessed/mwcw/minus.hpp | 0 .../mpl/aux_/preprocessed/mwcw/modulus.hpp | 0 .../aux_/preprocessed/mwcw/not_equal_to.hpp | 0 .../boost/mpl/aux_/preprocessed/mwcw/or.hpp | 0 .../aux_/preprocessed/mwcw/placeholders.hpp | 0 .../boost/mpl/aux_/preprocessed/mwcw/plus.hpp | 0 .../mpl/aux_/preprocessed/mwcw/quote.hpp | 0 .../preprocessed/mwcw/reverse_fold_impl.hpp | 0 .../mwcw/reverse_iter_fold_impl.hpp | 0 .../boost/mpl/aux_/preprocessed/mwcw/set.hpp | 0 .../mpl/aux_/preprocessed/mwcw/set_c.hpp | 0 .../mpl/aux_/preprocessed/mwcw/shift_left.hpp | 0 .../aux_/preprocessed/mwcw/shift_right.hpp | 0 .../aux_/preprocessed/mwcw/template_arity.hpp | 0 .../mpl/aux_/preprocessed/mwcw/times.hpp | 0 .../aux_/preprocessed/mwcw/unpack_args.hpp | 0 .../mpl/aux_/preprocessed/mwcw/vector.hpp | 0 .../mpl/aux_/preprocessed/mwcw/vector_c.hpp | 0 .../preprocessed/no_ctps/advance_backward.hpp | 0 .../preprocessed/no_ctps/advance_forward.hpp | 0 .../mpl/aux_/preprocessed/no_ctps/and.hpp | 0 .../mpl/aux_/preprocessed/no_ctps/apply.hpp | 0 .../aux_/preprocessed/no_ctps/apply_fwd.hpp | 0 .../aux_/preprocessed/no_ctps/apply_wrap.hpp | 0 .../mpl/aux_/preprocessed/no_ctps/arg.hpp | 0 .../aux_/preprocessed/no_ctps/basic_bind.hpp | 0 .../mpl/aux_/preprocessed/no_ctps/bind.hpp | 0 .../aux_/preprocessed/no_ctps/bind_fwd.hpp | 0 .../mpl/aux_/preprocessed/no_ctps/bitand.hpp | 0 .../mpl/aux_/preprocessed/no_ctps/bitor.hpp | 0 .../mpl/aux_/preprocessed/no_ctps/bitxor.hpp | 0 .../mpl/aux_/preprocessed/no_ctps/deque.hpp | 0 .../mpl/aux_/preprocessed/no_ctps/divides.hpp | 0 .../aux_/preprocessed/no_ctps/equal_to.hpp | 0 .../aux_/preprocessed/no_ctps/fold_impl.hpp | 0 .../aux_/preprocessed/no_ctps/full_lambda.hpp | 0 .../mpl/aux_/preprocessed/no_ctps/greater.hpp | 0 .../preprocessed/no_ctps/greater_equal.hpp | 0 .../mpl/aux_/preprocessed/no_ctps/inherit.hpp | 0 .../no_ctps/iter_fold_if_impl.hpp | 0 .../preprocessed/no_ctps/iter_fold_impl.hpp | 0 .../preprocessed/no_ctps/lambda_no_ctps.hpp | 0 .../mpl/aux_/preprocessed/no_ctps/less.hpp | 0 .../aux_/preprocessed/no_ctps/less_equal.hpp | 0 .../mpl/aux_/preprocessed/no_ctps/list.hpp | 0 .../mpl/aux_/preprocessed/no_ctps/list_c.hpp | 0 .../mpl/aux_/preprocessed/no_ctps/map.hpp | 0 .../mpl/aux_/preprocessed/no_ctps/minus.hpp | 0 .../mpl/aux_/preprocessed/no_ctps/modulus.hpp | 0 .../preprocessed/no_ctps/not_equal_to.hpp | 0 .../mpl/aux_/preprocessed/no_ctps/or.hpp | 0 .../preprocessed/no_ctps/placeholders.hpp | 0 .../mpl/aux_/preprocessed/no_ctps/plus.hpp | 0 .../mpl/aux_/preprocessed/no_ctps/quote.hpp | 0 .../no_ctps/reverse_fold_impl.hpp | 0 .../no_ctps/reverse_iter_fold_impl.hpp | 0 .../mpl/aux_/preprocessed/no_ctps/set.hpp | 0 .../mpl/aux_/preprocessed/no_ctps/set_c.hpp | 0 .../aux_/preprocessed/no_ctps/shift_left.hpp | 0 .../aux_/preprocessed/no_ctps/shift_right.hpp | 0 .../preprocessed/no_ctps/template_arity.hpp | 0 .../mpl/aux_/preprocessed/no_ctps/times.hpp | 0 .../aux_/preprocessed/no_ctps/unpack_args.hpp | 0 .../mpl/aux_/preprocessed/no_ctps/vector.hpp | 0 .../aux_/preprocessed/no_ctps/vector_c.hpp | 0 .../preprocessed/no_ttp/advance_backward.hpp | 0 .../preprocessed/no_ttp/advance_forward.hpp | 0 .../mpl/aux_/preprocessed/no_ttp/and.hpp | 0 .../mpl/aux_/preprocessed/no_ttp/apply.hpp | 0 .../aux_/preprocessed/no_ttp/apply_fwd.hpp | 0 .../aux_/preprocessed/no_ttp/apply_wrap.hpp | 0 .../mpl/aux_/preprocessed/no_ttp/arg.hpp | 0 .../aux_/preprocessed/no_ttp/basic_bind.hpp | 0 .../mpl/aux_/preprocessed/no_ttp/bind.hpp | 0 .../mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp | 0 .../mpl/aux_/preprocessed/no_ttp/bitand.hpp | 0 .../mpl/aux_/preprocessed/no_ttp/bitor.hpp | 0 .../mpl/aux_/preprocessed/no_ttp/bitxor.hpp | 0 .../mpl/aux_/preprocessed/no_ttp/deque.hpp | 0 .../mpl/aux_/preprocessed/no_ttp/divides.hpp | 0 .../mpl/aux_/preprocessed/no_ttp/equal_to.hpp | 0 .../aux_/preprocessed/no_ttp/fold_impl.hpp | 0 .../aux_/preprocessed/no_ttp/full_lambda.hpp | 0 .../mpl/aux_/preprocessed/no_ttp/greater.hpp | 0 .../preprocessed/no_ttp/greater_equal.hpp | 0 .../mpl/aux_/preprocessed/no_ttp/inherit.hpp | 0 .../preprocessed/no_ttp/iter_fold_if_impl.hpp | 0 .../preprocessed/no_ttp/iter_fold_impl.hpp | 0 .../preprocessed/no_ttp/lambda_no_ctps.hpp | 0 .../mpl/aux_/preprocessed/no_ttp/less.hpp | 0 .../aux_/preprocessed/no_ttp/less_equal.hpp | 0 .../mpl/aux_/preprocessed/no_ttp/list.hpp | 0 .../mpl/aux_/preprocessed/no_ttp/list_c.hpp | 0 .../mpl/aux_/preprocessed/no_ttp/map.hpp | 0 .../mpl/aux_/preprocessed/no_ttp/minus.hpp | 0 .../mpl/aux_/preprocessed/no_ttp/modulus.hpp | 0 .../aux_/preprocessed/no_ttp/not_equal_to.hpp | 0 .../boost/mpl/aux_/preprocessed/no_ttp/or.hpp | 0 .../aux_/preprocessed/no_ttp/placeholders.hpp | 0 .../mpl/aux_/preprocessed/no_ttp/plus.hpp | 0 .../mpl/aux_/preprocessed/no_ttp/quote.hpp | 0 .../preprocessed/no_ttp/reverse_fold_impl.hpp | 0 .../no_ttp/reverse_iter_fold_impl.hpp | 0 .../mpl/aux_/preprocessed/no_ttp/set.hpp | 0 .../mpl/aux_/preprocessed/no_ttp/set_c.hpp | 0 .../aux_/preprocessed/no_ttp/shift_left.hpp | 0 .../aux_/preprocessed/no_ttp/shift_right.hpp | 0 .../preprocessed/no_ttp/template_arity.hpp | 0 .../mpl/aux_/preprocessed/no_ttp/times.hpp | 0 .../aux_/preprocessed/no_ttp/unpack_args.hpp | 0 .../mpl/aux_/preprocessed/no_ttp/vector.hpp | 0 .../mpl/aux_/preprocessed/no_ttp/vector_c.hpp | 0 .../preprocessed/plain/advance_backward.hpp | 0 .../preprocessed/plain/advance_forward.hpp | 0 .../boost/mpl/aux_/preprocessed/plain/and.hpp | 0 .../mpl/aux_/preprocessed/plain/apply.hpp | 0 .../mpl/aux_/preprocessed/plain/apply_fwd.hpp | 0 .../aux_/preprocessed/plain/apply_wrap.hpp | 0 .../boost/mpl/aux_/preprocessed/plain/arg.hpp | 0 .../aux_/preprocessed/plain/basic_bind.hpp | 0 .../mpl/aux_/preprocessed/plain/bind.hpp | 0 .../mpl/aux_/preprocessed/plain/bind_fwd.hpp | 0 .../mpl/aux_/preprocessed/plain/bitand.hpp | 0 .../mpl/aux_/preprocessed/plain/bitor.hpp | 0 .../mpl/aux_/preprocessed/plain/bitxor.hpp | 0 .../mpl/aux_/preprocessed/plain/deque.hpp | 0 .../mpl/aux_/preprocessed/plain/divides.hpp | 0 .../mpl/aux_/preprocessed/plain/equal_to.hpp | 0 .../mpl/aux_/preprocessed/plain/fold_impl.hpp | 0 .../aux_/preprocessed/plain/full_lambda.hpp | 0 .../mpl/aux_/preprocessed/plain/greater.hpp | 0 .../aux_/preprocessed/plain/greater_equal.hpp | 0 .../mpl/aux_/preprocessed/plain/inherit.hpp | 0 .../preprocessed/plain/iter_fold_if_impl.hpp | 0 .../preprocessed/plain/iter_fold_impl.hpp | 0 .../preprocessed/plain/lambda_no_ctps.hpp | 0 .../mpl/aux_/preprocessed/plain/less.hpp | 0 .../aux_/preprocessed/plain/less_equal.hpp | 0 .../mpl/aux_/preprocessed/plain/list.hpp | 0 .../mpl/aux_/preprocessed/plain/list_c.hpp | 0 .../boost/mpl/aux_/preprocessed/plain/map.hpp | 0 .../mpl/aux_/preprocessed/plain/minus.hpp | 0 .../mpl/aux_/preprocessed/plain/modulus.hpp | 0 .../aux_/preprocessed/plain/not_equal_to.hpp | 0 .../boost/mpl/aux_/preprocessed/plain/or.hpp | 0 .../aux_/preprocessed/plain/placeholders.hpp | 0 .../mpl/aux_/preprocessed/plain/plus.hpp | 0 .../mpl/aux_/preprocessed/plain/quote.hpp | 0 .../preprocessed/plain/reverse_fold_impl.hpp | 0 .../plain/reverse_iter_fold_impl.hpp | 0 .../boost/mpl/aux_/preprocessed/plain/set.hpp | 0 .../mpl/aux_/preprocessed/plain/set_c.hpp | 0 .../aux_/preprocessed/plain/shift_left.hpp | 0 .../aux_/preprocessed/plain/shift_right.hpp | 0 .../preprocessed/plain/template_arity.hpp | 0 .../mpl/aux_/preprocessed/plain/times.hpp | 0 .../aux_/preprocessed/plain/unpack_args.hpp | 0 .../mpl/aux_/preprocessed/plain/vector.hpp | 0 .../mpl/aux_/preprocessed/plain/vector_c.hpp | 0 .../boost/mpl/aux_/preprocessor/add.hpp | 0 .../mpl/aux_/preprocessor/def_params_tail.hpp | 0 .../mpl/aux_/preprocessor/default_params.hpp | 0 .../boost/mpl/aux_/preprocessor/enum.hpp | 0 .../mpl/aux_/preprocessor/ext_params.hpp | 0 .../mpl/aux_/preprocessor/filter_params.hpp | 0 .../boost/mpl/aux_/preprocessor/is_seq.hpp | 0 .../boost/mpl/aux_/preprocessor/params.hpp | 0 .../aux_/preprocessor/partial_spec_params.hpp | 0 .../boost/mpl/aux_/preprocessor/range.hpp | 30 + .../boost/mpl/aux_/preprocessor/repeat.hpp | 0 .../boost/mpl/aux_/preprocessor/sub.hpp | 0 .../mpl/aux_/preprocessor/token_equal.hpp | 0 .../boost/mpl/aux_/preprocessor/tuple.hpp | 0 .../include/boost/mpl/aux_/ptr_to_ref.hpp | 0 .../include/boost/mpl/aux_/push_back_impl.hpp | 0 .../boost/mpl/aux_/push_front_impl.hpp | 0 .../boost/mpl/aux_/range_c/O1_size.hpp | 0 .../include/boost/mpl/aux_/range_c/back.hpp | 0 .../include/boost/mpl/aux_/range_c/empty.hpp | 0 .../include/boost/mpl/aux_/range_c/front.hpp | 0 .../boost/mpl/aux_/range_c/iterator.hpp | 0 .../include/boost/mpl/aux_/range_c/size.hpp | 0 .../include/boost/mpl/aux_/range_c/tag.hpp | 0 .../boost/mpl/aux_/reverse_fold_impl.hpp | 0 .../boost/mpl/aux_/reverse_fold_impl_body.hpp | 0 .../boost/mpl/aux_/reverse_iter_fold_impl.hpp | 0 .../boost/mpl/aux_/sequence_wrapper.hpp | 0 .../include/boost/mpl/aux_/shift_op.hpp | 0 .../boost/mpl/aux_/single_element_iter.hpp | 0 .../include/boost/mpl/aux_/size_impl.hpp | 0 .../include/boost/mpl/aux_/sort_impl.hpp | 0 .../include/boost/mpl/aux_/static_cast.hpp | 0 .../include/boost/mpl/aux_/template_arity.hpp | 0 .../boost/mpl/aux_/template_arity_fwd.hpp | 0 .../include/boost/mpl/aux_/test.hpp | 0 .../include/boost/mpl/aux_/test/assert.hpp | 0 .../include/boost/mpl/aux_/test/data.hpp | 0 .../include/boost/mpl/aux_/test/test_case.hpp | 0 .../boost/mpl/aux_/traits_lambda_spec.hpp | 0 .../include/boost/mpl/aux_/transform_iter.hpp | 0 .../include/boost/mpl/aux_/type_wrapper.hpp | 0 .../include/boost/mpl/aux_/unwrap.hpp | 0 .../include/boost/mpl/aux_/value_wknd.hpp | 0 .../include/boost/mpl/aux_/yes_no.hpp | 0 .../include/boost/mpl/back.hpp | 0 .../include/boost/mpl/back_fwd.hpp | 0 .../include/boost/mpl/back_inserter.hpp | 0 .../include/boost/mpl/base.hpp | 0 .../include/boost/mpl/begin.hpp | 0 .../include/boost/mpl/begin_end.hpp | 0 .../include/boost/mpl/begin_end_fwd.hpp | 0 .../include/boost/mpl/bind.hpp | 0 .../include/boost/mpl/bind_fwd.hpp | 0 .../include/boost/mpl/bitand.hpp | 0 .../include/boost/mpl/bitor.hpp | 0 .../include/boost/mpl/bitwise.hpp | 0 .../include/boost/mpl/bitxor.hpp | 0 .../include/boost/mpl/bool.hpp | 0 .../include/boost/mpl/bool_fwd.hpp | 0 .../include/boost/mpl/char.hpp | 0 .../include/boost/mpl/char_fwd.hpp | 0 .../include/boost/mpl/clear.hpp | 0 .../include/boost/mpl/clear_fwd.hpp | 0 .../include/boost/mpl/comparison.hpp | 0 .../include/boost/mpl/contains.hpp | 0 .../include/boost/mpl/contains_fwd.hpp | 0 .../include/boost/mpl/copy.hpp | 0 .../include/boost/mpl/copy_if.hpp | 0 .../include/boost/mpl/count.hpp | 0 .../include/boost/mpl/count_fwd.hpp | 0 .../include/boost/mpl/count_if.hpp | 0 .../include/boost/mpl/deque.hpp | 0 .../include/boost/mpl/deref.hpp | 0 .../include/boost/mpl/distance.hpp | 0 .../include/boost/mpl/distance_fwd.hpp | 0 .../include/boost/mpl/divides.hpp | 0 .../include/boost/mpl/empty.hpp | 0 .../include/boost/mpl/empty_base.hpp | 16 +- .../include/boost/mpl/empty_fwd.hpp | 0 .../include/boost/mpl/empty_sequence.hpp | 3 +- .../include/boost/mpl/end.hpp | 0 .../include/boost/mpl/equal.hpp | 0 .../include/boost/mpl/equal_to.hpp | 0 .../include/boost/mpl/erase.hpp | 0 .../include/boost/mpl/erase_fwd.hpp | 0 .../include/boost/mpl/erase_key.hpp | 0 .../include/boost/mpl/erase_key_fwd.hpp | 0 .../include/boost/mpl/eval_if.hpp | 0 .../include/boost/mpl/filter_view.hpp | 0 .../include/boost/mpl/find.hpp | 0 .../include/boost/mpl/find_if.hpp | 0 .../include/boost/mpl/fold.hpp | 0 .../include/boost/mpl/for_each.hpp | 0 .../include/boost/mpl/front.hpp | 0 .../include/boost/mpl/front_fwd.hpp | 0 .../include/boost/mpl/front_inserter.hpp | 0 .../include/boost/mpl/greater.hpp | 0 .../include/boost/mpl/greater_equal.hpp | 0 .../include/boost/mpl/has_key.hpp | 0 .../include/boost/mpl/has_key_fwd.hpp | 0 .../include/boost/mpl/has_xxx.hpp | 0 .../include/boost/mpl/identity.hpp | 0 .../include/boost/mpl/if.hpp | 0 .../include/boost/mpl/index_if.hpp | 0 .../include/boost/mpl/index_of.hpp | 0 .../include/boost/mpl/inherit.hpp | 0 .../include/boost/mpl/inherit_linearly.hpp | 0 .../include/boost/mpl/insert.hpp | 0 .../include/boost/mpl/insert_fwd.hpp | 0 .../include/boost/mpl/insert_range.hpp | 0 .../include/boost/mpl/insert_range_fwd.hpp | 0 .../include/boost/mpl/inserter.hpp | 0 .../include/boost/mpl/int.hpp | 0 .../include/boost/mpl/int_fwd.hpp | 0 .../include/boost/mpl/integral_c.hpp | 0 .../include/boost/mpl/integral_c_fwd.hpp | 0 .../include/boost/mpl/integral_c_tag.hpp | 0 .../include/boost/mpl/is_placeholder.hpp | 0 .../include/boost/mpl/is_sequence.hpp | 0 .../include/boost/mpl/iter_fold.hpp | 0 .../include/boost/mpl/iter_fold_if.hpp | 0 .../include/boost/mpl/iterator_category.hpp | 0 .../include/boost/mpl/iterator_range.hpp | 0 .../include/boost/mpl/iterator_tags.hpp | 0 .../include/boost/mpl/joint_view.hpp | 0 .../include/boost/mpl/key_type.hpp | 0 .../include/boost/mpl/key_type_fwd.hpp | 0 .../include/boost/mpl/lambda.hpp | 0 .../include/boost/mpl/lambda_fwd.hpp | 0 .../include/boost/mpl/less.hpp | 0 .../include/boost/mpl/less_equal.hpp | 0 .../include/boost/mpl/limits/arity.hpp | 0 .../include/boost/mpl/limits/list.hpp | 0 .../include/boost/mpl/limits/map.hpp | 0 .../include/boost/mpl/limits/set.hpp | 0 .../include/boost/mpl/limits/string.hpp | 0 .../include/boost/mpl/limits/unrolling.hpp | 0 .../include/boost/mpl/limits/vector.hpp | 0 .../include/boost/mpl/list.hpp | 0 .../include/boost/mpl/list/aux_/O1_size.hpp | 0 .../include/boost/mpl/list/aux_/begin_end.hpp | 0 .../include/boost/mpl/list/aux_/clear.hpp | 0 .../include/boost/mpl/list/aux_/empty.hpp | 0 .../include/boost/mpl/list/aux_/front.hpp | 0 .../mpl/list/aux_/include_preprocessed.hpp | 0 .../include/boost/mpl/list/aux_/item.hpp | 0 .../include/boost/mpl/list/aux_/iterator.hpp | 0 .../include/boost/mpl/list/aux_/numbered.hpp | 0 .../boost/mpl/list/aux_/numbered_c.hpp | 0 .../include/boost/mpl/list/aux_/pop_front.hpp | 0 .../list/aux_/preprocessed/plain/list10.hpp | 0 .../list/aux_/preprocessed/plain/list10_c.hpp | 0 .../list/aux_/preprocessed/plain/list20.hpp | 0 .../list/aux_/preprocessed/plain/list20_c.hpp | 0 .../list/aux_/preprocessed/plain/list30.hpp | 0 .../list/aux_/preprocessed/plain/list30_c.hpp | 0 .../list/aux_/preprocessed/plain/list40.hpp | 0 .../list/aux_/preprocessed/plain/list40_c.hpp | 0 .../list/aux_/preprocessed/plain/list50.hpp | 0 .../list/aux_/preprocessed/plain/list50_c.hpp | 0 .../include/boost/mpl/list/aux_/push_back.hpp | 0 .../boost/mpl/list/aux_/push_front.hpp | 0 .../include/boost/mpl/list/aux_/size.hpp | 0 .../include/boost/mpl/list/aux_/tag.hpp | 0 .../include/boost/mpl/list/list0.hpp | 0 .../include/boost/mpl/list/list0_c.hpp | 0 .../include/boost/mpl/list/list10.hpp | 0 .../include/boost/mpl/list/list10_c.hpp | 0 .../include/boost/mpl/list/list20.hpp | 0 .../include/boost/mpl/list/list20_c.hpp | 0 .../include/boost/mpl/list/list30.hpp | 0 .../include/boost/mpl/list/list30_c.hpp | 0 .../include/boost/mpl/list/list40.hpp | 0 .../include/boost/mpl/list/list40_c.hpp | 0 .../include/boost/mpl/list/list50.hpp | 0 .../include/boost/mpl/list/list50_c.hpp | 0 .../include/boost/mpl/list_c.hpp | 0 .../include/boost/mpl/logical.hpp | 0 .../include/boost/mpl/long.hpp | 0 .../include/boost/mpl/long_fwd.hpp | 0 .../include/boost/mpl/lower_bound.hpp | 0 .../include/boost/mpl/map.hpp | 0 .../include/boost/mpl/map/aux_/at_impl.hpp | 0 .../boost/mpl/map/aux_/begin_end_impl.hpp | 0 .../include/boost/mpl/map/aux_/clear_impl.hpp | 0 .../boost/mpl/map/aux_/contains_impl.hpp | 0 .../include/boost/mpl/map/aux_/empty_impl.hpp | 0 .../include/boost/mpl/map/aux_/erase_impl.hpp | 0 .../boost/mpl/map/aux_/erase_key_impl.hpp | 0 .../boost/mpl/map/aux_/has_key_impl.hpp | 0 .../mpl/map/aux_/include_preprocessed.hpp | 0 .../boost/mpl/map/aux_/insert_impl.hpp | 0 .../boost/mpl/map/aux_/insert_range_impl.hpp | 41 + .../include/boost/mpl/map/aux_/item.hpp | 141 + .../include/boost/mpl/map/aux_/iterator.hpp | 0 .../boost/mpl/map/aux_/key_type_impl.hpp | 0 .../include/boost/mpl/map/aux_/map0.hpp | 0 .../include/boost/mpl/map/aux_/numbered.hpp | 0 .../map/aux_/preprocessed/no_ctps/map10.hpp | 0 .../map/aux_/preprocessed/no_ctps/map20.hpp | 0 .../map/aux_/preprocessed/no_ctps/map30.hpp | 0 .../map/aux_/preprocessed/no_ctps/map40.hpp | 0 .../map/aux_/preprocessed/no_ctps/map50.hpp | 0 .../mpl/map/aux_/preprocessed/plain/map10.hpp | 0 .../mpl/map/aux_/preprocessed/plain/map20.hpp | 0 .../mpl/map/aux_/preprocessed/plain/map30.hpp | 0 .../mpl/map/aux_/preprocessed/plain/map40.hpp | 0 .../mpl/map/aux_/preprocessed/plain/map50.hpp | 0 .../aux_/preprocessed/typeof_based/map10.hpp | 0 .../aux_/preprocessed/typeof_based/map20.hpp | 0 .../aux_/preprocessed/typeof_based/map30.hpp | 0 .../aux_/preprocessed/typeof_based/map40.hpp | 0 .../aux_/preprocessed/typeof_based/map50.hpp | 0 .../include/boost/mpl/map/aux_/size_impl.hpp | 0 .../include/boost/mpl/map/aux_/tag.hpp | 0 .../boost/mpl/map/aux_/value_type_impl.hpp | 0 .../include/boost/mpl/map/map0.hpp | 1 + .../include/boost/mpl/map/map10.hpp | 0 .../include/boost/mpl/map/map20.hpp | 0 .../include/boost/mpl/map/map30.hpp | 0 .../include/boost/mpl/map/map40.hpp | 0 .../include/boost/mpl/map/map50.hpp | 0 .../include/boost/mpl/math/fixed_c.hpp | 0 .../include/boost/mpl/math/is_even.hpp | 0 .../include/boost/mpl/math/rational_c.hpp | 0 .../include/boost/mpl/max.hpp | 0 .../include/boost/mpl/max_element.hpp | 0 .../include/boost/mpl/min.hpp | 0 .../include/boost/mpl/min_element.hpp | 0 .../include/boost/mpl/min_max.hpp | 0 .../include/boost/mpl/minus.hpp | 0 .../include/boost/mpl/modulus.hpp | 0 .../include/boost/mpl/multiplies.hpp | 0 .../boost/mpl/multiset/aux_/count_impl.hpp | 0 .../boost/mpl/multiset/aux_/insert_impl.hpp | 0 .../include/boost/mpl/multiset/aux_/item.hpp | 0 .../boost/mpl/multiset/aux_/multiset0.hpp | 0 .../include/boost/mpl/multiset/aux_/tag.hpp | 0 .../include/boost/mpl/multiset/multiset0.hpp | 0 .../include/boost/mpl/negate.hpp | 0 .../include/boost/mpl/next.hpp | 0 .../include/boost/mpl/next_prior.hpp | 0 .../include/boost/mpl/not.hpp | 0 .../include/boost/mpl/not_equal_to.hpp | 0 .../include/boost/mpl/numeric_cast.hpp | 0 .../include/boost/mpl/or.hpp | 0 .../include/boost/mpl/order.hpp | 0 .../include/boost/mpl/order_fwd.hpp | 0 .../include/boost/mpl/pair.hpp | 0 .../include/boost/mpl/pair_view.hpp | 0 .../include/boost/mpl/partition.hpp | 0 .../include/boost/mpl/placeholders.hpp | 0 .../include/boost/mpl/plus.hpp | 0 .../include/boost/mpl/pop_back.hpp | 0 .../include/boost/mpl/pop_back_fwd.hpp | 0 .../include/boost/mpl/pop_front.hpp | 0 .../include/boost/mpl/pop_front_fwd.hpp | 0 .../include/boost/mpl/print.hpp | 3 + .../include/boost/mpl/prior.hpp | 0 .../include/boost/mpl/protect.hpp | 0 .../include/boost/mpl/push_back.hpp | 0 .../include/boost/mpl/push_back_fwd.hpp | 0 .../include/boost/mpl/push_front.hpp | 0 .../include/boost/mpl/push_front_fwd.hpp | 0 .../include/boost/mpl/quote.hpp | 0 .../include/boost/mpl/range_c.hpp | 0 .../include/boost/mpl/remove.hpp | 0 .../include/boost/mpl/remove_if.hpp | 0 .../include/boost/mpl/replace.hpp | 0 .../include/boost/mpl/replace_if.hpp | 0 .../include/boost/mpl/reverse.hpp | 0 .../include/boost/mpl/reverse_fold.hpp | 0 .../include/boost/mpl/reverse_iter_fold.hpp | 0 .../include/boost/mpl/same_as.hpp | 0 .../include/boost/mpl/sequence_tag.hpp | 0 .../include/boost/mpl/sequence_tag_fwd.hpp | 0 .../include/boost/mpl/set.hpp | 0 .../include/boost/mpl/set/aux_/at_impl.hpp | 0 .../boost/mpl/set/aux_/begin_end_impl.hpp | 0 .../include/boost/mpl/set/aux_/clear_impl.hpp | 0 .../include/boost/mpl/set/aux_/empty_impl.hpp | 0 .../include/boost/mpl/set/aux_/erase_impl.hpp | 0 .../boost/mpl/set/aux_/erase_key_impl.hpp | 0 .../boost/mpl/set/aux_/has_key_impl.hpp | 0 .../mpl/set/aux_/include_preprocessed.hpp | 0 .../boost/mpl/set/aux_/insert_impl.hpp | 0 .../boost/mpl/set/aux_/insert_range_impl.hpp | 41 + .../include/boost/mpl/set/aux_/item.hpp | 82 + .../include/boost/mpl/set/aux_/iterator.hpp | 0 .../boost/mpl/set/aux_/key_type_impl.hpp | 0 .../include/boost/mpl/set/aux_/numbered.hpp | 0 .../include/boost/mpl/set/aux_/numbered_c.hpp | 0 .../mpl/set/aux_/preprocessed/plain/set10.hpp | 0 .../set/aux_/preprocessed/plain/set10_c.hpp | 0 .../mpl/set/aux_/preprocessed/plain/set20.hpp | 0 .../set/aux_/preprocessed/plain/set20_c.hpp | 0 .../mpl/set/aux_/preprocessed/plain/set30.hpp | 0 .../set/aux_/preprocessed/plain/set30_c.hpp | 0 .../mpl/set/aux_/preprocessed/plain/set40.hpp | 0 .../set/aux_/preprocessed/plain/set40_c.hpp | 0 .../mpl/set/aux_/preprocessed/plain/set50.hpp | 0 .../set/aux_/preprocessed/plain/set50_c.hpp | 0 .../include/boost/mpl/set/aux_/set0.hpp | 0 .../include/boost/mpl/set/aux_/size_impl.hpp | 0 .../include/boost/mpl/set/aux_/tag.hpp | 0 .../boost/mpl/set/aux_/value_type_impl.hpp | 0 .../include/boost/mpl/set/set0.hpp | 1 + .../include/boost/mpl/set/set0_c.hpp | 0 .../include/boost/mpl/set/set10.hpp | 0 .../include/boost/mpl/set/set10_c.hpp | 0 .../include/boost/mpl/set/set20.hpp | 0 .../include/boost/mpl/set/set20_c.hpp | 0 .../include/boost/mpl/set/set30.hpp | 0 .../include/boost/mpl/set/set30_c.hpp | 0 .../include/boost/mpl/set/set40.hpp | 0 .../include/boost/mpl/set/set40_c.hpp | 0 .../include/boost/mpl/set/set50.hpp | 0 .../include/boost/mpl/set/set50_c.hpp | 0 .../include/boost/mpl/set_c.hpp | 0 .../include/boost/mpl/shift_left.hpp | 0 .../include/boost/mpl/shift_right.hpp | 0 .../include/boost/mpl/single_view.hpp | 0 .../include/boost/mpl/size.hpp | 0 .../include/boost/mpl/size_fwd.hpp | 0 .../include/boost/mpl/size_t.hpp | 0 .../include/boost/mpl/size_t_fwd.hpp | 0 .../include/boost/mpl/sizeof.hpp | 0 .../include/boost/mpl/sort.hpp | 0 .../include/boost/mpl/stable_partition.hpp | 0 .../boost-1.62.0/include/boost/mpl/string.hpp | 607 ++ .../include/boost/mpl/switch.hpp | 0 .../include/boost/mpl/tag.hpp | 0 .../include/boost/mpl/times.hpp | 0 .../include/boost/mpl/transform.hpp | 0 .../include/boost/mpl/transform_view.hpp | 0 .../include/boost/mpl/unique.hpp | 0 .../include/boost/mpl/unpack_args.hpp | 0 .../include/boost/mpl/upper_bound.hpp | 0 .../include/boost/mpl/value_type.hpp | 0 .../include/boost/mpl/value_type_fwd.hpp | 0 .../include/boost/mpl/vector.hpp | 0 .../include/boost/mpl/vector/aux_/O1_size.hpp | 0 .../include/boost/mpl/vector/aux_/at.hpp | 0 .../include/boost/mpl/vector/aux_/back.hpp | 0 .../boost/mpl/vector/aux_/begin_end.hpp | 0 .../include/boost/mpl/vector/aux_/clear.hpp | 0 .../include/boost/mpl/vector/aux_/empty.hpp | 0 .../include/boost/mpl/vector/aux_/front.hpp | 0 .../mpl/vector/aux_/include_preprocessed.hpp | 0 .../include/boost/mpl/vector/aux_/item.hpp | 0 .../boost/mpl/vector/aux_/iterator.hpp | 0 .../boost/mpl/vector/aux_/numbered.hpp | 0 .../boost/mpl/vector/aux_/numbered_c.hpp | 0 .../boost/mpl/vector/aux_/pop_back.hpp | 0 .../boost/mpl/vector/aux_/pop_front.hpp | 0 .../aux_/preprocessed/no_ctps/vector10.hpp | 0 .../aux_/preprocessed/no_ctps/vector10_c.hpp | 0 .../aux_/preprocessed/no_ctps/vector20.hpp | 0 .../aux_/preprocessed/no_ctps/vector20_c.hpp | 0 .../aux_/preprocessed/no_ctps/vector30.hpp | 0 .../aux_/preprocessed/no_ctps/vector30_c.hpp | 0 .../aux_/preprocessed/no_ctps/vector40.hpp | 0 .../aux_/preprocessed/no_ctps/vector40_c.hpp | 0 .../aux_/preprocessed/no_ctps/vector50.hpp | 0 .../aux_/preprocessed/no_ctps/vector50_c.hpp | 0 .../aux_/preprocessed/plain/vector10.hpp | 0 .../aux_/preprocessed/plain/vector10_c.hpp | 0 .../aux_/preprocessed/plain/vector20.hpp | 0 .../aux_/preprocessed/plain/vector20_c.hpp | 0 .../aux_/preprocessed/plain/vector30.hpp | 0 .../aux_/preprocessed/plain/vector30_c.hpp | 0 .../aux_/preprocessed/plain/vector40.hpp | 0 .../aux_/preprocessed/plain/vector40_c.hpp | 0 .../aux_/preprocessed/plain/vector50.hpp | 0 .../aux_/preprocessed/plain/vector50_c.hpp | 0 .../preprocessed/typeof_based/vector10.hpp | 0 .../preprocessed/typeof_based/vector10_c.hpp | 0 .../preprocessed/typeof_based/vector20.hpp | 0 .../preprocessed/typeof_based/vector20_c.hpp | 0 .../preprocessed/typeof_based/vector30.hpp | 0 .../preprocessed/typeof_based/vector30_c.hpp | 0 .../preprocessed/typeof_based/vector40.hpp | 0 .../preprocessed/typeof_based/vector40_c.hpp | 0 .../preprocessed/typeof_based/vector50.hpp | 0 .../preprocessed/typeof_based/vector50_c.hpp | 0 .../boost/mpl/vector/aux_/push_back.hpp | 0 .../boost/mpl/vector/aux_/push_front.hpp | 0 .../include/boost/mpl/vector/aux_/size.hpp | 0 .../include/boost/mpl/vector/aux_/tag.hpp | 0 .../include/boost/mpl/vector/aux_/vector0.hpp | 0 .../include/boost/mpl/vector/vector0.hpp | 0 .../include/boost/mpl/vector/vector0_c.hpp | 0 .../include/boost/mpl/vector/vector10.hpp | 0 .../include/boost/mpl/vector/vector10_c.hpp | 0 .../include/boost/mpl/vector/vector20.hpp | 0 .../include/boost/mpl/vector/vector20_c.hpp | 0 .../include/boost/mpl/vector/vector30.hpp | 0 .../include/boost/mpl/vector/vector30_c.hpp | 0 .../include/boost/mpl/vector/vector40.hpp | 0 .../include/boost/mpl/vector/vector40_c.hpp | 0 .../include/boost/mpl/vector/vector50.hpp | 0 .../include/boost/mpl/vector/vector50_c.hpp | 0 .../include/boost/mpl/vector_c.hpp | 0 .../include/boost/mpl/void.hpp | 0 .../include/boost/mpl/void_fwd.hpp | 0 .../include/boost/mpl/zip_view.hpp | 0 .../include/boost/multi_array.hpp | 0 .../include/boost/multi_array/algorithm.hpp | 0 .../include/boost/multi_array/base.hpp | 0 .../boost/multi_array/collection_concept.hpp | 0 .../boost/multi_array/concept_checks.hpp | 0 .../include/boost/multi_array/copy_array.hpp | 0 .../include/boost/multi_array/extent_gen.hpp | 0 .../boost/multi_array/extent_range.hpp | 0 .../include/boost/multi_array/index_gen.hpp | 0 .../include/boost/multi_array/index_range.hpp | 0 .../include/boost/multi_array/iterator.hpp | 0 .../boost/multi_array/multi_array_ref.hpp | 0 .../include/boost/multi_array/range_list.hpp | 0 .../boost/multi_array/storage_order.hpp | 0 .../include/boost/multi_array/subarray.hpp | 0 .../include/boost/multi_array/types.hpp | 0 .../include/boost/multi_array/view.hpp | 0 .../boost/multi_index/composite_key.hpp | 239 +- .../multi_index/detail/access_specifier.hpp | 0 .../boost/multi_index/detail/adl_swap.hpp | 0 .../detail/archive_constructed.hpp | 4 +- .../boost/multi_index/detail/auto_space.hpp | 0 .../boost/multi_index/detail/base_type.hpp | 0 .../detail/bidir_node_iterator.hpp | 3 +- .../boost/multi_index/detail/bucket_array.hpp | 5 +- .../multi_index/detail/cons_stdtuple.hpp | 93 + .../boost/multi_index/detail/converter.hpp | 0 .../boost/multi_index/detail/copy_map.hpp | 15 +- .../detail/do_not_copy_elements_tag.hpp | 0 .../detail/duplicates_iterator.hpp | 0 .../boost/multi_index/detail/has_tag.hpp | 0 .../multi_index/detail/hash_index_args.hpp | 0 .../detail/hash_index_iterator.hpp | 1 + .../multi_index/detail/hash_index_node.hpp | 22 +- .../multi_index/detail/header_holder.hpp | 0 .../boost/multi_index/detail/index_base.hpp | 0 .../boost/multi_index/detail/index_loader.hpp | 5 +- .../multi_index/detail/index_matcher.hpp | 5 +- .../multi_index/detail/index_node_base.hpp | 8 +- .../boost/multi_index/detail/index_saver.hpp | 0 .../multi_index/detail/invariant_assert.hpp | 0 .../multi_index/detail/is_index_list.hpp | 0 .../multi_index/detail/is_transparent.hpp | 135 + .../boost/multi_index/detail/iter_adaptor.hpp | 0 .../multi_index/detail/modify_key_adaptor.hpp | 0 .../multi_index/detail/no_duplicate_tags.hpp | 0 .../boost/multi_index/detail/node_type.hpp | 0 .../multi_index/detail/ord_index_args.hpp | 0 .../multi_index/detail/ord_index_impl.hpp | 1567 +++++ .../multi_index/detail/ord_index_impl_fwd.hpp | 128 + .../multi_index/detail/ord_index_node.hpp | 104 +- .../multi_index/detail/ord_index_ops.hpp | 266 + .../boost/multi_index/detail/promotes_arg.hpp | 83 + .../boost/multi_index/detail/raw_ptr.hpp | 52 + .../multi_index/detail/rnd_index_loader.hpp | 0 .../multi_index/detail/rnd_index_node.hpp | 19 +- .../multi_index/detail/rnd_index_ops.hpp | 13 +- .../detail/rnd_index_ptr_array.hpp | 0 .../multi_index/detail/rnd_node_iterator.hpp | 3 +- .../multi_index/detail/rnk_index_ops.hpp | 300 + .../boost/multi_index/detail/safe_mode.hpp | 0 .../boost/multi_index/detail/scope_guard.hpp | 0 .../multi_index/detail/seq_index_node.hpp | 15 +- .../multi_index/detail/seq_index_ops.hpp | 6 +- .../detail/serialization_version.hpp | 0 .../boost/multi_index/detail/uintptr_type.hpp | 0 .../boost/multi_index/detail/unbounded.hpp | 0 .../multi_index/detail/value_compare.hpp | 9 +- .../multi_index/detail/vartempl_support.hpp | 0 .../include/boost/multi_index/global_fun.hpp | 14 +- .../boost/multi_index/hashed_index.hpp | 139 +- .../boost/multi_index/hashed_index_fwd.hpp | 0 .../include/boost/multi_index/identity.hpp | 145 + .../boost/multi_index/identity_fwd.hpp | 0 .../include/boost/multi_index/indexed_by.hpp | 0 .../boost/multi_index/key_extractors.hpp | 0 .../include/boost/multi_index/mem_fun.hpp | 4 +- .../include/boost/multi_index/member.hpp | 4 +- .../boost/multi_index/ordered_index.hpp | 114 + .../boost/multi_index/ordered_index_fwd.hpp | 35 + .../boost/multi_index/random_access_index.hpp | 9 +- .../multi_index/random_access_index_fwd.hpp | 0 .../boost/multi_index/ranked_index.hpp | 382 ++ .../boost/multi_index/ranked_index_fwd.hpp | 35 + .../boost/multi_index/safe_mode_errors.hpp | 0 .../boost/multi_index/sequenced_index.hpp | 8 +- .../boost/multi_index/sequenced_index_fwd.hpp | 0 .../include/boost/multi_index/tag.hpp | 0 .../include/boost/multi_index_container.hpp | 0 .../boost/multi_index_container_fwd.hpp | 0 .../boost-1.62.0/include/boost/next_prior.hpp | 165 + .../include/boost/non_type.hpp | 0 .../include/boost/noncopyable.hpp | 0 .../include/boost/nondet_random.hpp | 0 bundled/boost-1.62.0/include/boost/none.hpp | 59 + bundled/boost-1.62.0/include/boost/none_t.hpp | 39 + .../boost/numeric/conversion/bounds.hpp | 0 .../include/boost/numeric/conversion/cast.hpp | 0 .../numeric/conversion/conversion_traits.hpp | 0 .../boost/numeric/conversion/converter.hpp | 0 .../numeric/conversion/converter_policies.hpp | 0 .../numeric/conversion/detail/bounds.hpp | 0 .../conversion/detail/conversion_traits.hpp | 0 .../numeric/conversion/detail/converter.hpp | 0 .../conversion/detail/int_float_mixture.hpp | 0 .../conversion/detail/is_subranged.hpp | 0 .../boost/numeric/conversion/detail/meta.hpp | 0 .../conversion/detail/numeric_cast_traits.hpp | 0 .../conversion/detail/old_numeric_cast.hpp | 0 .../numeric_cast_traits_common.hpp | 0 .../numeric_cast_traits_long_long.hpp | 0 .../conversion/detail/sign_mixture.hpp | 0 .../conversion/detail/udt_builtin_mixture.hpp | 0 .../numeric/conversion/int_float_mixture.hpp | 0 .../conversion/int_float_mixture_enum.hpp | 0 .../boost/numeric/conversion/is_subranged.hpp | 0 .../conversion/numeric_cast_traits.hpp | 0 .../boost/numeric/conversion/sign_mixture.hpp | 0 .../numeric/conversion/sign_mixture_enum.hpp | 0 .../conversion/udt_builtin_mixture.hpp | 0 .../conversion/udt_builtin_mixture_enum.hpp | 0 .../include/boost/numeric/interval.hpp | 0 .../include/boost/numeric/interval/arith.hpp | 0 .../include/boost/numeric/interval/arith2.hpp | 0 .../include/boost/numeric/interval/arith3.hpp | 0 .../boost/numeric/interval/checking.hpp | 0 .../boost/numeric/interval/compare.hpp | 0 .../numeric/interval/compare/certain.hpp | 0 .../numeric/interval/compare/explicit.hpp | 0 .../interval/compare/lexicographic.hpp | 0 .../numeric/interval/compare/possible.hpp | 0 .../boost/numeric/interval/compare/set.hpp | 101 + .../numeric/interval/compare/tribool.hpp | 0 .../boost/numeric/interval/constants.hpp | 0 .../detail/alpha_rounding_control.hpp | 0 .../interval/detail/bcc_rounding_control.hpp | 0 .../boost/numeric/interval/detail/bugs.hpp | 48 + .../interval/detail/c99_rounding_control.hpp | 0 .../detail/c99sub_rounding_control.hpp | 0 .../numeric/interval/detail/division.hpp | 0 .../interval/detail/ia64_rounding_control.hpp | 0 .../interval/detail/interval_prototype.hpp | 0 .../interval/detail/msvc_rounding_control.hpp | 15 +- .../interval/detail/ppc_rounding_control.hpp | 0 .../detail/sparc_rounding_control.hpp | 0 .../numeric/interval/detail/test_input.hpp | 0 .../interval/detail/x86_rounding_control.hpp | 0 .../detail/x86gcc_rounding_control.hpp | 0 .../boost/numeric/interval/ext/integer.hpp | 0 .../ext/x86_fast_rounding_control.hpp | 0 .../boost/numeric/interval/hw_rounding.hpp | 0 .../boost/numeric/interval/interval.hpp | 0 .../include/boost/numeric/interval/io.hpp | 0 .../include/boost/numeric/interval/limits.hpp | 49 + .../boost/numeric/interval/policies.hpp | 0 .../boost/numeric/interval/rounded_arith.hpp | 8 +- .../boost/numeric/interval/rounded_transc.hpp | 0 .../boost/numeric/interval/rounding.hpp | 0 .../include/boost/numeric/interval/transc.hpp | 0 .../boost/numeric/interval/utility.hpp | 0 .../include/boost/numeric/odeint.hpp | 1 + .../odeint/algebra/algebra_dispatcher.hpp | 29 +- .../numeric/odeint/algebra/array_algebra.hpp | 293 + .../odeint/algebra/default_operations.hpp | 4 +- .../algebra/detail/extract_value_type.hpp | 0 .../odeint/algebra/detail/for_each.hpp | 0 .../numeric/odeint/algebra/detail/macros.hpp | 0 .../odeint/algebra/detail/norm_inf.hpp | 0 .../numeric/odeint/algebra/fusion_algebra.hpp | 0 .../algebra/fusion_algebra_dispatcher.hpp | 0 .../odeint/algebra/multi_array_algebra.hpp | 4 +- .../odeint/algebra/norm_result_type.hpp | 0 .../odeint/algebra/operations_dispatcher.hpp | 0 .../numeric/odeint/algebra/range_algebra.hpp | 0 .../odeint/algebra/vector_space_algebra.hpp | 0 .../include/boost/numeric/odeint/config.hpp | 0 .../blaze/blaze_algebra_dispatcher.hpp | 0 .../odeint/external/blaze/blaze_resize.hpp | 0 .../odeint/external/compute/compute.hpp | 0 .../external/compute/compute_algebra.hpp | 0 .../compute/compute_algebra_dispatcher.hpp | 0 .../external/compute/compute_operations.hpp | 0 .../compute/compute_operations_dispatcher.hpp | 0 .../external/compute/compute_resize.hpp | 0 .../numeric/odeint/external/eigen/eigen.hpp | 27 + .../odeint/external/eigen/eigen_algebra.hpp | 13 + .../eigen/eigen_algebra_dispatcher.hpp | 49 + .../odeint/external/eigen/eigen_resize.hpp | 0 .../odeint/external/gsl/gsl_wrapper.hpp | 0 .../odeint/external/mkl/mkl_operations.hpp | 0 .../boost/numeric/odeint/external/mpi/mpi.hpp | 0 .../external/mpi/mpi_nested_algebra.hpp | 0 .../numeric/odeint/external/mpi/mpi_state.hpp | 0 .../odeint/external/mpi/mpi_vector_state.hpp | 0 .../external/mtl4/implicit_euler_mtl4.hpp | 0 .../numeric/odeint/external/mtl4/mtl4.hpp | 0 .../external/mtl4/mtl4_algebra_dispatcher.hpp | 0 .../odeint/external/mtl4/mtl4_resize.hpp | 0 .../external/nt2/nt2_algebra_dispatcher.hpp | 0 .../numeric/odeint/external/nt2/nt2_copy.hpp | 0 .../odeint/external/nt2/nt2_norm_inf.hpp | 0 .../odeint/external/nt2/nt2_resize.hpp | 0 .../numeric/odeint/external/openmp/openmp.hpp | 0 .../external/openmp/openmp_nested_algebra.hpp | 0 .../external/openmp/openmp_range_algebra.hpp | 2 +- .../odeint/external/openmp/openmp_state.hpp | 0 .../numeric/odeint/external/thrust/thrust.hpp | 0 .../odeint/external/thrust/thrust_algebra.hpp | 0 .../thrust/thrust_algebra_dispatcher.hpp | 107 + .../external/thrust/thrust_operations.hpp | 0 .../thrust/thrust_operations_dispatcher.hpp | 107 + .../odeint/external/thrust/thrust_resize.hpp | 185 + .../numeric/odeint/external/vexcl/vexcl.hpp | 0 .../odeint/external/vexcl/vexcl_abs.hpp | 0 .../vexcl/vexcl_algebra_dispatcher.hpp | 0 .../odeint/external/vexcl/vexcl_copy.hpp | 0 .../odeint/external/vexcl/vexcl_norm_inf.hpp | 0 .../odeint/external/vexcl/vexcl_resize.hpp | 0 .../external/vexcl/vexcl_same_instance.hpp | 0 .../external/viennacl/viennacl_operations.hpp | 0 .../external/viennacl/viennacl_resize.hpp | 0 .../odeint/integrate/check_adapter.hpp | 222 + .../odeint/integrate/detail/functors.hpp | 0 .../integrate/detail/integrate_adaptive.hpp | 161 + .../integrate/detail/integrate_const.hpp | 167 + .../integrate/detail/integrate_n_steps.hpp | 161 + .../integrate/detail/integrate_times.hpp | 179 + .../numeric/odeint/integrate/integrate.hpp | 22 + .../odeint/integrate/integrate_adaptive.hpp | 129 + .../odeint/integrate/integrate_const.hpp | 195 + .../odeint/integrate/integrate_n_steps.hpp | 179 + .../odeint/integrate/integrate_times.hpp | 222 + .../odeint/integrate/max_step_checker.hpp | 114 + .../odeint/integrate/null_observer.hpp | 0 .../odeint/integrate/observer_collection.hpp | 0 .../odeint/iterator/adaptive_iterator.hpp | 0 .../iterator/adaptive_time_iterator.hpp | 0 .../odeint/iterator/const_step_iterator.hpp | 0 .../iterator/const_step_time_iterator.hpp | 0 .../iterator/detail/ode_iterator_base.hpp | 0 .../iterator/impl/adaptive_iterator_impl.hpp | 2 +- .../impl/const_step_iterator_impl.hpp | 2 +- .../iterator/impl/n_step_iterator_impl.hpp | 0 .../iterator/impl/times_iterator_impl.hpp | 0 .../iterator/integrate/detail/functors.hpp | 0 .../integrate/detail/integrate_adaptive.hpp | 0 .../integrate/detail/integrate_const.hpp | 0 .../integrate/detail/integrate_n_steps.hpp | 107 + .../integrate/detail/integrate_times.hpp | 0 .../odeint/iterator/integrate/integrate.hpp | 0 .../iterator/integrate/integrate_adaptive.hpp | 0 .../iterator/integrate/integrate_const.hpp | 0 .../iterator/integrate/integrate_n_steps.hpp | 0 .../iterator/integrate/integrate_times.hpp | 0 .../iterator/integrate/null_observer.hpp | 0 .../integrate/observer_collection.hpp | 0 .../odeint/iterator/n_step_iterator.hpp | 0 .../odeint/iterator/n_step_time_iterator.hpp | 0 .../odeint/iterator/times_iterator.hpp | 0 .../odeint/iterator/times_time_iterator.hpp | 0 .../odeint/stepper/adams_bashforth.hpp | 28 +- .../stepper/adams_bashforth_moulton.hpp | 10 +- .../numeric/odeint/stepper/adams_moulton.hpp | 0 .../stepper/base/algebra_stepper_base.hpp | 0 .../base/explicit_error_stepper_base.hpp | 35 +- .../base/explicit_error_stepper_fsal_base.hpp | 30 +- .../stepper/base/explicit_stepper_base.hpp | 31 + .../base/symplectic_rkn_stepper_base.hpp | 2 +- .../numeric/odeint/stepper/bulirsch_stoer.hpp | 27 +- .../stepper/bulirsch_stoer_dense_out.hpp | 51 +- .../odeint/stepper/controlled_runge_kutta.hpp | 236 +- .../odeint/stepper/controlled_step_result.hpp | 0 .../stepper/dense_output_runge_kutta.hpp | 20 +- .../detail/adams_bashforth_call_algebra.hpp | 4 +- .../detail/adams_bashforth_coefficients.hpp | 0 .../detail/adams_moulton_call_algebra.hpp | 2 +- .../detail/adams_moulton_coefficients.hpp | 0 .../stepper/detail/generic_rk_algorithm.hpp | 0 .../detail/generic_rk_call_algebra.hpp | 0 .../stepper/detail/generic_rk_operations.hpp | 0 .../odeint/stepper/detail/rotating_buffer.hpp | 0 .../boost/numeric/odeint/stepper/euler.hpp | 4 +- .../stepper/explicit_error_generic_rk.hpp | 0 .../odeint/stepper/explicit_generic_rk.hpp | 0 .../odeint/stepper/extrapolation_stepper.hpp | 293 + .../numeric/odeint/stepper/generation.hpp | 0 .../generation_controlled_runge_kutta.hpp | 61 + .../generation_dense_output_runge_kutta.hpp | 65 + .../generation/generation_rosenbrock4.hpp | 7 + .../generation_runge_kutta_cash_karp54.hpp | 0 ...ration_runge_kutta_cash_karp54_classic.hpp | 0 .../generation_runge_kutta_dopri5.hpp | 0 .../generation_runge_kutta_fehlberg78.hpp | 0 .../stepper/generation/make_controlled.hpp | 103 + .../stepper/generation/make_dense_output.hpp | 100 + .../numeric/odeint/stepper/implicit_euler.hpp | 2 +- .../odeint/stepper/modified_midpoint.hpp | 0 .../numeric/odeint/stepper/rosenbrock4.hpp | 0 .../odeint/stepper/rosenbrock4_controller.hpp | 33 +- .../stepper/rosenbrock4_dense_output.hpp | 11 +- .../numeric/odeint/stepper/runge_kutta4.hpp | 0 .../odeint/stepper/runge_kutta4_classic.hpp | 11 +- .../stepper/runge_kutta_cash_karp54.hpp | 0 .../runge_kutta_cash_karp54_classic.hpp | 0 .../odeint/stepper/runge_kutta_dopri5.hpp | 0 .../odeint/stepper/runge_kutta_fehlberg78.hpp | 0 .../odeint/stepper/stepper_categories.hpp | 0 .../odeint/stepper/symplectic_euler.hpp | 0 .../symplectic_rkn_sb3a_m4_mclachlan.hpp | 0 .../stepper/symplectic_rkn_sb3a_mclachlan.hpp | 0 .../odeint/stepper/velocity_verlet.hpp | 2 +- .../boost/numeric/odeint/util/bind.hpp | 101 + .../boost/numeric/odeint/util/copy.hpp | 0 .../numeric/odeint/util/detail/is_range.hpp | 0 .../odeint/util/detail/less_with_sign.hpp | 10 +- .../boost/numeric/odeint/util/is_pair.hpp | 0 .../numeric/odeint/util/is_resizeable.hpp | 0 .../odeint/util/multi_array_adaption.hpp | 0 .../numeric/odeint/util/n_ary_helper.hpp | 0 .../numeric/odeint/util/odeint_error.hpp | 77 + .../boost/numeric/odeint/util/resize.hpp | 6 +- .../boost/numeric/odeint/util/resizer.hpp | 2 +- .../numeric/odeint/util/same_instance.hpp | 2 +- .../boost/numeric/odeint/util/same_size.hpp | 2 +- .../boost/numeric/odeint/util/split.hpp | 0 .../numeric/odeint/util/split_adaptor.hpp | 0 .../numeric/odeint/util/state_wrapper.hpp | 0 .../numeric/odeint/util/stepper_traits.hpp | 0 .../odeint/util/ublas_matrix_expression.patch | 0 .../numeric/odeint/util/ublas_wrapper.hpp | 0 .../boost/numeric/odeint/util/unit_helper.hpp | 0 .../numeric/odeint/util/unwrap_reference.hpp | 13 +- .../include/boost/numeric/odeint/version.hpp | 0 .../boost/numeric/ublas/assignment.hpp | 16 +- .../include/boost/numeric/ublas/banded.hpp | 329 +- .../include/boost/numeric/ublas/blas.hpp | 0 .../boost/numeric/ublas/detail/concepts.hpp | 1575 +++++ .../boost/numeric/ublas/detail/config.hpp | 304 + .../numeric/ublas/detail/definitions.hpp | 0 .../numeric/ublas/detail/documentation.hpp | 0 .../boost/numeric/ublas/detail/duff.hpp | 0 .../boost/numeric/ublas/detail/iterator.hpp | 0 .../numeric/ublas/detail/matrix_assign.hpp | 105 +- .../boost/numeric/ublas/detail/raw.hpp | 0 .../ublas/detail/returntype_deduction.hpp | 0 .../boost/numeric/ublas/detail/temporary.hpp | 0 .../numeric/ublas/detail/vector_assign.hpp | 5 +- .../include/boost/numeric/ublas/doxydoc.hpp | 0 .../include/boost/numeric/ublas/exception.hpp | 0 .../ublas/experimental/sparse_view.hpp | 11 +- .../boost/numeric/ublas/expression_types.hpp | 0 .../boost/numeric/ublas/functional.hpp | 2066 ++++++ .../include/boost/numeric/ublas/fwd.hpp | 229 + .../include/boost/numeric/ublas/hermitian.hpp | 176 + .../include/boost/numeric/ublas/io.hpp | 0 .../include/boost/numeric/ublas/lu.hpp | 15 +- .../include/boost/numeric/ublas/matrix.hpp | 5988 +++++++++++++++++ .../boost/numeric/ublas/matrix_expression.hpp | 683 +- .../boost/numeric/ublas/matrix_proxy.hpp | 344 + .../boost/numeric/ublas/matrix_sparse.hpp | 352 + .../boost/numeric/ublas/matrix_vector.hpp | 348 + .../include/boost/numeric/ublas/operation.hpp | 35 +- .../boost/numeric/ublas/operation/begin.hpp | 0 .../boost/numeric/ublas/operation/c_array.hpp | 0 .../boost/numeric/ublas/operation/end.hpp | 0 .../numeric/ublas/operation/num_columns.hpp | 0 .../numeric/ublas/operation/num_rows.hpp | 0 .../boost/numeric/ublas/operation/size.hpp | 0 .../boost/numeric/ublas/operation_blocked.hpp | 0 .../boost/numeric/ublas/operation_sparse.hpp | 0 .../boost/numeric/ublas/operations.hpp | 0 .../include/boost/numeric/ublas/storage.hpp | 181 +- .../boost/numeric/ublas/storage_sparse.hpp | 17 + .../include/boost/numeric/ublas/symmetric.hpp | 2309 +++++++ .../include/boost/numeric/ublas/tags.hpp | 0 .../include/boost/numeric/ublas/traits.hpp | 759 +++ .../boost/numeric/ublas/traits/c_array.hpp | 0 .../ublas/traits/const_iterator_type.hpp | 0 .../numeric/ublas/traits/iterator_type.hpp | 0 .../boost/numeric/ublas/triangular.hpp | 2775 ++++++++ .../include/boost/numeric/ublas/vector.hpp | 2954 ++++++++ .../boost/numeric/ublas/vector_expression.hpp | 81 + .../boost/numeric/ublas/vector_of_vector.hpp | 89 + .../boost/numeric/ublas/vector_proxy.hpp | 54 +- .../boost/numeric/ublas/vector_sparse.hpp | 48 + .../boost-1.62.0/include/boost/operators.hpp | 892 +++ .../include/boost/operators_v1.hpp | 951 +++ .../include/boost/optional.hpp | 0 .../boost/optional/bad_optional_access.hpp | 3 + .../detail/old_optional_implementation.hpp | 1059 +++ .../detail/optional_aligned_storage.hpp | 75 + .../boost/optional/detail/optional_config.hpp | 99 + .../detail/optional_factory_support.hpp | 36 + .../detail/optional_reference_spec.hpp | 203 + .../boost/optional/detail/optional_relops.hpp | 196 + .../boost/optional/detail/optional_swap.hpp | 117 + .../include/boost/optional/optional.hpp | 1146 ++++ .../include/boost/optional/optional_fwd.hpp | 41 + .../include/boost/optional/optional_io.hpp | 26 +- .../include/boost/parameter.hpp | 0 .../include/boost/parameter/aux_/arg_list.hpp | 31 +- .../include/boost/parameter/aux_/cast.hpp | 6 +- .../include/boost/parameter/aux_/default.hpp | 0 .../include/boost/parameter/aux_/is_maybe.hpp | 0 .../include/boost/parameter/aux_/maybe.hpp | 0 .../boost/parameter/aux_/overloads.hpp | 0 .../parameter/aux_/parameter_requirements.hpp | 0 .../parameter/aux_/parenthesized_type.hpp | 35 + .../parameter/aux_/preprocessor/flatten.hpp | 0 .../parameter/aux_/preprocessor/for_each.hpp | 0 .../boost/parameter/aux_/python/invoker.hpp | 0 .../parameter/aux_/python/invoker_iterate.hpp | 0 .../boost/parameter/aux_/result_of0.hpp | 0 .../include/boost/parameter/aux_/set.hpp | 66 + .../include/boost/parameter/aux_/tag.hpp | 0 .../boost/parameter/aux_/tagged_argument.hpp | 4 +- .../boost/parameter/aux_/template_keyword.hpp | 0 .../parameter/aux_/unwrap_cv_reference.hpp | 6 - .../include/boost/parameter/aux_/void.hpp | 0 .../include/boost/parameter/aux_/yesno.hpp | 0 .../include/boost/parameter/binding.hpp | 80 + .../include/boost/parameter/config.hpp | 0 .../include/boost/parameter/keyword.hpp | 30 - .../include/boost/parameter/macros.hpp | 0 .../include/boost/parameter/match.hpp | 0 .../include/boost/parameter/name.hpp | 20 +- .../include/boost/parameter/parameters.hpp | 0 .../include/boost/parameter/preprocessor.hpp | 113 +- .../include/boost/parameter/python.hpp | 0 .../include/boost/parameter/value_type.hpp | 82 + .../include/boost/pending/bucket_sorter.hpp | 0 .../boost/pending/container_traits.hpp | 0 .../boost/pending/detail/disjoint_sets.hpp | 0 .../boost/pending/detail/int_iterator.hpp | 11 +- .../include/boost/pending/detail/property.hpp | 0 .../include/boost/pending/disjoint_sets.hpp | 0 .../boost/pending/fenced_priority_queue.hpp | 0 .../include/boost/pending/fibonacci_heap.hpp | 0 .../include/boost/pending/indirect_cmp.hpp | 0 .../include/boost/pending/integer_log2.hpp | 0 .../include/boost/pending/is_heap.hpp | 0 .../boost/pending/iterator_adaptors.hpp | 0 .../include/boost/pending/iterator_tests.hpp | 27 +- .../include/boost/pending/lowest_bit.hpp | 0 .../include/boost/pending/mutable_heap.hpp | 0 .../include/boost/pending/mutable_queue.hpp | 0 .../include/boost/pending/property.hpp | 0 .../boost/pending/property_serialize.hpp | 0 .../include/boost/pending/queue.hpp | 0 .../include/boost/pending/relaxed_heap.hpp | 5 +- .../include/boost/pending/stringtok.hpp | 0 .../include/boost/phoenix.hpp | 0 .../include/boost/pointee.hpp | 16 +- .../include/boost/pointer_cast.hpp | 0 .../include/boost/pointer_to_other.hpp | 0 .../include/boost/polymorphic_cast.hpp | 100 + .../boost/polymorphic_pointer_cast.hpp | 78 + .../include/boost/predef.h | 0 .../include/boost/predef/architecture.h | 4 +- .../include/boost/predef/architecture/alpha.h | 7 +- .../include/boost/predef/architecture/arm.h | 70 + .../boost/predef/architecture/blackfin.h | 7 +- .../boost/predef/architecture/convex.h | 8 +- .../include/boost/predef/architecture/ia64.h | 6 +- .../include/boost/predef/architecture/m68k.h | 7 +- .../include/boost/predef/architecture/mips.h | 7 +- .../boost/predef/architecture/parisc.h | 7 +- .../include/boost/predef/architecture/ppc.h | 72 + .../boost/predef/architecture/pyramid.h | 7 +- .../include/boost/predef/architecture/rs6k.h | 8 +- .../include/boost/predef/architecture/sparc.h | 7 +- .../boost/predef/architecture/superh.h | 7 +- .../boost/predef/architecture/sys370.h | 7 +- .../boost/predef/architecture/sys390.h | 7 +- .../include/boost/predef/architecture/x86.h | 38 + .../boost/predef/architecture/x86/32.h | 8 +- .../boost/predef/architecture/x86/64.h | 8 +- .../include/boost/predef/architecture/z.h | 7 +- .../include/boost/predef/compiler.h | 4 +- .../include/boost/predef/compiler/borland.h | 7 +- .../include/boost/predef/compiler/clang.h | 7 +- .../include/boost/predef/compiler/comeau.h | 9 +- .../include/boost/predef/compiler/compaq.h | 7 +- .../include/boost/predef/compiler/diab.h | 7 +- .../boost/predef/compiler/digitalmars.h | 7 +- .../include/boost/predef/compiler/dignus.h | 7 +- .../include/boost/predef/compiler/edg.h | 7 +- .../include/boost/predef/compiler/ekopath.h | 7 +- .../include/boost/predef/compiler/gcc.h | 7 +- .../include/boost/predef/compiler/gcc_xml.h | 6 +- .../boost/predef/compiler/greenhills.h | 7 +- .../include/boost/predef/compiler/hp_acc.h | 7 +- .../include/boost/predef/compiler/iar.h | 7 +- .../include/boost/predef/compiler/ibm.h | 7 +- .../include/boost/predef/compiler/intel.h | 7 +- .../include/boost/predef/compiler/kai.h | 7 +- .../include/boost/predef/compiler/llvm.h | 7 +- .../include/boost/predef/compiler/metaware.h | 7 +- .../boost/predef/compiler/metrowerks.h | 7 +- .../include/boost/predef/compiler/microtec.h | 7 +- .../include/boost/predef/compiler/mpw.h | 7 +- .../include/boost/predef/compiler/palm.h | 7 +- .../include/boost/predef/compiler/pgi.h | 7 +- .../boost/predef/compiler/sgi_mipspro.h | 7 +- .../include/boost/predef/compiler/sunpro.h | 76 + .../include/boost/predef/compiler/tendra.h | 7 +- .../include/boost/predef/compiler/visualc.h | 28 +- .../include/boost/predef/compiler/watcom.h | 7 +- .../include/boost/predef/detail/_cassert.h | 2 +- .../include/boost/predef/detail/_exception.h | 2 +- .../boost/predef/detail/comp_detected.h | 0 .../boost/predef/detail/endian_compat.h | 0 .../include/boost/predef/detail/os_detected.h | 0 .../boost/predef/detail/platform_detected.h | 0 .../include/boost/predef/detail/test.h | 0 .../include/boost/predef/detail/test_def.h | 71 + .../include/boost/predef/hardware.h | 16 + .../include/boost/predef/hardware/simd.h | 119 + .../include/boost/predef/hardware/simd/arm.h | 57 + .../boost/predef/hardware/simd/arm/versions.h | 32 + .../include/boost/predef/hardware/simd/ppc.h | 69 + .../boost/predef/hardware/simd/ppc/versions.h | 51 + .../include/boost/predef/hardware/simd/x86.h | 123 + .../boost/predef/hardware/simd/x86/versions.h | 129 + .../boost/predef/hardware/simd/x86_amd.h | 87 + .../predef/hardware/simd/x86_amd/versions.h | 51 + .../include/boost/predef/language.h | 17 + .../include/boost/predef/language/objc.h | 7 +- .../include/boost/predef/language/stdc.h | 7 +- .../include/boost/predef/language/stdcpp.h | 19 +- .../include/boost/predef/library.h | 16 + .../include/boost/predef/library/c.h | 4 +- .../include/boost/predef/library/c/_prefix.h | 0 .../include/boost/predef/library/c/gnu.h | 7 +- .../include/boost/predef/library/c/uc.h | 7 +- .../include/boost/predef/library/c/vms.h | 47 + .../include/boost/predef/library/c/zos.h | 7 +- .../include/boost/predef/library/std.h | 4 +- .../boost/predef/library/std/_prefix.h | 0 .../include/boost/predef/library/std/cxx.h | 7 +- .../boost/predef/library/std/dinkumware.h | 7 +- .../boost/predef/library/std/libcomo.h | 7 +- .../include/boost/predef/library/std/modena.h | 7 +- .../include/boost/predef/library/std/msl.h | 7 +- .../boost/predef/library/std/roguewave.h | 7 +- .../include/boost/predef/library/std/sgi.h | 7 +- .../boost/predef/library/std/stdcpp3.h | 7 +- .../boost/predef/library/std/stlport.h | 7 +- .../include/boost/predef/library/std/vacpp.h | 7 +- .../include/boost/predef/make.h | 6 +- .../include/boost/predef/os.h | 5 +- .../include/boost/predef/os/aix.h | 7 +- .../include/boost/predef/os/amigaos.h | 7 +- .../include/boost/predef/os/android.h | 7 +- .../include/boost/predef/os/beos.h | 7 +- .../include/boost/predef/os/bsd.h | 14 +- .../include/boost/predef/os/bsd/bsdi.h | 6 +- .../include/boost/predef/os/bsd/dragonfly.h | 6 +- .../include/boost/predef/os/bsd/free.h | 6 +- .../include/boost/predef/os/bsd/net.h | 6 +- .../include/boost/predef/os/bsd/open.h | 6 +- .../include/boost/predef/os/cygwin.h | 9 +- .../include/boost/predef/os/haiku.h | 46 + .../include/boost/predef/os/hpux.h | 7 +- .../include/boost/predef/os/ios.h | 6 +- .../include/boost/predef/os/irix.h | 7 +- .../include/boost/predef/os/linux.h | 7 +- .../include/boost/predef/os/macos.h | 7 +- .../include/boost/predef/os/os400.h | 7 +- .../include/boost/predef/os/qnxnto.h | 7 +- .../include/boost/predef/os/solaris.h | 7 +- .../include/boost/predef/os/unix.h | 6 +- .../include/boost/predef/os/vms.h | 52 + .../include/boost/predef/os/windows.h | 6 +- .../boost-1.62.0/include/boost/predef/other.h | 16 + .../include/boost/predef/other/endian.h | 24 +- .../include/boost/predef/platform.h | 4 +- .../include/boost/predef/platform/mingw.h | 7 +- .../boost/predef/platform/windows_desktop.h | 7 +- .../boost/predef/platform/windows_phone.h | 7 +- .../boost/predef/platform/windows_runtime.h | 7 +- .../boost/predef/platform/windows_store.h | 7 +- .../include/boost/predef/version.h | 4 +- .../include/boost/predef/version_number.h | 3 +- .../include/boost/preprocessor.hpp | 0 .../include/boost/preprocessor/arithmetic.hpp | 0 .../boost/preprocessor/arithmetic/add.hpp | 0 .../boost/preprocessor/arithmetic/dec.hpp | 1 + .../arithmetic/detail/div_base.hpp | 0 .../boost/preprocessor/arithmetic/div.hpp | 0 .../boost/preprocessor/arithmetic/inc.hpp | 0 .../boost/preprocessor/arithmetic/mod.hpp | 0 .../boost/preprocessor/arithmetic/mul.hpp | 0 .../boost/preprocessor/arithmetic/sub.hpp | 0 .../include/boost/preprocessor/array.hpp | 0 .../include/boost/preprocessor/array/data.hpp | 0 .../preprocessor/array/detail/get_data.hpp | 55 + .../include/boost/preprocessor/array/elem.hpp | 0 .../include/boost/preprocessor/array/enum.hpp | 0 .../boost/preprocessor/array/insert.hpp | 0 .../boost/preprocessor/array/pop_back.hpp | 0 .../boost/preprocessor/array/pop_front.hpp | 0 .../boost/preprocessor/array/push_back.hpp | 35 + .../boost/preprocessor/array/push_front.hpp | 35 + .../boost/preprocessor/array/remove.hpp | 0 .../boost/preprocessor/array/replace.hpp | 0 .../boost/preprocessor/array/reverse.hpp | 0 .../include/boost/preprocessor/array/size.hpp | 0 .../boost/preprocessor/array/to_list.hpp | 47 + .../boost/preprocessor/array/to_seq.hpp | 46 + .../boost/preprocessor/array/to_tuple.hpp | 33 + .../include/boost/preprocessor/assert_msg.hpp | 0 .../include/boost/preprocessor/cat.hpp | 0 .../include/boost/preprocessor/comma.hpp | 0 .../include/boost/preprocessor/comma_if.hpp | 0 .../include/boost/preprocessor/comparison.hpp | 0 .../boost/preprocessor/comparison/equal.hpp | 0 .../boost/preprocessor/comparison/greater.hpp | 0 .../preprocessor/comparison/greater_equal.hpp | 0 .../boost/preprocessor/comparison/less.hpp | 0 .../preprocessor/comparison/less_equal.hpp | 0 .../preprocessor/comparison/not_equal.hpp | 0 .../boost/preprocessor/config/config.hpp | 104 + .../boost/preprocessor/config/limits.hpp | 0 .../include/boost/preprocessor/control.hpp | 0 .../boost/preprocessor/control/deduce_d.hpp | 0 .../preprocessor/control/detail/dmc/while.hpp | 0 .../preprocessor/control/detail/edg/while.hpp | 0 .../control/detail/msvc/while.hpp | 0 .../preprocessor/control/detail/while.hpp | 0 .../boost/preprocessor/control/expr_if.hpp | 0 .../boost/preprocessor/control/expr_iif.hpp | 0 .../include/boost/preprocessor/control/if.hpp | 0 .../boost/preprocessor/control/iif.hpp | 0 .../boost/preprocessor/control/while.hpp | 0 .../include/boost/preprocessor/debug.hpp | 0 .../boost/preprocessor/debug/assert.hpp | 0 .../boost/preprocessor/debug/error.hpp | 0 .../include/boost/preprocessor/debug/line.hpp | 0 .../include/boost/preprocessor/dec.hpp | 0 .../boost/preprocessor/detail/auto_rec.hpp | 0 .../boost/preprocessor/detail/check.hpp | 0 .../preprocessor/detail/dmc/auto_rec.hpp | 0 .../boost/preprocessor/detail/is_binary.hpp | 0 .../boost/preprocessor/detail/is_nullary.hpp | 0 .../boost/preprocessor/detail/is_unary.hpp | 0 .../boost/preprocessor/detail/null.hpp | 0 .../boost/preprocessor/detail/split.hpp | 0 .../include/boost/preprocessor/empty.hpp | 0 .../include/boost/preprocessor/enum.hpp | 0 .../boost/preprocessor/enum_params.hpp | 0 .../enum_params_with_a_default.hpp | 0 .../enum_params_with_defaults.hpp | 0 .../boost/preprocessor/enum_shifted.hpp | 0 .../preprocessor/enum_shifted_params.hpp | 0 .../include/boost/preprocessor/expand.hpp | 0 .../include/boost/preprocessor/expr_if.hpp | 0 .../include/boost/preprocessor/facilities.hpp | 0 .../boost/preprocessor/facilities/apply.hpp | 0 .../facilities/detail/is_empty.hpp | 55 + .../boost/preprocessor/facilities/empty.hpp | 23 + .../boost/preprocessor/facilities/expand.hpp | 0 .../preprocessor/facilities/identity.hpp | 27 + .../preprocessor/facilities/intercept.hpp | 0 .../boost/preprocessor/facilities/is_1.hpp | 0 .../preprocessor/facilities/is_empty.hpp | 56 + .../preprocessor/facilities/is_empty_or_1.hpp | 3 +- .../facilities/is_empty_variadic.hpp | 57 + .../preprocessor/facilities/overload.hpp | 0 .../include/boost/preprocessor/for.hpp | 0 .../include/boost/preprocessor/identity.hpp | 0 .../include/boost/preprocessor/if.hpp | 0 .../include/boost/preprocessor/inc.hpp | 0 .../include/boost/preprocessor/iterate.hpp | 0 .../include/boost/preprocessor/iteration.hpp | 0 .../iteration/detail/bounds/lower1.hpp | 0 .../iteration/detail/bounds/lower2.hpp | 0 .../iteration/detail/bounds/lower3.hpp | 0 .../iteration/detail/bounds/lower4.hpp | 0 .../iteration/detail/bounds/lower5.hpp | 0 .../iteration/detail/bounds/upper1.hpp | 0 .../iteration/detail/bounds/upper2.hpp | 0 .../iteration/detail/bounds/upper3.hpp | 0 .../iteration/detail/bounds/upper4.hpp | 0 .../iteration/detail/bounds/upper5.hpp | 0 .../preprocessor/iteration/detail/finish.hpp | 0 .../iteration/detail/iter/forward1.hpp | 0 .../iteration/detail/iter/forward2.hpp | 0 .../iteration/detail/iter/forward3.hpp | 0 .../iteration/detail/iter/forward4.hpp | 0 .../iteration/detail/iter/forward5.hpp | 0 .../iteration/detail/iter/reverse1.hpp | 0 .../iteration/detail/iter/reverse2.hpp | 0 .../iteration/detail/iter/reverse3.hpp | 0 .../iteration/detail/iter/reverse4.hpp | 0 .../iteration/detail/iter/reverse5.hpp | 0 .../preprocessor/iteration/detail/local.hpp | 0 .../preprocessor/iteration/detail/rlocal.hpp | 0 .../preprocessor/iteration/detail/self.hpp | 0 .../preprocessor/iteration/detail/start.hpp | 0 .../boost/preprocessor/iteration/iterate.hpp | 0 .../boost/preprocessor/iteration/local.hpp | 0 .../boost/preprocessor/iteration/self.hpp | 0 .../include/boost/preprocessor/library.hpp | 1 + .../include/boost/preprocessor/limits.hpp | 0 .../include/boost/preprocessor/list.hpp | 0 .../include/boost/preprocessor/list/adt.hpp | 0 .../boost/preprocessor/list/append.hpp | 0 .../include/boost/preprocessor/list/at.hpp | 0 .../include/boost/preprocessor/list/cat.hpp | 0 .../list/detail/dmc/fold_left.hpp | 0 .../list/detail/edg/fold_left.hpp | 0 .../list/detail/edg/fold_right.hpp | 0 .../preprocessor/list/detail/fold_left.hpp | 0 .../preprocessor/list/detail/fold_right.hpp | 0 .../include/boost/preprocessor/list/enum.hpp | 0 .../boost/preprocessor/list/filter.hpp | 0 .../boost/preprocessor/list/first_n.hpp | 0 .../boost/preprocessor/list/fold_left.hpp | 0 .../boost/preprocessor/list/fold_right.hpp | 0 .../boost/preprocessor/list/for_each.hpp | 0 .../boost/preprocessor/list/for_each_i.hpp | 0 .../preprocessor/list/for_each_product.hpp | 0 .../boost/preprocessor/list/rest_n.hpp | 0 .../boost/preprocessor/list/reverse.hpp | 0 .../include/boost/preprocessor/list/size.hpp | 0 .../boost/preprocessor/list/to_array.hpp | 34 +- .../boost/preprocessor/list/to_seq.hpp | 0 .../boost/preprocessor/list/to_tuple.hpp | 61 + .../boost/preprocessor/list/transform.hpp | 0 .../include/boost/preprocessor/logical.hpp | 0 .../boost/preprocessor/logical/and.hpp | 0 .../boost/preprocessor/logical/bitand.hpp | 0 .../boost/preprocessor/logical/bitnor.hpp | 0 .../boost/preprocessor/logical/bitor.hpp | 0 .../boost/preprocessor/logical/bitxor.hpp | 0 .../boost/preprocessor/logical/bool.hpp | 0 .../boost/preprocessor/logical/compl.hpp | 0 .../boost/preprocessor/logical/nor.hpp | 0 .../boost/preprocessor/logical/not.hpp | 0 .../include/boost/preprocessor/logical/or.hpp | 0 .../boost/preprocessor/logical/xor.hpp | 0 .../include/boost/preprocessor/max.hpp | 0 .../include/boost/preprocessor/min.hpp | 0 .../boost/preprocessor/punctuation.hpp | 2 + .../boost/preprocessor/punctuation/comma.hpp | 0 .../preprocessor/punctuation/comma_if.hpp | 0 .../punctuation/detail/is_begin_parens.hpp | 48 + .../punctuation/is_begin_parens.hpp | 51 + .../boost/preprocessor/punctuation/paren.hpp | 0 .../preprocessor/punctuation/paren_if.hpp | 0 .../punctuation/remove_parens.hpp | 39 + .../include/boost/preprocessor/repeat.hpp | 0 .../include/boost/preprocessor/repeat_2nd.hpp | 0 .../include/boost/preprocessor/repeat_3rd.hpp | 0 .../boost/preprocessor/repeat_from_to.hpp | 0 .../boost/preprocessor/repeat_from_to_2nd.hpp | 0 .../boost/preprocessor/repeat_from_to_3rd.hpp | 0 .../include/boost/preprocessor/repetition.hpp | 0 .../preprocessor/repetition/deduce_r.hpp | 0 .../preprocessor/repetition/deduce_z.hpp | 0 .../repetition/detail/dmc/for.hpp | 0 .../repetition/detail/edg/for.hpp | 0 .../preprocessor/repetition/detail/for.hpp | 0 .../repetition/detail/msvc/for.hpp | 0 .../boost/preprocessor/repetition/enum.hpp | 0 .../repetition/enum_binary_params.hpp | 0 .../preprocessor/repetition/enum_params.hpp | 0 .../repetition/enum_params_with_a_default.hpp | 0 .../repetition/enum_params_with_defaults.hpp | 0 .../preprocessor/repetition/enum_shifted.hpp | 0 .../repetition/enum_shifted_binary_params.hpp | 0 .../repetition/enum_shifted_params.hpp | 0 .../preprocessor/repetition/enum_trailing.hpp | 0 .../enum_trailing_binary_params.hpp | 0 .../repetition/enum_trailing_params.hpp | 0 .../boost/preprocessor/repetition/for.hpp | 20 +- .../boost/preprocessor/repetition/repeat.hpp | 0 .../repetition/repeat_from_to.hpp | 0 .../include/boost/preprocessor/selection.hpp | 0 .../boost/preprocessor/selection/max.hpp | 0 .../boost/preprocessor/selection/min.hpp | 0 .../include/boost/preprocessor/seq.hpp | 0 .../include/boost/preprocessor/seq/cat.hpp | 0 .../seq/detail/binary_transform.hpp | 12 +- .../preprocessor/seq/detail/is_empty.hpp | 49 + .../boost/preprocessor/seq/detail/split.hpp | 0 .../include/boost/preprocessor/seq/elem.hpp | 0 .../include/boost/preprocessor/seq/enum.hpp | 0 .../include/boost/preprocessor/seq/filter.hpp | 0 .../boost/preprocessor/seq/first_n.hpp | 0 .../boost/preprocessor/seq/fold_left.hpp | 0 .../boost/preprocessor/seq/fold_right.hpp | 0 .../boost/preprocessor/seq/for_each.hpp | 107 + .../boost/preprocessor/seq/for_each_i.hpp | 109 + .../preprocessor/seq/for_each_product.hpp | 0 .../include/boost/preprocessor/seq/insert.hpp | 0 .../boost/preprocessor/seq/pop_back.hpp | 0 .../boost/preprocessor/seq/pop_front.hpp | 0 .../boost/preprocessor/seq/push_back.hpp | 0 .../boost/preprocessor/seq/push_front.hpp | 0 .../include/boost/preprocessor/seq/remove.hpp | 0 .../boost/preprocessor/seq/replace.hpp | 45 + .../include/boost/preprocessor/seq/rest_n.hpp | 46 + .../boost/preprocessor/seq/reverse.hpp | 0 .../include/boost/preprocessor/seq/seq.hpp | 0 .../include/boost/preprocessor/seq/size.hpp | 548 ++ .../include/boost/preprocessor/seq/subseq.hpp | 0 .../boost/preprocessor/seq/to_array.hpp | 0 .../boost/preprocessor/seq/to_list.hpp | 0 .../boost/preprocessor/seq/to_tuple.hpp | 0 .../boost/preprocessor/seq/transform.hpp | 0 .../preprocessor/seq/variadic_seq_to_seq.hpp | 0 .../include/boost/preprocessor/slot.hpp | 0 .../boost/preprocessor/slot/counter.hpp | 0 .../preprocessor/slot/detail/counter.hpp | 0 .../boost/preprocessor/slot/detail/def.hpp | 0 .../boost/preprocessor/slot/detail/shared.hpp | 0 .../boost/preprocessor/slot/detail/slot1.hpp | 0 .../boost/preprocessor/slot/detail/slot2.hpp | 0 .../boost/preprocessor/slot/detail/slot3.hpp | 0 .../boost/preprocessor/slot/detail/slot4.hpp | 0 .../boost/preprocessor/slot/detail/slot5.hpp | 0 .../include/boost/preprocessor/slot/slot.hpp | 0 .../include/boost/preprocessor/stringize.hpp | 0 .../include/boost/preprocessor/tuple.hpp | 0 .../tuple/detail/is_single_return.hpp | 28 + .../include/boost/preprocessor/tuple/eat.hpp | 11 +- .../include/boost/preprocessor/tuple/elem.hpp | 14 +- .../include/boost/preprocessor/tuple/enum.hpp | 0 .../boost/preprocessor/tuple/insert.hpp | 0 .../boost/preprocessor/tuple/pop_back.hpp | 0 .../boost/preprocessor/tuple/pop_front.hpp | 0 .../boost/preprocessor/tuple/push_back.hpp | 0 .../boost/preprocessor/tuple/push_front.hpp | 0 .../include/boost/preprocessor/tuple/rem.hpp | 15 +- .../boost/preprocessor/tuple/remove.hpp | 0 .../boost/preprocessor/tuple/replace.hpp | 0 .../boost/preprocessor/tuple/reverse.hpp | 0 .../include/boost/preprocessor/tuple/size.hpp | 0 .../boost/preprocessor/tuple/to_array.hpp | 0 .../boost/preprocessor/tuple/to_list.hpp | 0 .../boost/preprocessor/tuple/to_seq.hpp | 119 + .../include/boost/preprocessor/variadic.hpp | 0 .../variadic/detail/is_single_return.hpp | 28 + .../boost/preprocessor/variadic/elem.hpp | 0 .../boost/preprocessor/variadic/size.hpp | 0 .../boost/preprocessor/variadic/to_array.hpp | 0 .../boost/preprocessor/variadic/to_list.hpp | 0 .../boost/preprocessor/variadic/to_seq.hpp | 0 .../boost/preprocessor/variadic/to_tuple.hpp | 0 .../include/boost/preprocessor/while.hpp | 0 .../include/boost/preprocessor/wstringize.hpp | 0 .../include/boost/program_options.hpp | 0 .../include/boost/progress.hpp | 7 +- .../property_map/compose_property_map.hpp | 0 .../property_map/dynamic_property_map.hpp | 0 .../property_map/function_property_map.hpp | 0 .../property_map/parallel/basic_reduce.hpp | 0 .../parallel/caching_property_map.hpp | 0 .../parallel/detail/untracked_pair.hpp | 0 .../parallel/distributed_property_map.hpp | 0 .../parallel/global_index_map.hpp | 0 .../impl/distributed_property_map.ipp | 0 .../parallel/local_property_map.hpp | 0 .../parallel/parallel_property_maps.hpp | 0 .../property_map/parallel/process_group.hpp | 0 .../property_map/parallel/simple_trigger.hpp | 0 .../parallel/unsafe_serialize.hpp | 0 .../parallel/vector_property_map.hpp | 0 .../boost/property_map/property_map.hpp | 0 .../property_map/property_map_iterator.hpp | 0 .../shared_array_property_map.hpp | 0 .../transform_value_property_map.hpp | 0 .../property_map/vector_property_map.hpp | 0 .../detail/exception_implementation.hpp | 0 .../detail/file_parser_error.hpp | 0 .../detail/info_parser_error.hpp | 0 .../property_tree/detail/info_parser_read.hpp | 17 +- .../detail/info_parser_utils.hpp | 0 .../detail/info_parser_write.hpp | 0 .../detail/info_parser_writer_settings.hpp | 0 .../detail/json_parser_error.hpp | 0 .../property_tree/detail/json_parser_read.hpp | 0 .../detail/json_parser_write.hpp | 0 .../detail/ptree_implementation.hpp | 21 +- .../property_tree/detail/ptree_utils.hpp | 4 +- .../boost/property_tree/detail/rapidxml.hpp | 2 +- .../property_tree/detail/xml_parser_error.hpp | 0 .../property_tree/detail/xml_parser_flags.hpp | 0 .../detail/xml_parser_read_rapidxml.hpp | 0 .../property_tree/detail/xml_parser_utils.hpp | 12 +- .../property_tree/detail/xml_parser_write.hpp | 18 +- .../detail/xml_parser_writer_settings.hpp | 6 +- .../boost/property_tree/exceptions.hpp | 0 .../boost/property_tree/id_translator.hpp | 0 .../boost/property_tree/info_parser.hpp | 0 .../boost/property_tree/ini_parser.hpp | 92 +- .../boost/property_tree/json_parser.hpp | 11 +- .../json_parser/detail/narrow_encoding.hpp | 168 + .../json_parser/detail/parser.hpp | 530 ++ .../property_tree/json_parser/detail/read.hpp | 90 + .../json_parser/detail/standard_callbacks.hpp | 153 + .../json_parser/detail/wide_encoding.hpp | 182 + .../json_parser/detail/write.hpp | 168 + .../boost/property_tree/json_parser/error.hpp | 33 + .../include/boost/property_tree/ptree.hpp | 2 +- .../include/boost/property_tree/ptree_fwd.hpp | 0 .../property_tree/ptree_serialization.hpp | 129 + .../boost/property_tree/stream_translator.hpp | 8 +- .../boost/property_tree/string_path.hpp | 0 .../boost/property_tree/xml_parser.hpp | 0 bundled/boost-1.62.0/include/boost/python.hpp | 76 + bundled/boost-1.62.0/include/boost/random.hpp | 91 + .../include/boost/random/additive_combine.hpp | 0 .../boost/random/bernoulli_distribution.hpp | 0 .../boost/random/beta_distribution.hpp | 0 .../boost/random/binomial_distribution.hpp | 2 +- .../boost/random/cauchy_distribution.hpp | 0 .../boost/random/chi_squared_distribution.hpp | 6 +- .../include/boost/random/detail/auto_link.hpp | 40 + .../include/boost/random/detail/config.hpp | 0 .../include/boost/random/detail/const_mod.hpp | 18 +- .../boost/random/detail/disable_warnings.hpp | 1 + .../boost/random/detail/enable_warnings.hpp | 0 .../boost/random/detail/generator_bits.hpp | 0 .../random/detail/generator_seed_seq.hpp | 0 .../boost/random/detail/integer_log2.hpp | 0 .../boost/random/detail/iterator_mixin.hpp | 0 .../boost/random/detail/large_arithmetic.hpp | 0 .../include/boost/random/detail/operators.hpp | 0 .../boost/random/detail/polynomial.hpp | 384 ++ .../boost/random/detail/ptr_helper.hpp | 0 .../include/boost/random/detail/seed.hpp | 1 + .../include/boost/random/detail/seed_impl.hpp | 30 +- .../random/detail/signed_unsigned_tools.hpp | 10 +- .../boost/random/detail/uniform_int_float.hpp | 0 .../include/boost/random/detail/vector_io.hpp | 0 .../include/boost/random/discard_block.hpp | 0 .../boost/random/discrete_distribution.hpp | 14 +- .../boost/random/exponential_distribution.hpp | 0 .../random/extreme_value_distribution.hpp | 0 .../boost/random/fisher_f_distribution.hpp | 0 .../boost/random/gamma_distribution.hpp | 0 .../boost/random/generate_canonical.hpp | 3 +- .../boost/random/geometric_distribution.hpp | 0 .../random/hyperexponential_distribution.hpp | 883 +++ .../include/boost/random/independent_bits.hpp | 29 +- .../boost/random/inversive_congruential.hpp | 0 .../include/boost/random/lagged_fibonacci.hpp | 0 .../boost/random/laplace_distribution.hpp | 0 .../boost/random/linear_congruential.hpp | 0 .../boost/random/linear_feedback_shift.hpp | 0 .../boost/random/lognormal_distribution.hpp | 0 .../include/boost/random/mersenne_twister.hpp | 121 +- .../random/negative_binomial_distribution.hpp | 0 .../non_central_chi_squared_distribution.hpp | 221 + .../boost/random/normal_distribution.hpp | 1 + .../piecewise_constant_distribution.hpp | 2 +- .../random/piecewise_linear_distribution.hpp | 3 +- .../boost/random/poisson_distribution.hpp | 0 .../include/boost/random/random_device.hpp | 0 .../boost/random/random_number_generator.hpp | 0 .../include/boost/random/ranlux.hpp | 0 .../include/boost/random/seed_seq.hpp | 16 +- .../include/boost/random/shuffle_order.hpp | 2 +- .../include/boost/random/shuffle_output.hpp | 0 .../boost/random/student_t_distribution.hpp | 0 .../boost/random/subtract_with_carry.hpp | 4 +- .../include/boost/random/taus88.hpp | 0 .../include/boost/random/traits.hpp | 107 + .../boost/random/triangle_distribution.hpp | 2 +- .../include/boost/random/uniform_01.hpp | 32 +- .../include/boost/random/uniform_int.hpp | 0 .../boost/random/uniform_int_distribution.hpp | 51 +- .../boost/random/uniform_on_sphere.hpp | 3 +- .../include/boost/random/uniform_real.hpp | 0 .../random/uniform_real_distribution.hpp | 3 +- .../include/boost/random/uniform_smallint.hpp | 33 +- .../boost/random/variate_generator.hpp | 0 .../boost/random/weibull_distribution.hpp | 0 .../include/boost/random/xor_combine.hpp | 0 .../include/boost/range.hpp | 0 .../boost/range/adaptor/adjacent_filtered.hpp | 0 .../boost/range/adaptor/argument_fwd.hpp | 0 .../include/boost/range/adaptor/copied.hpp | 0 .../boost/range/adaptor/define_adaptor.hpp | 0 .../include/boost/range/adaptor/filtered.hpp | 121 + .../include/boost/range/adaptor/formatted.hpp | 0 .../include/boost/range/adaptor/indexed.hpp | 0 .../boost/range/adaptor/indirected.hpp | 0 .../include/boost/range/adaptor/map.hpp | 0 .../include/boost/range/adaptor/replaced.hpp | 0 .../boost/range/adaptor/replaced_if.hpp | 0 .../include/boost/range/adaptor/reversed.hpp | 0 .../include/boost/range/adaptor/sliced.hpp | 0 .../include/boost/range/adaptor/strided.hpp | 2 +- .../include/boost/range/adaptor/tokenized.hpp | 0 .../boost/range/adaptor/transformed.hpp | 0 .../boost/range/adaptor/type_erased.hpp | 0 .../include/boost/range/adaptor/uniqued.hpp | 0 .../include/boost/range/adaptors.hpp | 0 .../include/boost/range/algorithm.hpp | 0 .../boost/range/algorithm/adjacent_find.hpp | 0 .../boost/range/algorithm/binary_search.hpp | 0 .../include/boost/range/algorithm/copy.hpp | 0 .../boost/range/algorithm/copy_backward.hpp | 0 .../include/boost/range/algorithm/count.hpp | 0 .../boost/range/algorithm/count_if.hpp | 0 .../include/boost/range/algorithm/equal.hpp | 0 .../boost/range/algorithm/equal_range.hpp | 0 .../include/boost/range/algorithm/fill.hpp | 0 .../include/boost/range/algorithm/fill_n.hpp | 0 .../include/boost/range/algorithm/find.hpp | 0 .../boost/range/algorithm/find_end.hpp | 0 .../boost/range/algorithm/find_first_of.hpp | 0 .../include/boost/range/algorithm/find_if.hpp | 0 .../boost/range/algorithm/for_each.hpp | 0 .../boost/range/algorithm/generate.hpp | 0 .../boost/range/algorithm/heap_algorithm.hpp | 0 .../boost/range/algorithm/inplace_merge.hpp | 0 .../algorithm/lexicographical_compare.hpp | 0 .../boost/range/algorithm/lower_bound.hpp | 0 .../boost/range/algorithm/max_element.hpp | 0 .../include/boost/range/algorithm/merge.hpp | 0 .../boost/range/algorithm/min_element.hpp | 0 .../boost/range/algorithm/mismatch.hpp | 0 .../boost/range/algorithm/nth_element.hpp | 0 .../boost/range/algorithm/partial_sort.hpp | 0 .../range/algorithm/partial_sort_copy.hpp | 0 .../boost/range/algorithm/partition.hpp | 0 .../boost/range/algorithm/permutation.hpp | 0 .../boost/range/algorithm/random_shuffle.hpp | 0 .../include/boost/range/algorithm/remove.hpp | 0 .../boost/range/algorithm/remove_copy.hpp | 0 .../boost/range/algorithm/remove_copy_if.hpp | 0 .../boost/range/algorithm/remove_if.hpp | 0 .../include/boost/range/algorithm/replace.hpp | 0 .../boost/range/algorithm/replace_copy.hpp | 0 .../boost/range/algorithm/replace_copy_if.hpp | 0 .../boost/range/algorithm/replace_if.hpp | 0 .../include/boost/range/algorithm/reverse.hpp | 0 .../boost/range/algorithm/reverse_copy.hpp | 0 .../include/boost/range/algorithm/rotate.hpp | 0 .../boost/range/algorithm/rotate_copy.hpp | 0 .../include/boost/range/algorithm/search.hpp | 0 .../boost/range/algorithm/search_n.hpp | 0 .../boost/range/algorithm/set_algorithm.hpp | 0 .../include/boost/range/algorithm/sort.hpp | 0 .../range/algorithm/stable_partition.hpp | 0 .../boost/range/algorithm/stable_sort.hpp | 0 .../boost/range/algorithm/swap_ranges.hpp | 0 .../boost/range/algorithm/transform.hpp | 0 .../include/boost/range/algorithm/unique.hpp | 0 .../boost/range/algorithm/unique_copy.hpp | 0 .../boost/range/algorithm/upper_bound.hpp | 0 .../include/boost/range/algorithm_ext.hpp | 0 .../boost/range/algorithm_ext/copy_n.hpp | 0 .../boost/range/algorithm_ext/erase.hpp | 0 .../boost/range/algorithm_ext/for_each.hpp | 0 .../boost/range/algorithm_ext/insert.hpp | 0 .../boost/range/algorithm_ext/iota.hpp | 0 .../boost/range/algorithm_ext/is_sorted.hpp | 0 .../boost/range/algorithm_ext/overwrite.hpp | 0 .../boost/range/algorithm_ext/push_back.hpp | 0 .../boost/range/algorithm_ext/push_front.hpp | 0 .../include/boost/range/any_range.hpp | 0 .../include/boost/range/as_array.hpp | 0 .../include/boost/range/as_literal.hpp | 0 .../include/boost/range/atl.hpp | 0 .../include/boost/range/begin.hpp | 0 .../include/boost/range/category.hpp | 0 .../include/boost/range/combine.hpp | 0 .../include/boost/range/concepts.hpp | 0 .../include/boost/range/config.hpp | 0 .../include/boost/range/const_iterator.hpp | 8 +- .../boost/range/const_reverse_iterator.hpp | 0 .../include/boost/range/counting_range.hpp | 0 .../boost/range/detail/any_iterator.hpp | 6 +- .../range/detail/any_iterator_buffer.hpp | 0 .../range/detail/any_iterator_interface.hpp | 0 .../range/detail/any_iterator_wrapper.hpp | 2 +- .../include/boost/range/detail/as_literal.hpp | 0 .../include/boost/range/detail/begin.hpp | 0 .../boost/range/detail/collection_traits.hpp | 265 + .../range/detail/collection_traits_detail.hpp | 53 +- .../boost/range/detail/combine_cxx03.hpp | 0 .../boost/range/detail/combine_cxx11.hpp | 0 .../boost/range/detail/combine_no_rvalue.hpp | 0 .../boost/range/detail/combine_rvalue.hpp | 0 .../include/boost/range/detail/common.hpp | 5 +- .../detail/default_constructible_unary_fn.hpp | 0 .../detail/demote_iterator_traversal_tag.hpp | 4 +- .../include/boost/range/detail/detail_str.hpp | 0 .../boost/range/detail/difference_type.hpp | 0 .../include/boost/range/detail/empty.hpp | 0 .../include/boost/range/detail/end.hpp | 0 .../range/detail/extract_optional_type.hpp | 0 .../boost/range/detail/has_member_size.hpp | 0 .../range/detail/implementation_help.hpp | 0 .../boost/range/detail/join_iterator.hpp | 0 .../include/boost/range/detail/microsoft.hpp | 0 .../boost/range/detail/misc_concept.hpp | 0 .../detail/msvc_has_iterator_workaround.hpp | 0 .../boost/range/detail/range_return.hpp | 0 .../boost/range/detail/remove_extent.hpp | 0 .../include/boost/range/detail/safe_bool.hpp | 0 .../include/boost/range/detail/sfinae.hpp | 0 .../include/boost/range/detail/size_type.hpp | 0 .../include/boost/range/detail/sizer.hpp | 0 .../include/boost/range/detail/str_types.hpp | 0 .../include/boost/range/detail/value_type.hpp | 0 .../include/boost/range/difference_type.hpp | 47 + .../include/boost/range/distance.hpp | 0 .../include/boost/range/empty.hpp | 0 .../include/boost/range/end.hpp | 0 .../include/boost/range/functions.hpp | 0 .../boost/range/has_range_iterator.hpp | 0 .../include/boost/range/irange.hpp | 0 .../include/boost/range/istream_range.hpp | 0 .../include/boost/range/iterator.hpp | 74 + .../include/boost/range/iterator_range.hpp | 0 .../boost/range/iterator_range_core.hpp | 22 +- .../boost/range/iterator_range_hash.hpp | 0 .../include/boost/range/iterator_range_io.hpp | 0 .../include/boost/range/join.hpp | 0 .../include/boost/range/metafunctions.hpp | 0 .../include/boost/range/mfc.hpp | 0 .../include/boost/range/mfc_map.hpp | 0 .../include/boost/range/mutable_iterator.hpp | 0 .../include/boost/range/numeric.hpp | 0 .../include/boost/range/pointer.hpp | 0 .../include/boost/range/range_fwd.hpp | 0 .../include/boost/range/rbegin.hpp | 0 .../include/boost/range/reference.hpp | 0 .../include/boost/range/rend.hpp | 0 .../include/boost/range/result_iterator.hpp | 0 .../include/boost/range/reverse_iterator.hpp | 0 .../boost/range/reverse_result_iterator.hpp | 0 .../boost-1.62.0/include/boost/range/size.hpp | 76 + .../include/boost/range/size_type.hpp | 33 +- .../include/boost/range/sub_range.hpp | 4 +- .../include/boost/range/traversal.hpp | 0 .../include/boost/range/value_type.hpp | 0 .../include/boost/ratio.hpp | 0 .../include/boost/ratio/config.hpp | 0 .../include/boost/ratio/detail/mpl/abs.hpp | 0 .../include/boost/ratio/detail/mpl/gcd.hpp | 0 .../include/boost/ratio/detail/mpl/lcm.hpp | 0 .../include/boost/ratio/detail/mpl/sign.hpp | 0 .../boost/ratio/detail/overflow_helpers.hpp | 0 .../include/boost/ratio/detail/ratio_io.hpp | 0 .../include/boost/ratio/include.hpp | 0 .../include/boost/ratio/mpl/abs.hpp | 0 .../include/boost/ratio/mpl/arithmetic.hpp | 0 .../include/boost/ratio/mpl/comparison.hpp | 0 .../include/boost/ratio/mpl/divides.hpp | 0 .../include/boost/ratio/mpl/equal_to.hpp | 0 .../include/boost/ratio/mpl/gcd.hpp | 0 .../include/boost/ratio/mpl/greater.hpp | 0 .../include/boost/ratio/mpl/greater_equal.hpp | 0 .../include/boost/ratio/mpl/lcm.hpp | 0 .../include/boost/ratio/mpl/less.hpp | 0 .../include/boost/ratio/mpl/less_equal.hpp | 0 .../include/boost/ratio/mpl/minus.hpp | 0 .../include/boost/ratio/mpl/negate.hpp | 0 .../include/boost/ratio/mpl/not_equal_to.hpp | 0 .../include/boost/ratio/mpl/numeric_cast.hpp | 0 .../include/boost/ratio/mpl/plus.hpp | 0 .../boost/ratio/mpl/rational_c_tag.hpp | 0 .../boost/ratio/mpl/rational_constant.hpp | 0 .../include/boost/ratio/mpl/sign.hpp | 0 .../include/boost/ratio/mpl/times.hpp | 0 .../include/boost/ratio/ratio.hpp | 0 .../include/boost/ratio/ratio_fwd.hpp | 4 + .../include/boost/ratio/ratio_io.hpp | 0 .../boost-1.62.0/include/boost/rational.hpp | 707 ++ .../include/boost/ref.hpp | 0 .../include/boost/regex.h | 0 .../include/boost/regex.hpp | 0 .../include/boost/regex_fwd.hpp | 0 .../include/boost/scope_exit.hpp | 179 +- .../include/boost/scoped_array.hpp | 0 .../include/boost/scoped_ptr.hpp | 0 .../include/boost/serialization/access.hpp | 8 +- .../archive_input_unordered_map.hpp | 91 + .../archive_input_unordered_set.hpp | 75 + .../include/boost/serialization/array.hpp | 172 + .../boost/serialization/assume_abstract.hpp | 1 + .../boost/serialization/base_object.hpp | 12 - .../boost/serialization/binary_object.hpp | 5 +- .../include/boost/serialization/bitset.hpp | 0 .../serialization/boost_unordered_map.hpp | 154 + .../serialization/boost_unordered_set.hpp | 150 + .../serialization/collection_size_type.hpp | 0 .../boost/serialization/collection_traits.hpp | 79 + .../serialization/collections_load_imp.hpp | 105 + .../serialization/collections_save_imp.hpp | 0 .../include/boost/serialization/complex.hpp | 0 .../include/boost/serialization/config.hpp | 74 + .../include/boost/serialization/deque.hpp | 81 + .../boost/serialization/detail/get_data.hpp | 59 + .../detail/is_default_constructible.hpp | 48 + .../serialization/detail/shared_count_132.hpp | 26 +- .../serialization/detail/shared_ptr_132.hpp | 443 ++ .../detail/shared_ptr_nmt_132.hpp | 0 .../detail/stack_constructor.hpp | 9 +- .../include/boost/serialization/ephemeral.hpp | 5 +- .../include/boost/serialization/export.hpp | 15 +- .../serialization/extended_type_info.hpp | 20 +- .../extended_type_info_no_rtti.hpp | 10 +- .../extended_type_info_typeid.hpp | 20 +- .../include/boost/serialization/factory.hpp | 100 + .../boost/serialization/force_include.hpp | 6 +- .../boost/serialization/forward_list.hpp | 126 + .../hash_collections_load_imp.hpp | 2 +- .../hash_collections_save_imp.hpp | 0 .../include/boost/serialization/hash_map.hpp | 0 .../include/boost/serialization/hash_set.hpp | 0 .../serialization/is_bitwise_serializable.hpp | 2 +- .../boost/serialization/item_version_type.hpp | 0 .../include/boost/serialization/level.hpp | 8 - .../boost/serialization/level_enum.hpp | 0 .../include/boost/serialization/list.hpp | 86 + .../include/boost/serialization/map.hpp | 142 + .../include/boost/serialization/nvp.hpp | 123 + .../include/boost/serialization/optional.hpp | 0 .../include/boost/serialization/pfto.hpp | 0 .../boost/serialization/priority_queue.hpp | 0 .../include/boost/serialization/queue.hpp | 0 .../boost/serialization/scoped_ptr.hpp | 0 .../boost/serialization/serialization.hpp | 154 + .../include/boost/serialization/set.hpp | 140 + .../boost/serialization/shared_ptr.hpp | 281 + .../boost/serialization/shared_ptr_132.hpp | 222 + .../boost/serialization/shared_ptr_helper.hpp | 14 +- .../include/boost/serialization/singleton.hpp | 152 + .../include/boost/serialization/slist.hpp | 144 + .../boost/serialization/smart_cast.hpp | 275 + .../boost/serialization/split_free.hpp | 0 .../boost/serialization/split_member.hpp | 0 .../include/boost/serialization/stack.hpp | 0 .../boost/serialization/state_saver.hpp | 2 +- .../boost/serialization/static_warning.hpp | 11 +- .../include/boost/serialization/string.hpp | 30 + .../boost/serialization/strong_typedef.hpp | 46 + .../boost/serialization/throw_exception.hpp | 0 .../include/boost/serialization/tracking.hpp | 0 .../boost/serialization/tracking_enum.hpp | 0 .../include/boost/serialization/traits.hpp | 65 + .../type_info_implementation.hpp | 13 - .../boost/serialization/unique_ptr.hpp | 68 + .../unordered_collections_load_imp.hpp | 2 +- .../unordered_collections_save_imp.hpp | 0 .../boost/serialization/unordered_map.hpp | 160 + .../boost/serialization/unordered_set.hpp | 162 + .../include/boost/serialization/utility.hpp | 0 .../include/boost/serialization/valarray.hpp | 18 +- .../include/boost/serialization/variant.hpp | 158 + .../include/boost/serialization/vector.hpp | 227 + .../boost/serialization/vector_135.hpp | 2 +- .../include/boost/serialization/version.hpp | 0 .../include/boost/serialization/void_cast.hpp | 22 +- .../boost/serialization/void_cast_fwd.hpp | 0 .../include/boost/serialization/weak_ptr.hpp | 2 +- .../include/boost/serialization/wrapper.hpp | 2 +- .../include/boost/shared_array.hpp | 0 .../boost/shared_container_iterator.hpp | 11 +- .../include/boost/shared_ptr.hpp | 0 .../include/boost/signal.hpp | 0 .../include/boost/signals.hpp | 0 .../include/boost/signals2.hpp | 0 .../include/boost/signals2/connection.hpp | 374 + .../include/boost/signals2/deconstruct.hpp | 1 - .../boost/signals2/deconstruct_ptr.hpp | 8 +- .../boost/signals2/detail/auto_buffer.hpp | 5 +- .../boost/signals2/detail/foreign_ptr.hpp | 5 - .../include/boost/signals2/detail/lwm_nop.hpp | 0 .../boost/signals2/detail/lwm_pthreads.hpp | 0 .../boost/signals2/detail/lwm_win32_cs.hpp | 2 +- .../signals2/detail/null_output_iterator.hpp | 0 .../signals2/detail/preprocessed_arg_type.hpp | 0 .../detail/preprocessed_arg_type_template.hpp | 0 .../signals2/detail/replace_slot_function.hpp | 0 .../signals2/detail/result_type_wrapper.hpp | 0 .../boost/signals2/detail/signal_template.hpp | 862 +++ .../boost/signals2/detail/signals_common.hpp | 0 .../signals2/detail/signals_common_macros.hpp | 15 +- .../signals2/detail/slot_call_iterator.hpp | 196 + .../boost/signals2/detail/slot_groups.hpp | 0 .../boost/signals2/detail/slot_template.hpp | 0 .../detail/tracked_objects_visitor.hpp | 2 +- .../boost/signals2/detail/unique_lock.hpp | 0 .../signals2/detail/variadic_arg_type.hpp | 0 .../signals2/detail/variadic_slot_invoker.hpp | 148 + .../include/boost/signals2/dummy_mutex.hpp | 0 .../include/boost/signals2/expired_slot.hpp | 0 .../include/boost/signals2/last_value.hpp | 13 +- .../include/boost/signals2/mutex.hpp | 0 .../boost/signals2/optional_last_value.hpp | 11 +- .../boost/signals2/postconstructible.hpp | 2 +- .../boost/signals2/predestructible.hpp | 0 .../boost/signals2/preprocessed_signal.hpp | 2 + .../boost/signals2/preprocessed_slot.hpp | 0 .../signals2/shared_connection_block.hpp | 0 .../include/boost/signals2/signal.hpp | 2 +- .../include/boost/signals2/signal_base.hpp | 0 .../include/boost/signals2/signal_type.hpp | 0 .../include/boost/signals2/slot.hpp | 0 .../include/boost/signals2/slot_base.hpp | 14 +- .../include/boost/signals2/trackable.hpp | 59 + .../boost/signals2/variadic_signal.hpp | 2 + .../include/boost/signals2/variadic_slot.hpp | 0 .../include/boost/smart_ptr.hpp | 0 .../boost/smart_ptr/allocate_shared_array.hpp | 0 .../include/boost/smart_ptr/bad_weak_ptr.hpp | 0 .../smart_ptr/detail/array_allocator.hpp | 2 +- .../smart_ptr/detail/array_count_impl.hpp | 0 .../boost/smart_ptr/detail/array_traits.hpp | 0 .../boost/smart_ptr/detail/array_utility.hpp | 0 .../boost/smart_ptr/detail/atomic_count.hpp | 0 .../smart_ptr/detail/atomic_count_gcc.hpp | 0 .../smart_ptr/detail/atomic_count_gcc_x86.hpp | 0 .../smart_ptr/detail/atomic_count_nt.hpp | 0 .../smart_ptr/detail/atomic_count_pt.hpp | 0 .../smart_ptr/detail/atomic_count_solaris.hpp | 0 .../smart_ptr/detail/atomic_count_spin.hpp | 0 .../detail/atomic_count_std_atomic.hpp | 0 .../smart_ptr/detail/atomic_count_sync.hpp | 0 .../smart_ptr/detail/atomic_count_win32.hpp | 0 .../smart_ptr/detail/lightweight_mutex.hpp | 0 .../boost/smart_ptr/detail/lwm_nop.hpp | 0 .../boost/smart_ptr/detail/lwm_pthreads.hpp | 0 .../boost/smart_ptr/detail/lwm_win32_cs.hpp | 0 .../boost/smart_ptr/detail/operator_bool.hpp | 3 +- .../smart_ptr/detail/quick_allocator.hpp | 0 .../boost/smart_ptr/detail/shared_count.hpp | 46 +- .../boost/smart_ptr/detail/sp_convertible.hpp | 1 + .../smart_ptr/detail/sp_counted_base.hpp | 11 + .../detail/sp_counted_base_acc_ia64.hpp | 0 .../smart_ptr/detail/sp_counted_base_aix.hpp | 0 .../detail/sp_counted_base_clang.hpp | 140 + .../detail/sp_counted_base_cw_ppc.hpp | 0 .../detail/sp_counted_base_cw_x86.hpp | 0 .../detail/sp_counted_base_gcc_ia64.hpp | 0 .../detail/sp_counted_base_gcc_mips.hpp | 0 .../detail/sp_counted_base_gcc_ppc.hpp | 0 .../detail/sp_counted_base_gcc_sparc.hpp | 0 .../detail/sp_counted_base_gcc_x86.hpp | 0 .../smart_ptr/detail/sp_counted_base_nt.hpp | 0 .../smart_ptr/detail/sp_counted_base_pt.hpp | 0 .../detail/sp_counted_base_snc_ps3.hpp | 0 .../detail/sp_counted_base_solaris.hpp | 0 .../smart_ptr/detail/sp_counted_base_spin.hpp | 0 .../detail/sp_counted_base_std_atomic.hpp | 0 .../smart_ptr/detail/sp_counted_base_sync.hpp | 0 .../detail/sp_counted_base_vacpp_ppc.hpp | 0 .../smart_ptr/detail/sp_counted_base_w32.hpp | 0 .../smart_ptr/detail/sp_counted_impl.hpp | 6 +- .../detail/sp_disable_deprecated.hpp | 40 + .../boost/smart_ptr/detail/sp_forward.hpp | 52 + .../boost/smart_ptr/detail/sp_has_sync.hpp | 0 .../boost/smart_ptr/detail/sp_if_array.hpp | 0 .../boost/smart_ptr/detail/sp_interlocked.hpp | 11 + .../boost/smart_ptr/detail/sp_nullptr_t.hpp | 2 +- .../boost/smart_ptr/detail/spinlock.hpp | 0 .../smart_ptr/detail/spinlock_gcc_arm.hpp | 1 + .../boost/smart_ptr/detail/spinlock_nt.hpp | 0 .../boost/smart_ptr/detail/spinlock_pool.hpp | 4 +- .../boost/smart_ptr/detail/spinlock_pt.hpp | 0 .../smart_ptr/detail/spinlock_std_atomic.hpp | 0 .../boost/smart_ptr/detail/spinlock_sync.hpp | 0 .../boost/smart_ptr/detail/spinlock_w32.hpp | 0 .../boost/smart_ptr/detail/up_if_array.hpp | 0 .../smart_ptr/detail/up_if_not_array.hpp | 0 .../boost/smart_ptr/detail/yield_k.hpp | 15 + .../smart_ptr/enable_shared_from_raw.hpp | 45 +- .../smart_ptr/enable_shared_from_this.hpp | 10 + .../include/boost/smart_ptr/intrusive_ptr.hpp | 26 +- .../boost/smart_ptr/intrusive_ref_counter.hpp | 2 +- .../include/boost/smart_ptr/make_shared.hpp | 0 .../boost/smart_ptr/make_shared_array.hpp | 0 .../boost/smart_ptr/make_shared_object.hpp | 0 .../include/boost/smart_ptr/make_unique.hpp | 105 + .../boost/smart_ptr/make_unique_array.hpp | 0 .../boost/smart_ptr/make_unique_object.hpp | 0 .../include/boost/smart_ptr/owner_less.hpp | 0 .../include/boost/smart_ptr/scoped_array.hpp | 0 .../include/boost/smart_ptr/scoped_ptr.hpp | 10 + .../include/boost/smart_ptr/shared_array.hpp | 0 .../include/boost/smart_ptr/shared_ptr.hpp | 1094 +++ .../include/boost/smart_ptr/weak_ptr.hpp | 0 .../include/boost/spirit.hpp | 0 .../include/boost/spirit/home/classic.hpp | 0 .../boost/spirit/home/classic/actor.hpp | 0 .../home/classic/actor/assign_actor.hpp | 0 .../home/classic/actor/assign_key_actor.hpp | 0 .../spirit/home/classic/actor/clear_actor.hpp | 0 .../home/classic/actor/decrement_actor.hpp | 0 .../spirit/home/classic/actor/erase_actor.hpp | 0 .../home/classic/actor/increment_actor.hpp | 0 .../home/classic/actor/insert_at_actor.hpp | 0 .../home/classic/actor/insert_key_actor.hpp | 0 .../home/classic/actor/push_back_actor.hpp | 0 .../home/classic/actor/push_front_actor.hpp | 0 .../spirit/home/classic/actor/ref_actor.hpp | 0 .../classic/actor/ref_const_ref_actor.hpp | 0 .../actor/ref_const_ref_const_ref_a.hpp | 0 .../actor/ref_const_ref_value_actor.hpp | 0 .../home/classic/actor/ref_value_actor.hpp | 0 .../spirit/home/classic/actor/swap_actor.hpp | 0 .../spirit/home/classic/actor/typeof.hpp | 0 .../boost/spirit/home/classic/attribute.hpp | 0 .../spirit/home/classic/attribute/closure.hpp | 0 .../classic/attribute/closure_context.hpp | 0 .../home/classic/attribute/closure_fwd.hpp | 0 .../home/classic/attribute/parametric.hpp | 0 .../spirit/home/classic/attribute/typeof.hpp | 0 .../boost/spirit/home/classic/core.hpp | 0 .../boost/spirit/home/classic/core/assert.hpp | 0 .../home/classic/core/composite/actions.hpp | 0 .../classic/core/composite/alternative.hpp | 0 .../home/classic/core/composite/composite.hpp | 0 .../classic/core/composite/difference.hpp | 0 .../classic/core/composite/directives.hpp | 0 .../home/classic/core/composite/epsilon.hpp | 0 .../classic/core/composite/exclusive_or.hpp | 0 .../core/composite/impl/alternative.ipp | 0 .../core/composite/impl/difference.ipp | 0 .../core/composite/impl/directives.ipp | 0 .../core/composite/impl/exclusive_or.ipp | 0 .../core/composite/impl/intersection.ipp | 0 .../core/composite/impl/kleene_star.ipp | 0 .../home/classic/core/composite/impl/list.ipp | 0 .../classic/core/composite/impl/optional.ipp | 0 .../classic/core/composite/impl/positive.ipp | 0 .../classic/core/composite/impl/sequence.ipp | 0 .../core/composite/impl/sequential_and.ipp | 0 .../core/composite/impl/sequential_or.ipp | 0 .../classic/core/composite/intersection.hpp | 0 .../classic/core/composite/kleene_star.hpp | 0 .../home/classic/core/composite/list.hpp | 0 .../classic/core/composite/no_actions.hpp | 0 .../home/classic/core/composite/operators.hpp | 0 .../home/classic/core/composite/optional.hpp | 0 .../home/classic/core/composite/positive.hpp | 0 .../home/classic/core/composite/sequence.hpp | 0 .../classic/core/composite/sequential_and.hpp | 0 .../classic/core/composite/sequential_or.hpp | 0 .../boost/spirit/home/classic/core/config.hpp | 0 .../spirit/home/classic/core/impl/match.ipp | 0 .../classic/core/impl/match_attr_traits.ipp | 0 .../spirit/home/classic/core/impl/parser.ipp | 0 .../boost/spirit/home/classic/core/match.hpp | 0 .../boost/spirit/home/classic/core/nil.hpp | 0 .../classic/core/non_terminal/grammar.hpp | 0 .../core/non_terminal/impl/grammar.ipp | 9 +- .../core/non_terminal/impl/object_with_id.ipp | 11 +- .../classic/core/non_terminal/impl/rule.ipp | 1 + .../classic/core/non_terminal/impl/static.hpp | 4 + .../core/non_terminal/impl/subrule.ipp | 2 + .../core/non_terminal/parser_context.hpp | 0 .../classic/core/non_terminal/parser_id.hpp | 0 .../home/classic/core/non_terminal/rule.hpp | 0 .../classic/core/non_terminal/subrule.hpp | 303 + .../classic/core/non_terminal/subrule_fwd.hpp | 0 .../boost/spirit/home/classic/core/parser.hpp | 0 .../classic/core/primitives/impl/numerics.ipp | 0 .../core/primitives/impl/primitives.ipp | 0 .../home/classic/core/primitives/numerics.hpp | 0 .../classic/core/primitives/numerics_fwd.hpp | 0 .../classic/core/primitives/primitives.hpp | 1 - .../spirit/home/classic/core/safe_bool.hpp | 0 .../classic/core/scanner/impl/skipper.ipp | 0 .../home/classic/core/scanner/scanner.hpp | 0 .../home/classic/core/scanner/scanner_fwd.hpp | 0 .../home/classic/core/scanner/skipper.hpp | 0 .../home/classic/core/scanner/skipper_fwd.hpp | 0 .../boost/spirit/home/classic/core/typeof.hpp | 0 .../boost/spirit/home/classic/debug.hpp | 0 .../spirit/home/classic/debug/debug_node.hpp | 0 .../home/classic/debug/impl/parser_names.ipp | 0 .../spirit/home/classic/debug/minimal.hpp | 0 .../home/classic/debug/parser_names.hpp | 0 .../spirit/home/classic/debug/typeof.hpp | 0 .../boost/spirit/home/classic/dynamic.hpp | 0 .../boost/spirit/home/classic/dynamic/for.hpp | 0 .../boost/spirit/home/classic/dynamic/if.hpp | 0 .../home/classic/dynamic/impl/conditions.ipp | 0 .../home/classic/dynamic/impl/select.ipp | 0 .../home/classic/dynamic/impl/switch.ipp | 0 .../spirit/home/classic/dynamic/lazy.hpp | 0 .../home/classic/dynamic/rule_alias.hpp | 0 .../spirit/home/classic/dynamic/select.hpp | 0 .../home/classic/dynamic/stored_rule.hpp | 0 .../home/classic/dynamic/stored_rule_fwd.hpp | 0 .../spirit/home/classic/dynamic/switch.hpp | 0 .../spirit/home/classic/dynamic/typeof.hpp | 0 .../spirit/home/classic/dynamic/while.hpp | 0 .../spirit/home/classic/error_handling.hpp | 0 .../classic/error_handling/exceptions.hpp | 0 .../classic/error_handling/exceptions_fwd.hpp | 0 .../error_handling/impl/exceptions.ipp | 0 .../home/classic/error_handling/typeof.hpp | 0 .../boost/spirit/home/classic/iterator.hpp | 0 .../home/classic/iterator/file_iterator.hpp | 0 .../classic/iterator/file_iterator_fwd.hpp | 0 .../classic/iterator/fixed_size_queue.hpp | 0 .../classic/iterator/impl/file_iterator.ipp | 0 .../iterator/impl/position_iterator.ipp | 0 .../home/classic/iterator/multi_pass.hpp | 0 .../home/classic/iterator/multi_pass_fwd.hpp | 0 .../classic/iterator/position_iterator.hpp | 2 +- .../iterator/position_iterator_fwd.hpp | 0 .../spirit/home/classic/iterator/typeof.hpp | 0 .../boost/spirit/home/classic/meta.hpp | 0 .../spirit/home/classic/meta/as_parser.hpp | 0 .../spirit/home/classic/meta/fundamental.hpp | 0 .../home/classic/meta/impl/fundamental.ipp | 0 .../home/classic/meta/impl/parser_traits.ipp | 0 .../home/classic/meta/impl/refactoring.ipp | 0 .../home/classic/meta/impl/traverse.ipp | 0 .../home/classic/meta/parser_traits.hpp | 0 .../spirit/home/classic/meta/refactoring.hpp | 4 +- .../spirit/home/classic/meta/traverse.hpp | 0 .../boost/spirit/home/classic/namespace.hpp | 0 .../boost/spirit/home/classic/phoenix.hpp | 0 .../spirit/home/classic/phoenix/actor.hpp | 0 .../spirit/home/classic/phoenix/binders.hpp | 0 .../spirit/home/classic/phoenix/casts.hpp | 0 .../spirit/home/classic/phoenix/closures.hpp | 4 + .../spirit/home/classic/phoenix/composite.hpp | 0 .../spirit/home/classic/phoenix/functions.hpp | 0 .../boost/spirit/home/classic/phoenix/new.hpp | 0 .../spirit/home/classic/phoenix/operators.hpp | 0 .../home/classic/phoenix/primitives.hpp | 0 .../home/classic/phoenix/special_ops.hpp | 0 .../home/classic/phoenix/statements.hpp | 2 +- .../home/classic/phoenix/tuple_helpers.hpp | 0 .../spirit/home/classic/phoenix/tuples.hpp | 0 .../boost/spirit/home/classic/symbols.hpp | 0 .../home/classic/symbols/impl/symbols.ipp | 0 .../spirit/home/classic/symbols/impl/tst.ipp | 0 .../spirit/home/classic/symbols/symbols.hpp | 0 .../home/classic/symbols/symbols_fwd.hpp | 0 .../spirit/home/classic/symbols/typeof.hpp | 0 .../boost/spirit/home/classic/tree/ast.hpp | 0 .../spirit/home/classic/tree/ast_fwd.hpp | 0 .../boost/spirit/home/classic/tree/common.hpp | 0 .../spirit/home/classic/tree/common_fwd.hpp | 0 .../classic/tree/impl/parse_tree_utils.ipp | 0 .../home/classic/tree/impl/tree_to_xml.ipp | 0 .../spirit/home/classic/tree/parse_tree.hpp | 1 - .../home/classic/tree/parse_tree_fwd.hpp | 0 .../home/classic/tree/parse_tree_utils.hpp | 2 +- .../spirit/home/classic/tree/parsetree.dtd | 0 .../spirit/home/classic/tree/tree_to_xml.hpp | 0 .../boost/spirit/home/classic/tree/typeof.hpp | 0 .../boost/spirit/home/classic/utility.hpp | 0 .../spirit/home/classic/utility/chset.hpp | 0 .../home/classic/utility/chset_operators.hpp | 0 .../spirit/home/classic/utility/confix.hpp | 0 .../home/classic/utility/confix_fwd.hpp | 0 .../spirit/home/classic/utility/distinct.hpp | 0 .../home/classic/utility/distinct_fwd.hpp | 0 .../home/classic/utility/escape_char.hpp | 0 .../home/classic/utility/escape_char_fwd.hpp | 0 .../home/classic/utility/flush_multi_pass.hpp | 0 .../home/classic/utility/functor_parser.hpp | 2 - .../home/classic/utility/grammar_def.hpp | 0 .../home/classic/utility/grammar_def_fwd.hpp | 0 .../home/classic/utility/impl/chset.ipp | 6 +- .../utility/impl/chset/basic_chset.hpp | 0 .../utility/impl/chset/basic_chset.ipp | 0 .../classic/utility/impl/chset/range_run.hpp | 0 .../classic/utility/impl/chset/range_run.ipp | 0 .../classic/utility/impl/chset_operators.ipp | 0 .../home/classic/utility/impl/confix.ipp | 0 .../home/classic/utility/impl/escape_char.ipp | 0 .../home/classic/utility/impl/lists.ipp | 0 .../home/classic/utility/impl/regex.ipp | 0 .../spirit/home/classic/utility/lists.hpp | 0 .../spirit/home/classic/utility/lists_fwd.hpp | 0 .../spirit/home/classic/utility/loops.hpp | 0 .../spirit/home/classic/utility/regex.hpp | 0 .../home/classic/utility/rule_parser.hpp | 0 .../home/classic/utility/scoped_lock.hpp | 3 +- .../spirit/home/classic/utility/typeof.hpp | 0 .../boost/spirit/home/classic/version.hpp | 0 .../include/boost/spirit/home/karma.hpp | 0 .../boost/spirit/home/karma/action.hpp | 0 .../boost/spirit/home/karma/action/action.hpp | 0 .../include/boost/spirit/home/karma/auto.hpp | 0 .../boost/spirit/home/karma/auto/auto.hpp | 0 .../home/karma/auto/create_generator.hpp | 0 .../spirit/home/karma/auto/meta_create.hpp | 0 .../boost/spirit/home/karma/auxiliary.hpp | 0 .../spirit/home/karma/auxiliary/attr_cast.hpp | 0 .../boost/spirit/home/karma/auxiliary/eol.hpp | 0 .../boost/spirit/home/karma/auxiliary/eps.hpp | 0 .../spirit/home/karma/auxiliary/lazy.hpp | 0 .../boost/spirit/home/karma/binary.hpp | 0 .../boost/spirit/home/karma/binary/binary.hpp | 0 .../spirit/home/karma/binary/padding.hpp | 0 .../include/boost/spirit/home/karma/char.hpp | 0 .../boost/spirit/home/karma/char/char.hpp | 0 .../spirit/home/karma/char/char_class.hpp | 0 .../spirit/home/karma/char/char_generator.hpp | 0 .../boost/spirit/home/karma/delimit_flag.hpp | 0 .../boost/spirit/home/karma/delimit_out.hpp | 0 .../karma/detail/alternative_function.hpp | 0 .../boost/spirit/home/karma/detail/as.hpp | 0 .../spirit/home/karma/detail/attributes.hpp | 0 .../home/karma/detail/default_width.hpp | 0 .../spirit/home/karma/detail/enable_lit.hpp | 0 .../spirit/home/karma/detail/extract_from.hpp | 0 .../home/karma/detail/fail_function.hpp | 0 .../spirit/home/karma/detail/generate.hpp | 0 .../home/karma/detail/generate_auto.hpp | 0 .../spirit/home/karma/detail/generate_to.hpp | 0 .../spirit/home/karma/detail/get_casetag.hpp | 0 .../home/karma/detail/get_stricttag.hpp | 0 .../home/karma/detail/indirect_iterator.hpp | 0 .../home/karma/detail/output_iterator.hpp | 12 + .../home/karma/detail/pass_container.hpp | 0 .../home/karma/detail/string_compare.hpp | 0 .../home/karma/detail/string_generate.hpp | 34 +- .../home/karma/detail/unused_delimiter.hpp | 0 .../boost/spirit/home/karma/directive.hpp | 0 .../boost/spirit/home/karma/directive/as.hpp | 0 .../spirit/home/karma/directive/buffer.hpp | 0 .../home/karma/directive/center_alignment.hpp | 0 .../spirit/home/karma/directive/columns.hpp | 0 .../spirit/home/karma/directive/delimit.hpp | 0 .../spirit/home/karma/directive/duplicate.hpp | 2 +- .../spirit/home/karma/directive/encoding.hpp | 0 .../home/karma/directive/left_alignment.hpp | 4 +- .../spirit/home/karma/directive/maxwidth.hpp | 0 .../home/karma/directive/no_delimit.hpp | 0 .../spirit/home/karma/directive/omit.hpp | 0 .../spirit/home/karma/directive/repeat.hpp | 0 .../home/karma/directive/right_alignment.hpp | 0 .../home/karma/directive/strict_relaxed.hpp | 0 .../home/karma/directive/upper_lower_case.hpp | 0 .../spirit/home/karma/directive/verbatim.hpp | 0 .../boost/spirit/home/karma/domain.hpp | 0 .../boost/spirit/home/karma/format.hpp | 0 .../boost/spirit/home/karma/format_auto.hpp | 0 .../boost/spirit/home/karma/generate.hpp | 0 .../boost/spirit/home/karma/generate_attr.hpp | 0 .../boost/spirit/home/karma/generator.hpp | 0 .../boost/spirit/home/karma/meta_compiler.hpp | 0 .../boost/spirit/home/karma/nonterminal.hpp | 0 .../home/karma/nonterminal/debug_handler.hpp | 0 .../karma/nonterminal/debug_handler_state.hpp | 0 .../home/karma/nonterminal/detail/fcall.hpp | 0 .../nonterminal/detail/generator_binder.hpp | 0 .../nonterminal/detail/parameterized.hpp | 0 .../spirit/home/karma/nonterminal/grammar.hpp | 0 .../karma/nonterminal/nonterminal_fwd.hpp | 0 .../spirit/home/karma/nonterminal/rule.hpp | 448 ++ .../home/karma/nonterminal/simple_trace.hpp | 0 .../boost/spirit/home/karma/numeric.hpp | 0 .../boost/spirit/home/karma/numeric/bool.hpp | 0 .../home/karma/numeric/bool_policies.hpp | 0 .../home/karma/numeric/detail/bool_utils.hpp | 0 .../karma/numeric/detail/numeric_utils.hpp | 0 .../home/karma/numeric/detail/real_utils.hpp | 2 +- .../boost/spirit/home/karma/numeric/int.hpp | 0 .../boost/spirit/home/karma/numeric/real.hpp | 0 .../home/karma/numeric/real_policies.hpp | 0 .../boost/spirit/home/karma/numeric/uint.hpp | 0 .../boost/spirit/home/karma/operator.hpp | 0 .../home/karma/operator/alternative.hpp | 0 .../home/karma/operator/and_predicate.hpp | 0 .../spirit/home/karma/operator/kleene.hpp | 0 .../boost/spirit/home/karma/operator/list.hpp | 0 .../home/karma/operator/not_predicate.hpp | 0 .../spirit/home/karma/operator/optional.hpp | 0 .../boost/spirit/home/karma/operator/plus.hpp | 0 .../spirit/home/karma/operator/sequence.hpp | 0 .../spirit/home/karma/phoenix_attributes.hpp | 0 .../boost/spirit/home/karma/reference.hpp | 0 .../boost/spirit/home/karma/stream.hpp | 0 .../home/karma/stream/detail/format_manip.hpp | 0 .../karma/stream/detail/format_manip_auto.hpp | 0 .../karma/stream/detail/iterator_sink.hpp | 0 .../spirit/home/karma/stream/format_manip.hpp | 0 .../home/karma/stream/format_manip_attr.hpp | 0 .../home/karma/stream/ostream_iterator.hpp | 0 .../boost/spirit/home/karma/stream/stream.hpp | 0 .../boost/spirit/home/karma/string.hpp | 0 .../boost/spirit/home/karma/string/lit.hpp | 3 - .../spirit/home/karma/string/symbols.hpp | 0 .../include/boost/spirit/home/karma/what.hpp | 0 .../include/boost/spirit/home/lex.hpp | 0 .../boost/spirit/home/lex/argument.hpp | 10 - .../spirit/home/lex/argument_phoenix.hpp | 0 .../home/lex/detail/sequence_function.hpp | 0 .../include/boost/spirit/home/lex/domain.hpp | 0 .../include/boost/spirit/home/lex/lexer.hpp | 0 .../boost/spirit/home/lex/lexer/action.hpp | 0 .../spirit/home/lex/lexer/char_token_def.hpp | 0 .../boost/spirit/home/lex/lexer/lexer.hpp | 0 .../spirit/home/lex/lexer/lexertl/functor.hpp | 0 .../home/lex/lexer/lexertl/functor_data.hpp | 2 +- .../lex/lexer/lexertl/generate_static.hpp | 0 .../home/lex/lexer/lexertl/iterator.hpp | 0 .../lex/lexer/lexertl/iterator_tokenizer.hpp | 0 .../spirit/home/lex/lexer/lexertl/lexer.hpp | 0 .../home/lex/lexer/lexertl/position_token.hpp | 0 .../lexer/lexertl/semantic_action_data.hpp | 0 .../lex/lexer/lexertl/static_functor_data.hpp | 0 .../home/lex/lexer/lexertl/static_lexer.hpp | 0 .../home/lex/lexer/lexertl/static_version.hpp | 0 .../spirit/home/lex/lexer/lexertl/token.hpp | 0 .../home/lex/lexer/lexertl/wrap_action.hpp | 0 .../spirit/home/lex/lexer/pass_flags.hpp | 0 .../boost/spirit/home/lex/lexer/sequence.hpp | 0 .../home/lex/lexer/string_token_def.hpp | 1 - .../home/lex/lexer/support_functions.hpp | 0 .../lexer/support_functions_expression.hpp | 0 .../boost/spirit/home/lex/lexer/terminals.hpp | 0 .../boost/spirit/home/lex/lexer/token_def.hpp | 0 .../boost/spirit/home/lex/lexer_lexertl.hpp | 0 .../spirit/home/lex/lexer_static_lexertl.hpp | 0 .../boost/spirit/home/lex/lexer_type.hpp | 0 .../boost/spirit/home/lex/meta_compiler.hpp | 0 .../boost/spirit/home/lex/primitives.hpp | 0 .../include/boost/spirit/home/lex/qi.hpp | 0 .../boost/spirit/home/lex/qi/in_state.hpp | 0 .../spirit/home/lex/qi/plain_raw_token.hpp | 0 .../boost/spirit/home/lex/qi/plain_token.hpp | 0 .../spirit/home/lex/qi/plain_tokenid.hpp | 0 .../spirit/home/lex/qi/plain_tokenid_mask.hpp | 0 .../spirit/home/lex/qi/state_switcher.hpp | 0 .../boost/spirit/home/lex/reference.hpp | 0 .../spirit/home/lex/tokenize_and_parse.hpp | 0 .../home/lex/tokenize_and_parse_attr.hpp | 0 .../include/boost/spirit/home/qi.hpp | 0 .../include/boost/spirit/home/qi/action.hpp | 0 .../boost/spirit/home/qi/action/action.hpp | 0 .../include/boost/spirit/home/qi/auto.hpp | 0 .../boost/spirit/home/qi/auto/auto.hpp | 0 .../spirit/home/qi/auto/create_parser.hpp | 0 .../boost/spirit/home/qi/auto/meta_create.hpp | 0 .../boost/spirit/home/qi/auxiliary.hpp | 0 .../boost/spirit/home/qi/auxiliary/attr.hpp | 0 .../spirit/home/qi/auxiliary/attr_cast.hpp | 0 .../boost/spirit/home/qi/auxiliary/eoi.hpp | 0 .../boost/spirit/home/qi/auxiliary/eol.hpp | 0 .../boost/spirit/home/qi/auxiliary/eps.hpp | 0 .../boost/spirit/home/qi/auxiliary/lazy.hpp | 0 .../include/boost/spirit/home/qi/binary.hpp | 0 .../boost/spirit/home/qi/binary/binary.hpp | 0 .../include/boost/spirit/home/qi/char.hpp | 0 .../boost/spirit/home/qi/char/char.hpp | 0 .../boost/spirit/home/qi/char/char_class.hpp | 0 .../boost/spirit/home/qi/char/char_parser.hpp | 0 .../include/boost/spirit/home/qi/copy.hpp | 0 .../home/qi/detail/alternative_function.hpp | 0 .../boost/spirit/home/qi/detail/assign_to.hpp | 11 + .../spirit/home/qi/detail/attributes.hpp | 176 + .../boost/spirit/home/qi/detail/construct.hpp | 0 .../spirit/home/qi/detail/enable_lit.hpp | 0 .../spirit/home/qi/detail/expect_function.hpp | 0 .../spirit/home/qi/detail/fail_function.hpp | 0 .../boost/spirit/home/qi/detail/parse.hpp | 0 .../spirit/home/qi/detail/parse_auto.hpp | 0 .../spirit/home/qi/detail/pass_container.hpp | 0 .../spirit/home/qi/detail/pass_function.hpp | 0 .../home/qi/detail/permute_function.hpp | 0 .../spirit/home/qi/detail/string_parse.hpp | 0 .../spirit/home/qi/detail/unused_skipper.hpp | 0 .../boost/spirit/home/qi/directive.hpp | 0 .../boost/spirit/home/qi/directive/as.hpp | 0 .../spirit/home/qi/directive/encoding.hpp | 0 .../boost/spirit/home/qi/directive/hold.hpp | 0 .../boost/spirit/home/qi/directive/lexeme.hpp | 0 .../spirit/home/qi/directive/matches.hpp | 0 .../spirit/home/qi/directive/no_case.hpp | 0 .../spirit/home/qi/directive/no_skip.hpp | 0 .../boost/spirit/home/qi/directive/omit.hpp | 0 .../boost/spirit/home/qi/directive/raw.hpp | 0 .../boost/spirit/home/qi/directive/repeat.hpp | 0 .../boost/spirit/home/qi/directive/skip.hpp | 0 .../include/boost/spirit/home/qi/domain.hpp | 0 .../include/boost/spirit/home/qi/match.hpp | 0 .../boost/spirit/home/qi/match_auto.hpp | 0 .../boost/spirit/home/qi/meta_compiler.hpp | 0 .../boost/spirit/home/qi/nonterminal.hpp | 0 .../home/qi/nonterminal/debug_handler.hpp | 0 .../qi/nonterminal/debug_handler_state.hpp | 0 .../home/qi/nonterminal/detail/fcall.hpp | 0 .../qi/nonterminal/detail/parameterized.hpp | 0 .../qi/nonterminal/detail/parser_binder.hpp | 0 .../home/qi/nonterminal/error_handler.hpp | 0 .../spirit/home/qi/nonterminal/grammar.hpp | 0 .../home/qi/nonterminal/nonterminal_fwd.hpp | 0 .../boost/spirit/home/qi/nonterminal/rule.hpp | 440 ++ .../home/qi/nonterminal/simple_trace.hpp | 0 .../home/qi/nonterminal/success_handler.hpp | 0 .../include/boost/spirit/home/qi/numeric.hpp | 0 .../boost/spirit/home/qi/numeric/bool.hpp | 0 .../spirit/home/qi/numeric/bool_policies.hpp | 0 .../home/qi/numeric/detail/numeric_utils.hpp | 534 ++ .../home/qi/numeric/detail/real_impl.hpp | 330 + .../boost/spirit/home/qi/numeric/int.hpp | 0 .../spirit/home/qi/numeric/numeric_utils.hpp | 150 + .../boost/spirit/home/qi/numeric/real.hpp | 0 .../spirit/home/qi/numeric/real_policies.hpp | 198 + .../boost/spirit/home/qi/numeric/uint.hpp | 0 .../include/boost/spirit/home/qi/operator.hpp | 0 .../spirit/home/qi/operator/alternative.hpp | 0 .../spirit/home/qi/operator/and_predicate.hpp | 0 .../spirit/home/qi/operator/difference.hpp | 0 .../boost/spirit/home/qi/operator/expect.hpp | 0 .../boost/spirit/home/qi/operator/kleene.hpp | 0 .../boost/spirit/home/qi/operator/list.hpp | 0 .../spirit/home/qi/operator/not_predicate.hpp | 0 .../spirit/home/qi/operator/optional.hpp | 0 .../spirit/home/qi/operator/permutation.hpp | 0 .../boost/spirit/home/qi/operator/plus.hpp | 0 .../spirit/home/qi/operator/sequence.hpp | 0 .../spirit/home/qi/operator/sequence_base.hpp | 0 .../spirit/home/qi/operator/sequential_or.hpp | 0 .../include/boost/spirit/home/qi/parse.hpp | 0 .../boost/spirit/home/qi/parse_attr.hpp | 0 .../include/boost/spirit/home/qi/parser.hpp | 0 .../boost/spirit/home/qi/reference.hpp | 0 .../boost/spirit/home/qi/skip_flag.hpp | 0 .../boost/spirit/home/qi/skip_over.hpp | 0 .../include/boost/spirit/home/qi/stream.hpp | 0 .../home/qi/stream/detail/iterator_source.hpp | 0 .../home/qi/stream/detail/match_manip.hpp | 0 .../qi/stream/detail/match_manip_auto.hpp | 0 .../spirit/home/qi/stream/match_manip.hpp | 0 .../home/qi/stream/match_manip_attr.hpp | 0 .../boost/spirit/home/qi/stream/stream.hpp | 0 .../include/boost/spirit/home/qi/string.hpp | 0 .../spirit/home/qi/string/detail/tst.hpp | 0 .../boost/spirit/home/qi/string/lit.hpp | 0 .../boost/spirit/home/qi/string/symbols.hpp | 0 .../boost/spirit/home/qi/string/tst.hpp | 0 .../boost/spirit/home/qi/string/tst_map.hpp | 219 + .../include/boost/spirit/home/qi/what.hpp | 0 .../include/boost/spirit/home/support.hpp | 0 .../spirit/home/support/action_dispatch.hpp | 0 .../home/support/adapt_adt_attributes.hpp | 0 .../spirit/home/support/algorithm/any.hpp | 0 .../spirit/home/support/algorithm/any_if.hpp | 0 .../home/support/algorithm/any_if_ns.hpp | 0 .../spirit/home/support/algorithm/any_ns.hpp | 0 .../boost/spirit/home/support/argument.hpp | 0 .../home/support/argument_expression.hpp | 0 .../boost/spirit/home/support/assert_msg.hpp | 0 .../boost/spirit/home/support/attributes.hpp | 1396 ++++ .../spirit/home/support/attributes_fwd.hpp | 0 .../boost/spirit/home/support/auto.hpp | 0 .../spirit/home/support/auto/meta_create.hpp | 0 .../home/support/auxiliary/attr_cast.hpp | 0 .../boost/spirit/home/support/char_class.hpp | 798 +++ .../home/support/char_encoding/ascii.hpp | 29 +- .../home/support/char_encoding/iso8859_1.hpp | 0 .../home/support/char_encoding/standard.hpp | 0 .../support/char_encoding/standard_wide.hpp | 0 .../home/support/char_encoding/unicode.hpp | 0 .../unicode/DerivedCoreProperties.txt | 0 .../char_encoding/unicode/PropList.txt | 0 .../support/char_encoding/unicode/Scripts.txt | 0 .../char_encoding/unicode/UnicodeData.txt | 0 .../char_encoding/unicode/category_table.hpp | 0 .../char_encoding/unicode/create_tables.cpp | 0 .../char_encoding/unicode/lowercase_table.hpp | 0 .../support/char_encoding/unicode/query.hpp | 0 .../char_encoding/unicode/script_table.hpp | 0 .../char_encoding/unicode/uppercase_table.hpp | 0 .../home/support/char_set/basic_chset.hpp | 0 .../spirit/home/support/char_set/range.hpp | 0 .../home/support/char_set/range_functions.hpp | 0 .../home/support/char_set/range_run.hpp | 0 .../home/support/char_set/range_run_impl.hpp | 0 .../spirit/home/support/common_terminals.hpp | 0 .../boost/spirit/home/support/container.hpp | 0 .../boost/spirit/home/support/context.hpp | 0 .../spirit/home/support/detail/as_variant.hpp | 0 .../spirit/home/support/detail/endian.hpp | 0 .../support/detail/endian/cover_operators.hpp | 0 .../home/support/detail/endian/endian.hpp | 21 +- .../home/support/detail/get_encoding.hpp | 0 .../spirit/home/support/detail/hold_any.hpp | 0 .../home/support/detail/is_spirit_tag.hpp | 0 .../home/support/detail/lexer/char_traits.hpp | 0 .../home/support/detail/lexer/consts.hpp | 0 .../detail/lexer/containers/ptr_list.hpp | 0 .../detail/lexer/containers/ptr_vector.hpp | 0 .../lexer/conversion/char_state_machine.hpp | 0 .../home/support/detail/lexer/debug.hpp | 0 .../home/support/detail/lexer/file_input.hpp | 0 .../support/detail/lexer/generate_cpp.hpp | 0 .../support/detail/lexer/generate_re2c.hpp | 0 .../home/support/detail/lexer/generator.hpp | 0 .../home/support/detail/lexer/input.hpp | 0 .../home/support/detail/lexer/internals.hpp | 0 .../support/detail/lexer/parser/parser.hpp | 511 ++ .../lexer/parser/tokeniser/num_token.hpp | 0 .../lexer/parser/tokeniser/re_tokeniser.hpp | 0 .../parser/tokeniser/re_tokeniser_helper.hpp | 0 .../parser/tokeniser/re_tokeniser_state.hpp | 0 .../detail/lexer/parser/tree/end_node.hpp | 0 .../lexer/parser/tree/iteration_node.hpp | 0 .../detail/lexer/parser/tree/leaf_node.hpp | 0 .../support/detail/lexer/parser/tree/node.hpp | 0 .../lexer/parser/tree/selection_node.hpp | 0 .../lexer/parser/tree/sequence_node.hpp | 0 .../detail/lexer/partition/charset.hpp | 0 .../detail/lexer/partition/equivset.hpp | 0 .../home/support/detail/lexer/rules.hpp | 0 .../support/detail/lexer/runtime_error.hpp | 0 .../home/support/detail/lexer/serialise.hpp | 0 .../home/support/detail/lexer/size_t.hpp | 0 .../support/detail/lexer/state_machine.hpp | 2 +- .../support/detail/lexer/string_token.hpp | 0 .../spirit/home/support/detail/make_cons.hpp | 0 .../home/support/detail/make_vector.hpp | 0 .../support/detail/math/detail/fp_traits.hpp | 0 .../home/support/detail/math/fpclassify.hpp | 0 .../home/support/detail/math/signbit.hpp | 0 .../spirit/home/support/detail/pow10.hpp | 0 .../support/detail/scoped_enum_emulation.hpp | 0 .../boost/spirit/home/support/detail/sign.hpp | 0 .../home/support/detail/what_function.hpp | 0 .../spirit/home/support/extended_variant.hpp | 47 +- .../spirit/home/support/handles_container.hpp | 0 .../home/support/has_semantic_action.hpp | 0 .../boost/spirit/home/support/info.hpp | 0 .../iterators/detail/buf_id_check_policy.hpp | 0 .../buffering_input_iterator_policy.hpp | 0 .../iterators/detail/combine_policies.hpp | 0 .../iterators/detail/first_owner_policy.hpp | 0 .../iterators/detail/fixed_size_queue.hpp | 0 .../detail/fixed_size_queue_policy.hpp | 0 .../iterators/detail/functor_input_policy.hpp | 0 .../detail/input_iterator_policy.hpp | 0 .../iterators/detail/istream_policy.hpp | 0 .../iterators/detail/lex_input_policy.hpp | 0 .../support/iterators/detail/multi_pass.hpp | 0 .../iterators/detail/no_check_policy.hpp | 0 .../iterators/detail/ref_counted_policy.hpp | 0 .../detail/split_functor_input_policy.hpp | 0 .../detail/split_std_deque_policy.hpp | 0 .../support/iterators/istream_iterator.hpp | 0 .../support/iterators/line_pos_iterator.hpp | 0 .../home/support/iterators/look_ahead.hpp | 0 .../home/support/iterators/multi_pass.hpp | 0 .../home/support/iterators/multi_pass_fwd.hpp | 0 .../support/iterators/ostream_iterator.hpp | 0 .../boost/spirit/home/support/lazy.hpp | 0 .../boost/spirit/home/support/limits.hpp | 0 .../spirit/home/support/make_component.hpp | 0 .../spirit/home/support/meta_compiler.hpp | 0 .../boost/spirit/home/support/modify.hpp | 0 .../boost/spirit/home/support/multi_pass.hpp | 0 .../home/support/multi_pass_wrapper.hpp | 0 .../home/support/nonterminal/expand_arg.hpp | 0 .../support/nonterminal/extract_param.hpp | 39 +- .../home/support/nonterminal/locals.hpp | 0 .../spirit/home/support/numeric_traits.hpp | 0 .../spirit/home/support/sequence_base_id.hpp | 0 .../spirit/home/support/string_traits.hpp | 0 .../boost/spirit/home/support/terminal.hpp | 55 +- .../home/support/terminal_expression.hpp | 0 .../boost/spirit/home/support/unused.hpp | 0 .../boost/spirit/home/support/utf8.hpp | 0 .../boost/spirit/home/support/utree.hpp | 0 .../support/utree/detail/utree_detail1.hpp | 0 .../support/utree/detail/utree_detail2.hpp | 0 .../spirit/home/support/utree/operators.hpp | 0 .../boost/spirit/home/support/utree/utree.hpp | 0 .../home/support/utree/utree_traits.hpp | 0 .../home/support/utree/utree_traits_fwd.hpp | 0 .../include/boost/spirit/home/x3.hpp | 4 - .../boost/spirit/home/x3/auxiliary.hpp | 18 + .../spirit/home/x3/auxiliary/any_parser.hpp | 4 - .../boost/spirit/home/x3/auxiliary/attr.hpp | 12 +- .../boost/spirit/home/x3/auxiliary/eoi.hpp | 6 +- .../boost/spirit/home/x3/auxiliary/eol.hpp | 8 +- .../boost/spirit/home/x3/auxiliary/eps.hpp | 16 +- .../boost/spirit/home/x3/auxiliary/guard.hpp | 4 - .../include/boost/spirit/home/x3/binary.hpp | 16 + .../boost/spirit/home/x3/binary/binary.hpp | 176 + .../include/boost/spirit/home/x3/char.hpp | 20 + .../boost/spirit/home/x3/char/any_char.hpp | 68 + .../boost/spirit/home/x3/char/char.hpp | 155 + .../boost/spirit/home/x3/char/char_class.hpp | 130 + .../spirit/home/x3/char/char_class_tags.hpp | 29 + .../boost/spirit/home/x3/char/char_parser.hpp | 6 +- .../boost/spirit/home/x3/char/char_set.hpp | 136 + .../spirit/home/x3/char/detail/cast_char.hpp | 4 - .../spirit/home/x3/char/literal_char.hpp | 10 +- .../home/x3/char/negated_char_parser.hpp | 6 +- .../boost/spirit/home/x3/char/unicode.hpp | 6 +- .../include/boost/spirit/home/x3/core.hpp | 16 + .../boost/spirit/home/x3/core/action.hpp | 6 +- .../boost/spirit/home/x3/core/call.hpp | 9 +- .../x3/core/detail/parse_into_container.hpp | 77 +- .../boost/spirit/home/x3/core/parse.hpp | 7 +- .../boost/spirit/home/x3/core/parser.hpp | 231 + .../boost/spirit/home/x3/core/proxy.hpp | 4 - .../boost/spirit/home/x3/core/skip_over.hpp | 4 - .../boost/spirit/home/x3/directive.hpp | 14 +- .../boost/spirit/home/x3/directive/confix.hpp | 83 + .../boost/spirit/home/x3/directive/expect.hpp | 104 + .../boost/spirit/home/x3/directive/lexeme.hpp | 12 +- .../spirit/home/x3/directive/matches.hpp | 51 + .../spirit/home/x3/directive/no_case.hpp | 54 + .../spirit/home/x3/directive/no_skip.hpp | 8 +- .../boost/spirit/home/x3/directive/omit.hpp | 8 +- .../boost/spirit/home/x3/directive/raw.hpp | 4 +- .../boost/spirit/home/x3/directive/repeat.hpp | 157 + .../boost/spirit/home/x3/directive/seek.hpp | 66 + .../boost/spirit/home/x3/directive/skip.hpp | 120 + .../boost/spirit/home/x3/directive/with.hpp | 8 +- .../boost/spirit/home/x3/extensions.hpp | 0 .../boost/spirit/home/x3/extensions/seek.hpp | 0 .../boost/spirit/home/x3/nonterminal.hpp | 4 - .../x3/nonterminal/debug_handler_state.hpp | 4 - .../home/x3/nonterminal/detail/rule.hpp | 351 + .../detail/transform_attribute.hpp | 110 + .../boost/spirit/home/x3/nonterminal/rule.hpp | 183 + .../home/x3/nonterminal/simple_trace.hpp | 6 +- .../include/boost/spirit/home/x3/numeric.hpp | 4 - .../boost/spirit/home/x3/numeric/bool.hpp | 159 + .../spirit/home/x3/numeric/bool_policies.hpp | 16 +- .../boost/spirit/home/x3/numeric/int.hpp | 4 - .../boost/spirit/home/x3/numeric/real.hpp | 0 .../spirit/home/x3/numeric/real_policies.hpp | 182 + .../boost/spirit/home/x3/numeric/uint.hpp | 4 - .../include/boost/spirit/home/x3/operator.hpp | 4 - .../spirit/home/x3/operator/alternative.hpp | 61 + .../spirit/home/x3/operator/and_predicate.hpp | 6 +- .../home/x3/operator/detail/alternative.hpp | 300 + .../home/x3/operator/detail/sequence.hpp | 503 ++ .../spirit/home/x3/operator/difference.hpp | 8 +- .../boost/spirit/home/x3/operator/kleene.hpp | 6 +- .../boost/spirit/home/x3/operator/list.hpp | 69 + .../spirit/home/x3/operator/not_predicate.hpp | 6 +- .../spirit/home/x3/operator/optional.hpp | 82 + .../boost/spirit/home/x3/operator/plus.hpp | 6 +- .../spirit/home/x3/operator/sequence.hpp | 72 + .../include/boost/spirit/home/x3/string.hpp | 13 + .../x3/string/detail/no_case_string_parse.hpp | 60 + .../home/x3/string/detail/string_parse.hpp | 16 +- .../spirit/home/x3/string/detail/tst.hpp | 205 + .../spirit/home/x3/string/literal_string.hpp | 248 + .../boost/spirit/home/x3/string/symbols.hpp | 370 + .../boost/spirit/home/x3/string/tst.hpp | 133 + .../boost/spirit/home/x3/string/tst_map.hpp | 212 + .../home/x3/support/ast/position_tagged.hpp | 0 .../spirit/home/x3/support/ast/variant.hpp | 257 + .../boost/spirit/home/x3/support/context.hpp | 103 + .../boost/spirit/home/x3/support/no_case.hpp | 102 + .../numeric_utils/detail/extract_int.hpp | 508 ++ .../x3/support/numeric_utils/extract_int.hpp | 143 + .../x3/support/numeric_utils/extract_real.hpp | 4 - .../home/x3/support/numeric_utils/pow10.hpp | 4 - .../home/x3/support/numeric_utils/sign.hpp | 44 + .../spirit/home/x3/support/subcontext.hpp | 10 - .../x3/support/traits/attribute_category.hpp | 4 - .../home/x3/support/traits/attribute_of.hpp | 4 - .../home/x3/support/traits/attribute_type.hpp | 4 - .../x3/support/traits/container_traits.hpp | 77 +- .../x3/support/traits/handles_container.hpp | 4 - .../home/x3/support/traits/has_attribute.hpp | 4 - .../home/x3/support/traits/is_parser.hpp | 4 - .../home/x3/support/traits/is_substitute.hpp | 4 - .../home/x3/support/traits/is_variant.hpp | 4 - .../home/x3/support/traits/make_attribute.hpp | 4 - .../spirit/home/x3/support/traits/move_to.hpp | 40 +- .../home/x3/support/traits/numeric_traits.hpp | 4 - .../x3/support/traits/optional_traits.hpp | 4 - .../x3/support/traits/print_attribute.hpp | 4 - .../home/x3/support/traits/print_token.hpp | 4 - .../home/x3/support/traits/string_traits.hpp | 4 - .../x3/support/traits/transform_attribute.hpp | 44 + .../home/x3/support/traits/tuple_traits.hpp | 4 - .../home/x3/support/traits/value_traits.hpp | 4 - .../traits/variant_find_substitute.hpp | 4 - .../support/traits/variant_has_substitute.hpp | 4 - .../boost/spirit/home/x3/support/unused.hpp | 86 + .../support/utility/annotate_on_success.hpp | 51 + .../x3/support/utility/detail/testing.hpp | 0 .../x3/support/utility/error_reporting.hpp | 110 +- .../x3/support/utility/integer_sequence.hpp | 0 .../home/x3/support/utility/is_callable.hpp | 16 +- .../x3/support/utility/lambda_visitor.hpp | 0 .../spirit/home/x3/support/utility/sfinae.hpp | 5 +- .../home/x3/support/utility/testing.hpp | 269 + .../home/x3/support/utility/unrefcv.hpp | 4 - .../spirit/home/x3/support/utility/utf8.hpp | 7 +- .../include/boost/spirit/home/x3/version.hpp | 19 + .../include/boost/spirit/include/classic.hpp | 0 .../boost/spirit/include/classic_actions.hpp | 0 .../boost/spirit/include/classic_actor.hpp | 0 .../spirit/include/classic_alternative.hpp | 0 .../spirit/include/classic_as_parser.hpp | 0 .../boost/spirit/include/classic_assert.hpp | 0 .../spirit/include/classic_assign_actor.hpp | 0 .../include/classic_assign_key_actor.hpp | 0 .../boost/spirit/include/classic_ast.hpp | 0 .../boost/spirit/include/classic_ast_fwd.hpp | 0 .../spirit/include/classic_attribute.hpp | 0 .../spirit/include/classic_basic_chset.hpp | 0 .../boost/spirit/include/classic_chset.hpp | 0 .../include/classic_chset_operators.hpp | 0 .../spirit/include/classic_clear_actor.hpp | 0 .../boost/spirit/include/classic_closure.hpp | 0 .../include/classic_closure_context.hpp | 0 .../spirit/include/classic_closure_fwd.hpp | 0 .../boost/spirit/include/classic_common.hpp | 0 .../spirit/include/classic_common_fwd.hpp | 0 .../spirit/include/classic_composite.hpp | 0 .../boost/spirit/include/classic_config.hpp | 0 .../boost/spirit/include/classic_confix.hpp | 0 .../spirit/include/classic_confix_fwd.hpp | 0 .../boost/spirit/include/classic_core.hpp | 0 .../boost/spirit/include/classic_debug.hpp | 0 .../spirit/include/classic_debug_node.hpp | 0 .../include/classic_decrement_actor.hpp | 0 .../spirit/include/classic_difference.hpp | 0 .../spirit/include/classic_directives.hpp | 0 .../boost/spirit/include/classic_distinct.hpp | 0 .../spirit/include/classic_distinct_fwd.hpp | 0 .../boost/spirit/include/classic_dynamic.hpp | 0 .../boost/spirit/include/classic_epsilon.hpp | 0 .../spirit/include/classic_erase_actor.hpp | 0 .../spirit/include/classic_error_handling.hpp | 0 .../spirit/include/classic_escape_char.hpp | 0 .../include/classic_escape_char_fwd.hpp | 0 .../spirit/include/classic_exceptions.hpp | 0 .../spirit/include/classic_exceptions_fwd.hpp | 0 .../spirit/include/classic_exclusive_or.hpp | 0 .../spirit/include/classic_file_iterator.hpp | 0 .../include/classic_file_iterator_fwd.hpp | 0 .../include/classic_fixed_size_queue.hpp | 0 .../include/classic_flush_multi_pass.hpp | 0 .../boost/spirit/include/classic_for.hpp | 0 .../spirit/include/classic_functor_parser.hpp | 0 .../spirit/include/classic_fundamental.hpp | 0 .../boost/spirit/include/classic_grammar.hpp | 0 .../spirit/include/classic_grammar_def.hpp | 0 .../include/classic_grammar_def_fwd.hpp | 0 .../boost/spirit/include/classic_if.hpp | 0 .../include/classic_increment_actor.hpp | 0 .../include/classic_insert_at_actor.hpp | 0 .../include/classic_insert_key_actor.hpp | 0 .../spirit/include/classic_intersection.hpp | 0 .../boost/spirit/include/classic_iterator.hpp | 0 .../spirit/include/classic_kleene_star.hpp | 0 .../boost/spirit/include/classic_lazy.hpp | 0 .../boost/spirit/include/classic_list.hpp | 0 .../boost/spirit/include/classic_lists.hpp | 0 .../spirit/include/classic_lists_fwd.hpp | 0 .../boost/spirit/include/classic_loops.hpp | 0 .../boost/spirit/include/classic_match.hpp | 0 .../boost/spirit/include/classic_meta.hpp | 0 .../boost/spirit/include/classic_minimal.hpp | 0 .../spirit/include/classic_multi_pass.hpp | 0 .../spirit/include/classic_multi_pass_fwd.hpp | 0 .../boost/spirit/include/classic_nil.hpp | 0 .../spirit/include/classic_no_actions.hpp | 0 .../boost/spirit/include/classic_numerics.hpp | 0 .../spirit/include/classic_numerics_fwd.hpp | 0 .../spirit/include/classic_operators.hpp | 0 .../boost/spirit/include/classic_optional.hpp | 0 .../spirit/include/classic_parametric.hpp | 0 .../spirit/include/classic_parse_tree.hpp | 0 .../spirit/include/classic_parse_tree_fwd.hpp | 0 .../include/classic_parse_tree_utils.hpp | 0 .../boost/spirit/include/classic_parser.hpp | 0 .../spirit/include/classic_parser_context.hpp | 0 .../spirit/include/classic_parser_id.hpp | 0 .../spirit/include/classic_parser_names.hpp | 0 .../spirit/include/classic_parser_traits.hpp | 0 .../include/classic_position_iterator.hpp | 0 .../include/classic_position_iterator_fwd.hpp | 0 .../boost/spirit/include/classic_positive.hpp | 0 .../spirit/include/classic_primitives.hpp | 0 .../include/classic_push_back_actor.hpp | 0 .../include/classic_push_front_actor.hpp | 0 .../spirit/include/classic_range_run.hpp | 0 .../spirit/include/classic_ref_actor.hpp | 0 .../include/classic_ref_const_ref_actor.hpp | 0 .../classic_ref_const_ref_const_ref_a.hpp | 0 .../classic_ref_const_ref_value_actor.hpp | 0 .../include/classic_ref_value_actor.hpp | 0 .../spirit/include/classic_refactoring.hpp | 0 .../boost/spirit/include/classic_regex.hpp | 0 .../boost/spirit/include/classic_rule.hpp | 0 .../spirit/include/classic_rule_alias.hpp | 0 .../spirit/include/classic_rule_parser.hpp | 0 .../spirit/include/classic_safe_bool.hpp | 0 .../boost/spirit/include/classic_scanner.hpp | 0 .../spirit/include/classic_scanner_fwd.hpp | 0 .../spirit/include/classic_scoped_lock.hpp | 0 .../boost/spirit/include/classic_select.hpp | 0 .../boost/spirit/include/classic_sequence.hpp | 0 .../spirit/include/classic_sequential_and.hpp | 0 .../spirit/include/classic_sequential_or.hpp | 0 .../boost/spirit/include/classic_skipper.hpp | 0 .../spirit/include/classic_skipper_fwd.hpp | 0 .../boost/spirit/include/classic_spirit.hpp | 0 .../boost/spirit/include/classic_static.hpp | 0 .../spirit/include/classic_stored_rule.hpp | 0 .../include/classic_stored_rule_fwd.hpp | 0 .../boost/spirit/include/classic_subrule.hpp | 0 .../spirit/include/classic_subrule_fwd.hpp | 0 .../spirit/include/classic_swap_actor.hpp | 0 .../boost/spirit/include/classic_switch.hpp | 0 .../boost/spirit/include/classic_symbols.hpp | 0 .../spirit/include/classic_symbols_fwd.hpp | 0 .../boost/spirit/include/classic_traverse.hpp | 0 .../spirit/include/classic_tree_to_xml.hpp | 0 .../boost/spirit/include/classic_typeof.hpp | 0 .../boost/spirit/include/classic_utility.hpp | 0 .../boost/spirit/include/classic_version.hpp | 0 .../boost/spirit/include/classic_while.hpp | 0 .../include/boost/spirit/include/karma.hpp | 0 .../boost/spirit/include/karma_action.hpp | 0 .../spirit/include/karma_alternative.hpp | 0 .../spirit/include/karma_and_predicate.hpp | 0 .../include/boost/spirit/include/karma_as.hpp | 0 .../boost/spirit/include/karma_attr_cast.hpp | 0 .../boost/spirit/include/karma_auto.hpp | 0 .../boost/spirit/include/karma_auxiliary.hpp | 0 .../boost/spirit/include/karma_binary.hpp | 0 .../boost/spirit/include/karma_bool.hpp | 0 .../boost/spirit/include/karma_buffer.hpp | 0 .../spirit/include/karma_center_alignment.hpp | 0 .../boost/spirit/include/karma_char.hpp | 0 .../boost/spirit/include/karma_char_.hpp | 0 .../boost/spirit/include/karma_char_class.hpp | 0 .../boost/spirit/include/karma_columns.hpp | 0 .../boost/spirit/include/karma_delimit.hpp | 0 .../boost/spirit/include/karma_directive.hpp | 0 .../boost/spirit/include/karma_domain.hpp | 0 .../boost/spirit/include/karma_duplicate.hpp | 0 .../boost/spirit/include/karma_eol.hpp | 0 .../boost/spirit/include/karma_eps.hpp | 0 .../boost/spirit/include/karma_format.hpp | 0 .../spirit/include/karma_format_attr.hpp | 0 .../spirit/include/karma_format_auto.hpp | 0 .../boost/spirit/include/karma_generate.hpp | 0 .../spirit/include/karma_generate_attr.hpp | 0 .../spirit/include/karma_generate_auto.hpp | 0 .../boost/spirit/include/karma_grammar.hpp | 0 .../boost/spirit/include/karma_int.hpp | 0 .../boost/spirit/include/karma_kleene.hpp | 0 .../boost/spirit/include/karma_lazy.hpp | 0 .../spirit/include/karma_left_alignment.hpp | 0 .../boost/spirit/include/karma_list.hpp | 0 .../boost/spirit/include/karma_maxwidth.hpp | 0 .../boost/spirit/include/karma_no_delimit.hpp | 0 .../spirit/include/karma_nonterminal.hpp | 0 .../spirit/include/karma_not_predicate.hpp | 0 .../boost/spirit/include/karma_numeric.hpp | 0 .../boost/spirit/include/karma_omit.hpp | 0 .../boost/spirit/include/karma_operator.hpp | 0 .../boost/spirit/include/karma_optional.hpp | 0 .../include/karma_phoenix_attributes.hpp | 0 .../boost/spirit/include/karma_plus.hpp | 0 .../boost/spirit/include/karma_real.hpp | 0 .../boost/spirit/include/karma_repeat.hpp | 0 .../spirit/include/karma_right_alignment.hpp | 0 .../boost/spirit/include/karma_rule.hpp | 0 .../boost/spirit/include/karma_sequence.hpp | 0 .../boost/spirit/include/karma_stream.hpp | 0 .../spirit/include/karma_strict_relaxed.hpp | 0 .../boost/spirit/include/karma_string.hpp | 0 .../boost/spirit/include/karma_symbols.hpp | 0 .../boost/spirit/include/karma_uint.hpp | 0 .../spirit/include/karma_upper_lower_case.hpp | 0 .../boost/spirit/include/karma_verbatim.hpp | 0 .../boost/spirit/include/karma_what.hpp | 0 .../include/boost/spirit/include/lex.hpp | 0 .../spirit/include/lex_char_token_def.hpp | 0 .../boost/spirit/include/lex_domain.hpp | 0 .../include/lex_generate_static_lexertl.hpp | 0 .../boost/spirit/include/lex_lexer.hpp | 0 .../boost/spirit/include/lex_lexertl.hpp | 0 .../include/lex_lexertl_position_token.hpp | 0 .../spirit/include/lex_lexertl_token.hpp | 0 .../boost/spirit/include/lex_plain_token.hpp | 0 .../boost/spirit/include/lex_primitives.hpp | 0 .../spirit/include/lex_static_lexertl.hpp | 0 .../spirit/include/lex_tokenize_and_parse.hpp | 0 .../include/lex_tokenize_and_parse_attr.hpp | 0 .../include/boost/spirit/include/phoenix.hpp | 0 .../include/boost/spirit/include/phoenix1.hpp | 0 .../boost/spirit/include/phoenix1_actor.hpp | 0 .../boost/spirit/include/phoenix1_binders.hpp | 0 .../boost/spirit/include/phoenix1_casts.hpp | 0 .../spirit/include/phoenix1_closures.hpp | 0 .../spirit/include/phoenix1_composite.hpp | 0 .../spirit/include/phoenix1_functions.hpp | 0 .../boost/spirit/include/phoenix1_new.hpp | 0 .../spirit/include/phoenix1_operators.hpp | 0 .../spirit/include/phoenix1_primitives.hpp | 0 .../spirit/include/phoenix1_special_ops.hpp | 0 .../spirit/include/phoenix1_statements.hpp | 0 .../spirit/include/phoenix1_tuple_helpers.hpp | 0 .../boost/spirit/include/phoenix1_tuples.hpp | 0 .../spirit/include/phoenix_algorithm.hpp | 0 .../boost/spirit/include/phoenix_bind.hpp | 0 .../spirit/include/phoenix_container.hpp | 0 .../boost/spirit/include/phoenix_core.hpp | 0 .../boost/spirit/include/phoenix_function.hpp | 0 .../boost/spirit/include/phoenix_fusion.hpp | 0 .../boost/spirit/include/phoenix_limits.hpp | 0 .../boost/spirit/include/phoenix_object.hpp | 0 .../boost/spirit/include/phoenix_operator.hpp | 0 .../boost/spirit/include/phoenix_scope.hpp | 0 .../spirit/include/phoenix_statement.hpp | 0 .../boost/spirit/include/phoenix_stl.hpp | 0 .../boost/spirit/include/phoenix_version.hpp | 0 .../include/boost/spirit/include/qi.hpp | 0 .../boost/spirit/include/qi_action.hpp | 0 .../boost/spirit/include/qi_alternative.hpp | 0 .../boost/spirit/include/qi_and_predicate.hpp | 0 .../include/boost/spirit/include/qi_as.hpp | 0 .../boost/spirit/include/qi_as_string.hpp | 0 .../include/boost/spirit/include/qi_attr.hpp | 0 .../boost/spirit/include/qi_attr_cast.hpp | 0 .../include/boost/spirit/include/qi_auto.hpp | 0 .../boost/spirit/include/qi_auxiliary.hpp | 0 .../boost/spirit/include/qi_binary.hpp | 0 .../include/boost/spirit/include/qi_bool.hpp | 0 .../include/boost/spirit/include/qi_char.hpp | 0 .../include/boost/spirit/include/qi_char_.hpp | 0 .../boost/spirit/include/qi_char_class.hpp | 0 .../include/boost/spirit/include/qi_copy.hpp | 0 .../include/boost/spirit/include/qi_core.hpp | 0 .../boost/spirit/include/qi_difference.hpp | 0 .../boost/spirit/include/qi_directive.hpp | 0 .../boost/spirit/include/qi_domain.hpp | 0 .../include/boost/spirit/include/qi_eoi.hpp | 0 .../include/boost/spirit/include/qi_eol.hpp | 0 .../include/boost/spirit/include/qi_eps.hpp | 0 .../boost/spirit/include/qi_expect.hpp | 0 .../boost/spirit/include/qi_grammar.hpp | 0 .../include/boost/spirit/include/qi_hold.hpp | 0 .../include/boost/spirit/include/qi_int.hpp | 0 .../boost/spirit/include/qi_kleene.hpp | 0 .../include/boost/spirit/include/qi_lazy.hpp | 0 .../boost/spirit/include/qi_lexeme.hpp | 0 .../include/boost/spirit/include/qi_list.hpp | 0 .../include/boost/spirit/include/qi_lit.hpp | 0 .../include/boost/spirit/include/qi_match.hpp | 0 .../boost/spirit/include/qi_match_attr.hpp | 0 .../boost/spirit/include/qi_match_auto.hpp | 0 .../boost/spirit/include/qi_matches.hpp | 0 .../boost/spirit/include/qi_no_case.hpp | 0 .../boost/spirit/include/qi_no_skip.hpp | 0 .../boost/spirit/include/qi_nonterminal.hpp | 0 .../boost/spirit/include/qi_not_predicate.hpp | 0 .../boost/spirit/include/qi_numeric.hpp | 0 .../include/boost/spirit/include/qi_omit.hpp | 0 .../boost/spirit/include/qi_operator.hpp | 0 .../boost/spirit/include/qi_optional.hpp | 0 .../include/boost/spirit/include/qi_parse.hpp | 0 .../boost/spirit/include/qi_parse_attr.hpp | 0 .../boost/spirit/include/qi_parse_auto.hpp | 0 .../boost/spirit/include/qi_permutation.hpp | 0 .../include/boost/spirit/include/qi_plus.hpp | 0 .../include/boost/spirit/include/qi_raw.hpp | 0 .../include/boost/spirit/include/qi_real.hpp | 0 .../boost/spirit/include/qi_repeat.hpp | 0 .../include/boost/spirit/include/qi_rule.hpp | 0 .../boost/spirit/include/qi_sequence.hpp | 0 .../boost/spirit/include/qi_sequential_or.hpp | 0 .../include/boost/spirit/include/qi_skip.hpp | 0 .../boost/spirit/include/qi_stream.hpp | 0 .../boost/spirit/include/qi_string.hpp | 0 .../boost/spirit/include/qi_symbols.hpp | 0 .../include/boost/spirit/include/qi_uint.hpp | 0 .../include/boost/spirit/include/qi_what.hpp | 0 .../include/boost/spirit/include/support.hpp | 0 .../include/support_adapt_adt_attributes.hpp | 0 .../boost/spirit/include/support_any.hpp | 0 .../boost/spirit/include/support_any_if.hpp | 0 .../spirit/include/support_any_if_ns.hpp | 0 .../boost/spirit/include/support_any_ns.hpp | 0 .../boost/spirit/include/support_argument.hpp | 0 .../boost/spirit/include/support_ascii.hpp | 0 .../spirit/include/support_attributes.hpp | 0 .../spirit/include/support_attributes_fwd.hpp | 0 .../boost/spirit/include/support_auto.hpp | 0 .../spirit/include/support_char_class.hpp | 0 .../spirit/include/support_container.hpp | 0 .../include/support_extended_variant.hpp | 0 .../boost/spirit/include/support_info.hpp | 0 .../spirit/include/support_iso8859_1.hpp | 0 .../include/support_istream_iterator.hpp | 0 .../include/support_line_pos_iterator.hpp | 0 .../boost/spirit/include/support_locals.hpp | 0 .../spirit/include/support_look_ahead.hpp | 0 .../boost/spirit/include/support_modify.hpp | 0 .../spirit/include/support_multi_pass.hpp | 0 .../spirit/include/support_multi_pass_fwd.hpp | 0 .../include/support_ostream_iterator.hpp | 0 .../boost/spirit/include/support_standard.hpp | 0 .../spirit/include/support_standard_wide.hpp | 0 .../spirit/include/support_string_traits.hpp | 0 .../boost/spirit/include/support_unused.hpp | 0 .../boost/spirit/include/support_utree.hpp | 0 .../include/boost/spirit/include/version.hpp | 0 .../boost/spirit/repository/home/karma.hpp | 0 .../repository/home/karma/directive.hpp | 0 .../home/karma/directive/confix.hpp | 0 .../repository/home/karma/nonterminal.hpp | 0 .../home/karma/nonterminal/subrule.hpp | 564 ++ .../boost/spirit/repository/home/qi.hpp | 0 .../spirit/repository/home/qi/directive.hpp | 0 .../repository/home/qi/directive/confix.hpp | 0 .../repository/home/qi/directive/distinct.hpp | 0 .../repository/home/qi/directive/kwd.hpp | 2 +- .../repository/home/qi/directive/seek.hpp | 0 .../spirit/repository/home/qi/nonterminal.hpp | 0 .../home/qi/nonterminal/subrule.hpp | 590 ++ .../spirit/repository/home/qi/operator.hpp | 0 .../home/qi/operator/detail/keywords.hpp | 0 .../repository/home/qi/operator/keywords.hpp | 4 +- .../spirit/repository/home/qi/primitive.hpp | 0 .../repository/home/qi/primitive/advance.hpp | 0 .../home/qi/primitive/flush_multi_pass.hpp | 0 .../repository/home/qi/primitive/iter_pos.hpp | 0 .../spirit/repository/home/support/confix.hpp | 0 .../repository/home/support/distinct.hpp | 0 .../home/support/flush_multi_pass.hpp | 0 .../spirit/repository/home/support/kwd.hpp | 0 .../spirit/repository/home/support/seek.hpp | 0 .../home/support/subrule_context.hpp | 0 .../boost/spirit/repository/include/karma.hpp | 0 .../repository/include/karma_confix.hpp | 0 .../repository/include/karma_directive.hpp | 0 .../repository/include/karma_nonterminal.hpp | 0 .../repository/include/karma_subrule.hpp | 0 .../boost/spirit/repository/include/qi.hpp | 0 .../spirit/repository/include/qi_advance.hpp | 0 .../spirit/repository/include/qi_confix.hpp | 0 .../repository/include/qi_directive.hpp | 0 .../spirit/repository/include/qi_distinct.hpp | 0 .../include/qi_flush_multi_pass.hpp | 0 .../spirit/repository/include/qi_iter_pos.hpp | 0 .../spirit/repository/include/qi_keywords.hpp | 0 .../spirit/repository/include/qi_kwd.hpp | 0 .../repository/include/qi_nonterminal.hpp | 0 .../repository/include/qi_primitive.hpp | 0 .../spirit/repository/include/qi_seek.hpp | 0 .../spirit/repository/include/qi_subrule.hpp | 0 .../include/boost/spirit/version.hpp | 0 .../include/boost/static_assert.hpp | 23 +- .../include/boost/strong_typedef.hpp | 0 .../include/boost/swap.hpp | 0 .../include/boost/system/api_config.hpp | 0 .../include/boost/system/config.hpp | 0 .../include/boost/system/cygwin_error.hpp | 0 .../boost/system/detail/error_code.ipp | 0 .../detail/local_free_on_destruction.hpp | 0 .../include/boost/system/error_code.hpp | 0 .../include/boost/system/linux_error.hpp | 0 .../include/boost/system/system_error.hpp | 0 .../include/boost/system/windows_error.hpp | 0 .../include/boost/thread.hpp | 0 .../include/boost/thread/barrier.hpp | 17 +- .../include/boost/thread/caller_context.hpp | 7 +- .../include/boost/thread/completion_latch.hpp | 1 - .../concurrent_queues/deque_adaptor.hpp | 209 + .../thread/concurrent_queues/deque_base.hpp | 202 + .../thread/concurrent_queues/deque_views.hpp | 165 + .../detail/sync_deque_base.hpp | 223 + .../detail/sync_queue_base.hpp | 223 + .../concurrent_queues/queue_adaptor.hpp | 209 + .../thread/concurrent_queues/queue_base.hpp | 202 + .../concurrent_queues/queue_op_status.hpp | 46 + .../thread/concurrent_queues/queue_views.hpp | 144 + .../concurrent_queues/sync_bounded_queue.hpp | 725 ++ .../thread/concurrent_queues/sync_deque.hpp | 327 + .../concurrent_queues/sync_priority_queue.hpp | 369 + .../thread/concurrent_queues/sync_queue.hpp | 335 + .../concurrent_queues/sync_timed_queue.hpp | 468 ++ .../include/boost/thread/condition.hpp | 0 .../boost/thread/condition_variable.hpp | 0 .../include/boost/thread/csbl/deque.hpp | 45 + .../include/boost/thread/csbl/devector.hpp | 102 + .../include/boost/thread/csbl/functional.hpp | 0 .../include/boost/thread/csbl/list.hpp | 35 + .../include/boost/thread/csbl/memory.hpp | 0 .../thread/csbl/memory/allocator_arg.hpp | 0 .../thread/csbl/memory/allocator_traits.hpp | 0 .../boost/thread/csbl/memory/config.hpp | 0 .../thread/csbl/memory/default_delete.hpp | 41 + .../thread/csbl/memory/pointer_traits.hpp | 0 .../thread/csbl/memory/scoped_allocator.hpp | 0 .../boost/thread/csbl/memory/shared_ptr.hpp | 42 + .../boost/thread/csbl/memory/unique_ptr.hpp | 28 + .../include/boost/thread/csbl/queue.hpp | 45 + .../include/boost/thread/csbl/tuple.hpp | 49 + .../include/boost/thread/csbl/vector.hpp | 35 + .../include/boost/thread/cv_status.hpp | 0 .../include/boost/thread/detail/config.hpp | 472 ++ .../include/boost/thread/detail/counter.hpp | 0 .../include/boost/thread/detail/delete.hpp | 2 +- .../boost/thread/detail/force_cast.hpp | 0 .../boost/thread/detail/function_wrapper.hpp | 2 +- .../include/boost/thread/detail/invoke.hpp | 1604 +++++ .../include/boost/thread/detail/invoker.hpp | 106 +- .../boost/thread/detail/is_convertible.hpp | 0 .../boost/thread/detail/lockable_wrapper.hpp | 0 .../include/boost/thread/detail/log.hpp | 0 .../thread/detail/make_tuple_indices.hpp | 0 .../include/boost/thread/detail/memory.hpp | 0 .../include/boost/thread/detail/move.hpp | 374 + .../boost/thread/detail/nullary_function.hpp | 39 +- .../include/boost/thread/detail/platform.hpp | 0 .../include/boost/thread/detail/singleton.hpp | 0 .../include/boost/thread/detail/thread.hpp | 873 +++ .../boost/thread/detail/thread_group.hpp | 3 +- .../boost/thread/detail/thread_heap_alloc.hpp | 0 .../thread/detail/thread_interruption.hpp | 0 .../include/boost/thread/detail/tss_hooks.hpp | 0 .../boost/thread/detail/variadic_footer.hpp | 0 .../boost/thread/detail/variadic_header.hpp | 0 .../include/boost/thread/detail/work.hpp | 0 .../include/boost/thread/exceptional_ptr.hpp | 0 .../include/boost/thread/exceptions.hpp | 0 .../include/boost/thread/executor.hpp | 0 .../thread/executors/basic_thread_pool.hpp | 106 +- .../detail/priority_executor_base.hpp | 77 + .../detail/scheduled_executor_base.hpp | 66 + .../boost/thread/executors/executor.hpp | 148 + .../thread/executors/executor_adaptor.hpp | 22 +- .../thread/executors/generic_executor_ref.hpp | 213 + .../thread/executors/inline_executor.hpp | 54 +- .../boost/thread/executors/loop_executor.hpp | 70 +- .../executors/scheduled_thread_pool.hpp | 48 + .../boost/thread/executors/scheduler.hpp | 271 + .../thread/executors/scheduling_adaptor.hpp | 51 + .../thread/executors/serial_executor.hpp | 61 +- .../thread/executors/serial_executor_cont.hpp | 170 + .../thread/executors/thread_executor.hpp | 157 + .../include/boost/thread/executors/work.hpp | 30 + .../boost/thread/externally_locked.hpp | 0 .../boost/thread/externally_locked_stream.hpp | 0 .../include/boost/thread/future.hpp | 5660 ++++++++++++++++ .../boost/thread/future_error_code.hpp | 0 .../boost/thread/futures/future_error.hpp | 98 + .../thread/futures/future_error_code.hpp | 61 + .../boost/thread/futures/future_status.hpp | 30 + .../boost/thread/futures/is_future_type.hpp | 21 + .../include/boost/thread/futures/launch.hpp | 32 + .../boost/thread/futures/wait_for_all.hpp | 74 + .../boost/thread/futures/wait_for_any.hpp | 161 + .../boost/thread/is_locked_by_this_thread.hpp | 0 .../include/boost/thread/latch.hpp | 7 +- .../include/boost/thread/lock_algorithms.hpp | 0 .../include/boost/thread/lock_concepts.hpp | 0 .../include/boost/thread/lock_factories.hpp | 0 .../include/boost/thread/lock_guard.hpp | 0 .../include/boost/thread/lock_options.hpp | 0 .../include/boost/thread/lock_traits.hpp | 0 .../include/boost/thread/lock_types.hpp | 18 +- .../include/boost/thread/lockable_adapter.hpp | 0 .../boost/thread/lockable_concepts.hpp | 0 .../include/boost/thread/lockable_traits.hpp | 0 .../include/boost/thread/locks.hpp | 1 + .../include/boost/thread/mutex.hpp | 0 .../include/boost/thread/null_mutex.hpp | 0 .../include/boost/thread/once.hpp | 0 .../include/boost/thread/ostream_buffer.hpp | 0 .../include/boost/thread/poly_lockable.hpp | 4 +- .../boost/thread/poly_lockable_adapter.hpp | 0 .../boost/thread/poly_shared_lockable.hpp | 0 .../thread/poly_shared_lockable_adapter.hpp | 0 .../thread/pthread/condition_variable.hpp | 429 ++ .../thread/pthread/condition_variable_fwd.hpp | 361 + .../include/boost/thread/pthread/mutex.hpp | 361 + .../include/boost/thread/pthread/once.hpp | 0 .../boost/thread/pthread/once_atomic.hpp | 4 +- .../pthread/pthread_mutex_scoped_lock.hpp | 0 .../boost/thread/pthread/recursive_mutex.hpp | 19 +- .../boost/thread/pthread/shared_mutex.hpp | 716 ++ .../thread/pthread/shared_mutex_assert.hpp | 0 .../boost/thread/pthread/thread_data.hpp | 292 + .../thread/pthread/thread_heap_alloc.hpp | 0 .../include/boost/thread/pthread/timespec.hpp | 0 .../include/boost/thread/recursive_mutex.hpp | 0 .../include/boost/thread/reverse_lock.hpp | 0 .../include/boost/thread/scoped_thread.hpp | 3 + .../boost/thread/shared_lock_guard.hpp | 0 .../include/boost/thread/shared_mutex.hpp | 50 + .../include/boost/thread/strict_lock.hpp | 0 .../boost/thread/sync_bounded_queue.hpp | 16 + .../include/boost/thread/sync_queue.hpp | 16 + .../boost/thread/synchronized_value.hpp | 0 .../include/boost/thread/testable_mutex.hpp | 0 .../include/boost/thread/thread.hpp | 0 .../include/boost/thread/thread_functors.hpp | 2 +- .../include/boost/thread/thread_guard.hpp | 0 .../include/boost/thread/thread_only.hpp | 0 .../include/boost/thread/thread_pool.hpp | 0 .../include/boost/thread/thread_time.hpp | 0 .../include/boost/thread/tss.hpp | 16 +- .../include/boost/thread/user_scheduler.hpp | 16 +- .../include/boost/thread/v2/shared_mutex.hpp | 0 .../include/boost/thread/v2/thread.hpp | 155 + .../thread/win32/basic_recursive_mutex.hpp | 0 .../boost/thread/win32/basic_timed_mutex.hpp | 13 +- .../boost/thread/win32/condition_variable.hpp | 567 ++ .../boost/thread/win32/interlocked_read.hpp | 9 +- .../boost/thread/win32/mfc_thread_init.hpp | 0 .../include/boost/thread/win32/mutex.hpp | 0 .../include/boost/thread/win32/once.hpp | 89 +- .../boost/thread/win32/recursive_mutex.hpp | 0 .../boost/thread/win32/shared_mutex.hpp | 903 +++ .../boost/thread/win32/thread_data.hpp | 328 + .../boost/thread/win32/thread_heap_alloc.hpp | 0 .../boost/thread/win32/thread_primitives.hpp | 670 ++ .../include/boost/thread/with_lock_guard.hpp | 5 +- .../include/boost/thread/xtime.hpp | 0 .../include/boost/throw_exception.hpp | 0 .../include/boost/timer.hpp | 0 .../include/boost/token_functions.hpp | 5 +- .../include/boost/token_iterator.hpp | 12 +- .../include/boost/tokenizer.hpp | 0 .../boost/tti/detail/dcomp_mem_fun.hpp | 0 .../include/boost/tti/detail/ddata.hpp | 0 .../include/boost/tti/detail/ddeftype.hpp | 0 .../include/boost/tti/detail/dftclass.hpp | 0 .../include/boost/tti/detail/dfunction.hpp | 0 .../include/boost/tti/detail/dlambda.hpp | 0 .../include/boost/tti/detail/dmem_data.hpp | 0 .../include/boost/tti/detail/dmem_fun.hpp | 0 .../include/boost/tti/detail/dmem_type.hpp | 0 .../include/boost/tti/detail/dmetafunc.hpp | 0 .../include/boost/tti/detail/dnotype.hpp | 0 .../include/boost/tti/detail/dnullptr.hpp | 0 .../include/boost/tti/detail/dplaceholder.hpp | 0 .../include/boost/tti/detail/dptmf.hpp | 0 .../boost/tti/detail/dstatic_mem_data.hpp | 0 .../boost/tti/detail/dstatic_mem_fun.hpp | 0 .../include/boost/tti/detail/dtclass.hpp | 0 .../include/boost/tti/detail/dtemplate.hpp | 0 .../boost/tti/detail/dtemplate_params.hpp | 0 .../include/boost/tti/detail/dtfunction.hpp | 0 .../include/boost/tti/detail/dtype.hpp | 0 .../boost/tti/detail/dvm_template_params.hpp | 0 .../include/boost/tti/gen/has_data_gen.hpp | 0 .../boost/tti/gen/has_function_gen.hpp | 0 .../boost/tti/gen/has_member_data_gen.hpp | 0 .../boost/tti/gen/has_member_function_gen.hpp | 0 .../tti/gen/has_static_member_data_gen.hpp | 0 .../gen/has_static_member_function_gen.hpp | 0 .../boost/tti/gen/has_template_gen.hpp | 0 .../include/boost/tti/gen/has_type_gen.hpp | 0 .../include/boost/tti/gen/member_type_gen.hpp | 0 .../include/boost/tti/gen/namespace_gen.hpp | 0 .../include/boost/tti/has_data.hpp | 0 .../include/boost/tti/has_function.hpp | 0 .../include/boost/tti/has_member_data.hpp | 0 .../include/boost/tti/has_member_function.hpp | 0 .../boost/tti/has_static_member_data.hpp | 0 .../boost/tti/has_static_member_function.hpp | 0 .../include/boost/tti/has_template.hpp | 0 .../include/boost/tti/has_type.hpp | 0 .../include/boost/tti/member_type.hpp | 0 .../include/boost/tti/tti.hpp | 0 .../boost/tuple/detail/tuple_basic.hpp | 0 .../include/boost/tuple/tuple.hpp | 0 .../include/boost/tuple/tuple_comparison.hpp | 0 .../include/boost/tuple/tuple_io.hpp | 0 .../include/boost/type.hpp | 0 .../boost-1.62.0/include/boost/type_index.hpp | 265 + .../boost/type_index/ctti_type_index.hpp | 212 + .../detail/compile_time_type_info.hpp | 289 + .../type_index/detail/ctti_register_class.hpp | 40 + .../type_index/detail/stl_register_class.hpp | 40 + .../boost/type_index/stl_type_index.hpp | 272 + .../boost/type_index/type_index_facade.hpp | 300 + .../include/boost/type_traits.hpp | 150 + .../include/boost/type_traits/add_const.hpp | 17 +- .../include/boost/type_traits/add_cv.hpp | 9 +- .../type_traits/add_lvalue_reference.hpp | 27 + .../include/boost/type_traits/add_pointer.hpp | 61 + .../boost/type_traits/add_reference.hpp | 59 + .../type_traits/add_rvalue_reference.hpp | 10 +- .../boost/type_traits/add_volatile.hpp | 9 +- .../boost/type_traits/aligned_storage.hpp | 138 + .../boost/type_traits/alignment_of.hpp | 119 + .../boost/type_traits/alignment_traits.hpp | 0 .../boost/type_traits/arithmetic_traits.hpp | 0 .../boost/type_traits/array_traits.hpp | 0 .../type_traits/broken_compiler_spec.hpp | 21 + .../include/boost/type_traits/common_type.hpp | 145 + .../boost/type_traits/composite_traits.hpp | 0 .../include/boost/type_traits/conditional.hpp | 9 +- .../include/boost/type_traits/config.hpp | 21 + .../boost/type_traits/conversion_traits.hpp | 0 .../include/boost/type_traits/copy_cv.hpp | 34 + .../include/boost/type_traits/cv_traits.hpp | 0 .../include/boost/type_traits/decay.hpp | 43 + .../include/boost/type_traits/declval.hpp | 44 + .../type_traits/detail/bool_trait_def.hpp | 23 +- .../type_traits/detail/bool_trait_undef.hpp | 0 .../detail/common_arithmetic_type.hpp | 218 + .../type_traits/detail/common_type_imp.hpp | 0 .../type_traits/detail/common_type_impl.hpp | 107 + .../detail/composite_member_pointer_type.hpp | 113 + .../detail/composite_pointer_type.hpp | 153 + .../boost/type_traits/detail/config.hpp | 72 + .../type_traits/detail/cv_traits_impl.hpp | 0 .../boost/type_traits/detail/false_result.hpp | 0 .../detail/has_binary_operator.hpp | 23 +- .../detail/has_postfix_operator.hpp | 23 +- .../detail/has_prefix_operator.hpp | 25 +- .../boost/type_traits/detail/ice_and.hpp | 7 + .../boost/type_traits/detail/ice_eq.hpp | 7 + .../boost/type_traits/detail/ice_not.hpp | 7 + .../boost/type_traits/detail/ice_or.hpp | 7 + .../detail/is_function_ptr_helper.hpp | 18 +- .../detail/is_function_ptr_tester.hpp | 17 +- .../detail/is_mem_fun_pointer_impl.hpp | 16 +- .../detail/is_mem_fun_pointer_tester.hpp | 18 +- .../boost/type_traits/detail/mp_defer.hpp | 56 + .../type_traits/detail/size_t_trait_def.hpp | 0 .../type_traits/detail/size_t_trait_undef.hpp | 0 .../detail/template_arity_spec.hpp | 16 + .../type_traits/detail/type_trait_def.hpp | 0 .../type_traits/detail/type_trait_undef.hpp | 0 .../include/boost/type_traits/detail/wrap.hpp | 0 .../boost/type_traits/detail/yes_no_type.hpp | 0 .../include/boost/type_traits/extent.hpp | 8 +- .../type_traits/floating_point_promotion.hpp | 20 + .../boost/type_traits/function_traits.hpp | 0 .../include/boost/type_traits/has_bit_and.hpp | 49 + .../boost/type_traits/has_bit_and_assign.hpp | 55 + .../include/boost/type_traits/has_bit_or.hpp | 49 + .../boost/type_traits/has_bit_or_assign.hpp | 55 + .../include/boost/type_traits/has_bit_xor.hpp | 49 + .../boost/type_traits/has_bit_xor_assign.hpp | 55 + .../boost/type_traits/has_complement.hpp | 32 + .../boost/type_traits/has_dereference.hpp | 10 +- .../include/boost/type_traits/has_divides.hpp | 40 + .../boost/type_traits/has_divides_assign.hpp | 47 + .../boost/type_traits/has_equal_to.hpp | 49 + .../include/boost/type_traits/has_greater.hpp | 49 + .../boost/type_traits/has_greater_equal.hpp | 49 + .../boost/type_traits/has_left_shift.hpp | 49 + .../type_traits/has_left_shift_assign.hpp | 55 + .../include/boost/type_traits/has_less.hpp | 49 + .../boost/type_traits/has_less_equal.hpp | 49 + .../boost/type_traits/has_logical_and.hpp | 40 + .../boost/type_traits/has_logical_not.hpp | 0 .../boost/type_traits/has_logical_or.hpp | 40 + .../include/boost/type_traits/has_minus.hpp | 60 + .../boost/type_traits/has_minus_assign.hpp | 65 + .../include/boost/type_traits/has_modulus.hpp | 49 + .../boost/type_traits/has_modulus_assign.hpp | 55 + .../boost/type_traits/has_multiplies.hpp | 40 + .../type_traits/has_multiplies_assign.hpp | 47 + .../include/boost/type_traits/has_negate.hpp | 0 .../boost/type_traits/has_new_operator.hpp | 23 +- .../boost/type_traits/has_not_equal_to.hpp | 49 + .../boost/type_traits/has_nothrow_assign.hpp | 84 + .../type_traits/has_nothrow_constructor.hpp | 73 + .../boost/type_traits/has_nothrow_copy.hpp | 82 + .../type_traits/has_nothrow_destructor.hpp | 47 + .../boost/type_traits/has_operator.hpp | 0 .../include/boost/type_traits/has_plus.hpp | 54 + .../boost/type_traits/has_plus_assign.hpp | 66 + .../boost/type_traits/has_post_decrement.hpp | 44 + .../boost/type_traits/has_post_increment.hpp | 44 + .../boost/type_traits/has_pre_decrement.hpp | 44 + .../boost/type_traits/has_pre_increment.hpp | 44 + .../boost/type_traits/has_right_shift.hpp | 49 + .../type_traits/has_right_shift_assign.hpp | 55 + .../boost/type_traits/has_trivial_assign.hpp | 52 + .../type_traits/has_trivial_constructor.hpp | 57 + .../boost/type_traits/has_trivial_copy.hpp | 63 + .../type_traits/has_trivial_destructor.hpp | 48 + .../type_traits/has_trivial_move_assign.hpp | 73 + .../has_trivial_move_constructor.hpp | 78 + .../boost/type_traits/has_unary_minus.hpp | 0 .../boost/type_traits/has_unary_plus.hpp | 0 .../type_traits/has_virtual_destructor.hpp | 26 + .../include/boost/type_traits/ice.hpp | 0 .../boost/type_traits/integral_constant.hpp | 106 + .../boost/type_traits/integral_promotion.hpp | 33 +- .../include/boost/type_traits/intrinsics.hpp | 380 ++ .../include/boost/type_traits/is_abstract.hpp | 13 +- .../boost/type_traits/is_arithmetic.hpp | 22 + .../include/boost/type_traits/is_array.hpp | 43 + .../boost/type_traits/is_assignable.hpp | 77 + .../boost/type_traits/is_base_and_derived.hpp | 24 +- .../include/boost/type_traits/is_base_of.hpp | 39 + .../boost/type_traits/is_base_of_tr1.hpp | 37 + .../include/boost/type_traits/is_class.hpp | 114 + .../include/boost/type_traits/is_complex.hpp | 24 + .../include/boost/type_traits/is_compound.hpp | 24 + .../include/boost/type_traits/is_const.hpp | 47 + .../boost/type_traits/is_constructible.hpp | 80 + .../boost/type_traits/is_convertible.hpp | 124 +- .../boost/type_traits/is_copy_assignable.hpp | 141 + .../type_traits/is_copy_constructible.hpp | 187 + .../type_traits/is_default_constructible.hpp | 84 + .../boost/type_traits/is_destructible.hpp | 61 + .../include/boost/type_traits/is_empty.hpp | 120 + .../include/boost/type_traits/is_enum.hpp | 166 + .../include/boost/type_traits/is_final.hpp | 30 + .../include/boost/type_traits/is_float.hpp | 20 + .../boost/type_traits/is_floating_point.hpp | 30 + .../include/boost/type_traits/is_function.hpp | 102 + .../boost/type_traits/is_fundamental.hpp | 26 + .../include/boost/type_traits/is_integral.hpp | 89 + .../boost/type_traits/is_lvalue_reference.hpp | 50 + .../is_member_function_pointer.hpp | 120 + .../type_traits/is_member_object_pointer.hpp | 24 + .../boost/type_traits/is_member_pointer.hpp | 45 + .../is_nothrow_move_assignable.hpp | 81 + .../is_nothrow_move_constructible.hpp | 87 + .../include/boost/type_traits/is_object.hpp | 28 + .../include/boost/type_traits/is_pod.hpp | 59 + .../include/boost/type_traits/is_pointer.hpp | 47 + .../boost/type_traits/is_polymorphic.hpp | 19 +- .../boost/type_traits/is_reference.hpp | 30 + .../boost/type_traits/is_rvalue_reference.hpp | 25 + .../include/boost/type_traits/is_same.hpp | 12 +- .../include/boost/type_traits/is_scalar.hpp | 27 + .../include/boost/type_traits/is_signed.hpp | 163 + .../boost/type_traits/is_stateless.hpp | 33 + .../include/boost/type_traits/is_union.hpp | 31 + .../include/boost/type_traits/is_unsigned.hpp | 163 + .../boost/type_traits/is_virtual_base_of.hpp | 105 + .../include/boost/type_traits/is_void.hpp | 26 + .../include/boost/type_traits/is_volatile.hpp | 46 + .../include/boost/type_traits/make_signed.hpp | 131 + .../boost/type_traits/make_unsigned.hpp | 130 + .../boost/type_traits/object_traits.hpp | 0 .../include/boost/type_traits/promote.hpp | 20 + .../include/boost/type_traits/rank.hpp | 10 +- .../boost/type_traits/reference_traits.hpp | 0 .../boost/type_traits/remove_all_extents.hpp | 35 + .../boost/type_traits/remove_bounds.hpp | 21 + .../boost/type_traits/remove_const.hpp | 33 + .../include/boost/type_traits/remove_cv.hpp | 40 + .../boost/type_traits/remove_extent.hpp | 35 + .../boost/type_traits/remove_pointer.hpp | 77 + .../boost/type_traits/remove_reference.hpp | 54 + .../boost/type_traits/remove_volatile.hpp | 34 + .../include/boost/type_traits/same_traits.hpp | 0 .../boost/type_traits/transform_traits.hpp | 0 .../type_traits/transform_traits_spec.hpp | 0 .../boost/type_traits/type_identity.hpp | 22 + .../boost/type_traits/type_with_alignment.hpp | 261 + .../include/boost/typeof/dmc/typeof_impl.hpp | 0 .../include/boost/typeof/encode_decode.hpp | 0 .../boost/typeof/encode_decode_params.hpp | 0 .../boost/typeof/incr_registration_group.hpp | 0 .../include/boost/typeof/int_encoding.hpp | 0 .../boost/typeof/integral_template_param.hpp | 0 .../include/boost/typeof/message.hpp | 0 .../include/boost/typeof/modifiers.hpp | 0 .../include/boost/typeof/msvc/typeof_impl.hpp | 0 .../include/boost/typeof/native.hpp | 0 .../boost/typeof/pointers_data_members.hpp | 0 .../boost/typeof/register_functions.hpp | 0 .../typeof/register_functions_iterate.hpp | 0 .../boost/typeof/register_fundamental.hpp | 0 .../boost/typeof/register_mem_functions.hpp | 0 .../include/boost/typeof/std/bitset.hpp | 0 .../include/boost/typeof/std/complex.hpp | 0 .../include/boost/typeof/std/deque.hpp | 0 .../include/boost/typeof/std/fstream.hpp | 0 .../include/boost/typeof/std/functional.hpp | 0 .../include/boost/typeof/std/iostream.hpp | 0 .../include/boost/typeof/std/istream.hpp | 0 .../include/boost/typeof/std/iterator.hpp | 0 .../include/boost/typeof/std/list.hpp | 0 .../include/boost/typeof/std/locale.hpp | 0 .../include/boost/typeof/std/map.hpp | 0 .../include/boost/typeof/std/memory.hpp | 0 .../include/boost/typeof/std/ostream.hpp | 0 .../include/boost/typeof/std/queue.hpp | 0 .../include/boost/typeof/std/set.hpp | 0 .../include/boost/typeof/std/sstream.hpp | 0 .../include/boost/typeof/std/stack.hpp | 0 .../include/boost/typeof/std/streambuf.hpp | 0 .../include/boost/typeof/std/string.hpp | 0 .../include/boost/typeof/std/utility.hpp | 0 .../include/boost/typeof/std/valarray.hpp | 0 .../include/boost/typeof/std/vector.hpp | 0 .../boost/typeof/template_encoding.hpp | 0 .../boost/typeof/template_template_param.hpp | 0 .../include/boost/typeof/type_encoding.hpp | 0 .../boost/typeof/type_template_param.hpp | 0 .../include/boost/typeof/typeof.hpp | 0 .../include/boost/typeof/typeof_impl.hpp | 0 .../include/boost/typeof/unsupported.hpp | 0 .../include/boost/typeof/vector.hpp | 0 .../include/boost/typeof/vector100.hpp | 0 .../include/boost/typeof/vector150.hpp | 0 .../include/boost/typeof/vector200.hpp | 0 .../include/boost/typeof/vector50.hpp | 0 .../include/boost/units/absolute.hpp | 0 .../include/boost/units/base_dimension.hpp | 0 .../include/boost/units/base_unit.hpp | 0 .../units/base_units/angle/arcminute.hpp | 0 .../units/base_units/angle/arcsecond.hpp | 0 .../boost/units/base_units/angle/degree.hpp | 0 .../boost/units/base_units/angle/gradian.hpp | 0 .../boost/units/base_units/angle/radian.hpp | 0 .../units/base_units/angle/revolution.hpp | 0 .../units/base_units/angle/steradian.hpp | 0 .../astronomical/astronomical_unit.hpp | 0 .../base_units/astronomical/light_day.hpp | 0 .../base_units/astronomical/light_hour.hpp | 0 .../base_units/astronomical/light_minute.hpp | 0 .../base_units/astronomical/light_second.hpp | 0 .../base_units/astronomical/light_year.hpp | 0 .../units/base_units/astronomical/parsec.hpp | 0 .../boost/units/base_units/cgs/biot.hpp | 0 .../boost/units/base_units/cgs/centimeter.hpp | 0 .../boost/units/base_units/cgs/gram.hpp | 0 .../units/base_units/imperial/conversions.hpp | 0 .../units/base_units/imperial/drachm.hpp | 0 .../units/base_units/imperial/fluid_ounce.hpp | 0 .../boost/units/base_units/imperial/foot.hpp | 0 .../units/base_units/imperial/furlong.hpp | 0 .../units/base_units/imperial/gallon.hpp | 0 .../boost/units/base_units/imperial/gill.hpp | 0 .../boost/units/base_units/imperial/grain.hpp | 0 .../base_units/imperial/hundredweight.hpp | 0 .../boost/units/base_units/imperial/inch.hpp | 0 .../units/base_units/imperial/league.hpp | 0 .../boost/units/base_units/imperial/mile.hpp | 0 .../boost/units/base_units/imperial/ounce.hpp | 0 .../boost/units/base_units/imperial/pint.hpp | 0 .../boost/units/base_units/imperial/pound.hpp | 0 .../boost/units/base_units/imperial/quart.hpp | 0 .../units/base_units/imperial/quarter.hpp | 0 .../boost/units/base_units/imperial/stone.hpp | 0 .../boost/units/base_units/imperial/thou.hpp | 0 .../boost/units/base_units/imperial/ton.hpp | 0 .../boost/units/base_units/imperial/yard.hpp | 0 .../units/base_units/information/bit.hpp | 41 + .../units/base_units/information/byte.hpp | 36 + .../units/base_units/information/hartley.hpp | 30 + .../units/base_units/information/nat.hpp | 30 + .../units/base_units/information/shannon.hpp | 36 + .../units/base_units/metric/angstrom.hpp | 0 .../boost/units/base_units/metric/are.hpp | 0 .../units/base_units/metric/atmosphere.hpp | 0 .../boost/units/base_units/metric/bar.hpp | 0 .../boost/units/base_units/metric/barn.hpp | 0 .../boost/units/base_units/metric/day.hpp | 0 .../boost/units/base_units/metric/fermi.hpp | 0 .../boost/units/base_units/metric/hectare.hpp | 0 .../boost/units/base_units/metric/hour.hpp | 0 .../boost/units/base_units/metric/knot.hpp | 0 .../boost/units/base_units/metric/liter.hpp | 0 .../boost/units/base_units/metric/micron.hpp | 0 .../boost/units/base_units/metric/minute.hpp | 0 .../boost/units/base_units/metric/mmHg.hpp | 0 .../units/base_units/metric/nautical_mile.hpp | 0 .../boost/units/base_units/metric/ton.hpp | 0 .../boost/units/base_units/metric/torr.hpp | 0 .../boost/units/base_units/metric/year.hpp | 0 .../boost/units/base_units/si/ampere.hpp | 0 .../boost/units/base_units/si/candela.hpp | 0 .../boost/units/base_units/si/kelvin.hpp | 0 .../boost/units/base_units/si/kilogram.hpp | 0 .../boost/units/base_units/si/meter.hpp | 0 .../boost/units/base_units/si/mole.hpp | 0 .../boost/units/base_units/si/second.hpp | 0 .../units/base_units/temperature/celsius.hpp | 0 .../base_units/temperature/conversions.hpp | 0 .../base_units/temperature/fahrenheit.hpp | 0 .../include/boost/units/base_units/us/cup.hpp | 0 .../boost/units/base_units/us/dram.hpp | 0 .../boost/units/base_units/us/fluid_dram.hpp | 0 .../boost/units/base_units/us/fluid_ounce.hpp | 0 .../boost/units/base_units/us/foot.hpp | 0 .../boost/units/base_units/us/gallon.hpp | 0 .../boost/units/base_units/us/gill.hpp | 0 .../boost/units/base_units/us/grain.hpp | 0 .../units/base_units/us/hundredweight.hpp | 0 .../boost/units/base_units/us/inch.hpp | 0 .../include/boost/units/base_units/us/mil.hpp | 0 .../boost/units/base_units/us/mile.hpp | 0 .../boost/units/base_units/us/minim.hpp | 0 .../boost/units/base_units/us/ounce.hpp | 0 .../boost/units/base_units/us/pint.hpp | 0 .../boost/units/base_units/us/pound.hpp | 0 .../boost/units/base_units/us/pound_force.hpp | 0 .../boost/units/base_units/us/quart.hpp | 0 .../boost/units/base_units/us/tablespoon.hpp | 0 .../boost/units/base_units/us/teaspoon.hpp | 0 .../include/boost/units/base_units/us/ton.hpp | 0 .../boost/units/base_units/us/yard.hpp | 0 .../include/boost/units/cmath.hpp | 0 .../include/boost/units/config.hpp | 98 + .../include/boost/units/conversion.hpp | 0 .../include/boost/units/derived_dimension.hpp | 0 .../boost/units/detail/absolute_impl.hpp | 0 .../include/boost/units/detail/cmath_impl.hpp | 0 .../boost/units/detail/conversion_impl.hpp | 0 .../include/boost/units/detail/dim_impl.hpp | 0 .../boost/units/detail/dimension_impl.hpp | 0 .../boost/units/detail/dimension_list.hpp | 0 .../boost/units/detail/dimensionless_unit.hpp | 0 .../units/detail/heterogeneous_conversion.hpp | 0 .../boost/units/detail/linear_algebra.hpp | 2 +- .../include/boost/units/detail/one.hpp | 0 .../include/boost/units/detail/ordinal.hpp | 0 .../units/detail/prevent_redefinition.hpp | 0 .../boost/units/detail/push_front_if.hpp | 0 .../boost/units/detail/push_front_or_add.hpp | 0 .../include/boost/units/detail/sort.hpp | 0 .../units/detail/static_rational_power.hpp | 0 .../include/boost/units/detail/unscale.hpp | 0 .../include/boost/units/detail/utility.hpp | 57 + .../include/boost/units/dim.hpp | 0 .../include/boost/units/dimension.hpp | 0 .../boost/units/dimensionless_quantity.hpp | 0 .../boost/units/dimensionless_type.hpp | 0 .../boost/units/dimensionless_unit.hpp | 0 .../include/boost/units/get_dimension.hpp | 0 .../include/boost/units/get_system.hpp | 0 .../boost/units/heterogeneous_system.hpp | 0 .../boost/units/homogeneous_system.hpp | 0 .../include/boost/units/io.hpp | 6 +- .../include/boost/units/is_dim.hpp | 0 .../include/boost/units/is_dimension_list.hpp | 0 .../include/boost/units/is_dimensionless.hpp | 0 .../boost/units/is_dimensionless_quantity.hpp | 0 .../boost/units/is_dimensionless_unit.hpp | 0 .../include/boost/units/is_quantity.hpp | 0 .../boost/units/is_quantity_of_dimension.hpp | 0 .../boost/units/is_quantity_of_system.hpp | 0 .../include/boost/units/is_unit.hpp | 0 .../boost/units/is_unit_of_dimension.hpp | 0 .../include/boost/units/is_unit_of_system.hpp | 0 .../include/boost/units/lambda.hpp | 0 .../include/boost/units/limits.hpp | 76 + .../include/boost/units/make_scaled_unit.hpp | 0 .../include/boost/units/make_system.hpp | 0 .../include/boost/units/operators.hpp | 0 .../boost/units/physical_dimensions.hpp | 0 .../physical_dimensions/absorbed_dose.hpp | 0 .../physical_dimensions/acceleration.hpp | 0 .../units/physical_dimensions/action.hpp | 0 .../units/physical_dimensions/activity.hpp | 0 .../units/physical_dimensions/amount.hpp | 0 .../angular_acceleration.hpp | 0 .../physical_dimensions/angular_momentum.hpp | 0 .../physical_dimensions/angular_velocity.hpp | 0 .../boost/units/physical_dimensions/area.hpp | 0 .../units/physical_dimensions/capacitance.hpp | 0 .../units/physical_dimensions/conductance.hpp | 0 .../physical_dimensions/conductivity.hpp | 0 .../units/physical_dimensions/current.hpp | 0 .../physical_dimensions/dose_equivalent.hpp | 0 .../physical_dimensions/dynamic_viscosity.hpp | 0 .../physical_dimensions/electric_charge.hpp | 0 .../electric_potential.hpp | 0 .../units/physical_dimensions/energy.hpp | 0 .../physical_dimensions/energy_density.hpp | 0 .../boost/units/physical_dimensions/force.hpp | 0 .../units/physical_dimensions/frequency.hpp | 0 .../physical_dimensions/heat_capacity.hpp | 0 .../units/physical_dimensions/illuminance.hpp | 0 .../units/physical_dimensions/impedance.hpp | 0 .../units/physical_dimensions/inductance.hpp | 0 .../units/physical_dimensions/information.hpp | 44 + .../kinematic_viscosity.hpp | 0 .../units/physical_dimensions/length.hpp | 0 .../units/physical_dimensions/luminance.hpp | 0 .../physical_dimensions/luminous_flux.hpp | 0 .../luminous_intensity.hpp | 0 .../magnetic_field_intensity.hpp | 0 .../physical_dimensions/magnetic_flux.hpp | 0 .../magnetic_flux_density.hpp | 0 .../boost/units/physical_dimensions/mass.hpp | 0 .../physical_dimensions/mass_density.hpp | 0 .../physical_dimensions/molar_energy.hpp | 0 .../molar_heat_capacity.hpp | 0 .../physical_dimensions/moment_of_inertia.hpp | 0 .../units/physical_dimensions/momentum.hpp | 0 .../physical_dimensions/permeability.hpp | 0 .../physical_dimensions/permittivity.hpp | 0 .../units/physical_dimensions/plane_angle.hpp | 0 .../boost/units/physical_dimensions/power.hpp | 0 .../units/physical_dimensions/pressure.hpp | 0 .../units/physical_dimensions/reluctance.hpp | 0 .../units/physical_dimensions/resistance.hpp | 0 .../units/physical_dimensions/resistivity.hpp | 0 .../units/physical_dimensions/solid_angle.hpp | 0 .../physical_dimensions/specific_energy.hpp | 0 .../specific_heat_capacity.hpp | 0 .../physical_dimensions/specific_volume.hpp | 0 .../units/physical_dimensions/stress.hpp | 0 .../physical_dimensions/surface_density.hpp | 0 .../physical_dimensions/surface_tension.hpp | 0 .../units/physical_dimensions/temperature.hpp | 0 .../thermal_conductivity.hpp | 0 .../boost/units/physical_dimensions/time.hpp | 0 .../units/physical_dimensions/torque.hpp | 0 .../units/physical_dimensions/velocity.hpp | 0 .../units/physical_dimensions/volume.hpp | 0 .../units/physical_dimensions/wavenumber.hpp | 0 .../include/boost/units/pow.hpp | 0 .../include/boost/units/quantity.hpp | 2 +- .../include/boost/units/reduce_unit.hpp | 0 .../include/boost/units/scale.hpp | 4 +- .../include/boost/units/scaled_base_unit.hpp | 144 + .../include/boost/units/static_constant.hpp | 0 .../include/boost/units/static_rational.hpp | 6 +- .../include/boost/units/systems/abstract.hpp | 0 .../boost/units/systems/angle/degrees.hpp | 0 .../boost/units/systems/angle/gradians.hpp | 0 .../boost/units/systems/angle/revolutions.hpp | 0 .../include/boost/units/systems/cgs.hpp | 0 .../boost/units/systems/cgs/acceleration.hpp | 0 .../include/boost/units/systems/cgs/area.hpp | 0 .../include/boost/units/systems/cgs/base.hpp | 0 .../boost/units/systems/cgs/current.hpp | 0 .../boost/units/systems/cgs/dimensionless.hpp | 0 .../units/systems/cgs/dynamic_viscosity.hpp | 0 .../boost/units/systems/cgs/energy.hpp | 0 .../include/boost/units/systems/cgs/force.hpp | 0 .../boost/units/systems/cgs/frequency.hpp | 0 .../include/boost/units/systems/cgs/io.hpp | 0 .../units/systems/cgs/kinematic_viscosity.hpp | 0 .../boost/units/systems/cgs/length.hpp | 0 .../include/boost/units/systems/cgs/mass.hpp | 0 .../boost/units/systems/cgs/mass_density.hpp | 0 .../boost/units/systems/cgs/momentum.hpp | 0 .../include/boost/units/systems/cgs/power.hpp | 0 .../boost/units/systems/cgs/pressure.hpp | 0 .../include/boost/units/systems/cgs/time.hpp | 0 .../boost/units/systems/cgs/velocity.hpp | 0 .../boost/units/systems/cgs/volume.hpp | 0 .../boost/units/systems/cgs/wavenumber.hpp | 0 .../boost/units/systems/detail/constants.hpp | 0 .../boost/units/systems/information.hpp | 20 + .../boost/units/systems/information/bit.hpp | 33 + .../boost/units/systems/information/byte.hpp | 45 + .../units/systems/information/hartley.hpp | 33 + .../boost/units/systems/information/nat.hpp | 33 + .../units/systems/information/prefixes.hpp | 45 + .../units/systems/information/shannon.hpp | 33 + .../include/boost/units/systems/si.hpp | 0 .../boost/units/systems/si/absorbed_dose.hpp | 0 .../boost/units/systems/si/acceleration.hpp | 0 .../include/boost/units/systems/si/action.hpp | 0 .../boost/units/systems/si/activity.hpp | 0 .../include/boost/units/systems/si/amount.hpp | 0 .../units/systems/si/angular_acceleration.hpp | 0 .../units/systems/si/angular_momentum.hpp | 0 .../units/systems/si/angular_velocity.hpp | 0 .../include/boost/units/systems/si/area.hpp | 0 .../include/boost/units/systems/si/base.hpp | 0 .../boost/units/systems/si/capacitance.hpp | 0 .../units/systems/si/catalytic_activity.hpp | 0 .../systems/si/codata/alpha_constants.hpp | 1 + .../si/codata/atomic-nuclear_constants.hpp | 0 .../systems/si/codata/deuteron_constants.hpp | 1 + .../si/codata/electromagnetic_constants.hpp | 1 + .../systems/si/codata/electron_constants.hpp | 1 + .../systems/si/codata/helion_constants.hpp | 1 + .../systems/si/codata/muon_constants.hpp | 1 + .../systems/si/codata/neutron_constants.hpp | 1 + .../si/codata/physico-chemical_constants.hpp | 1 + .../systems/si/codata/proton_constants.hpp | 1 + .../units/systems/si/codata/tau_constants.hpp | 1 + .../systems/si/codata/triton_constants.hpp | 1 + .../units/systems/si/codata/typedefs.hpp | 0 .../systems/si/codata/universal_constants.hpp | 1 + .../units/systems/si/codata_constants.hpp | 0 .../boost/units/systems/si/conductance.hpp | 0 .../boost/units/systems/si/conductivity.hpp | 0 .../boost/units/systems/si/current.hpp | 0 .../boost/units/systems/si/dimensionless.hpp | 0 .../units/systems/si/dose_equivalent.hpp | 0 .../units/systems/si/dynamic_viscosity.hpp | 0 .../units/systems/si/electric_charge.hpp | 0 .../units/systems/si/electric_potential.hpp | 0 .../include/boost/units/systems/si/energy.hpp | 0 .../include/boost/units/systems/si/force.hpp | 0 .../boost/units/systems/si/frequency.hpp | 0 .../boost/units/systems/si/illuminance.hpp | 0 .../boost/units/systems/si/impedance.hpp | 0 .../boost/units/systems/si/inductance.hpp | 0 .../include/boost/units/systems/si/io.hpp | 0 .../units/systems/si/kinematic_viscosity.hpp | 0 .../include/boost/units/systems/si/length.hpp | 0 .../boost/units/systems/si/luminous_flux.hpp | 0 .../units/systems/si/luminous_intensity.hpp | 0 .../systems/si/magnetic_field_intensity.hpp | 0 .../boost/units/systems/si/magnetic_flux.hpp | 0 .../systems/si/magnetic_flux_density.hpp | 0 .../include/boost/units/systems/si/mass.hpp | 0 .../boost/units/systems/si/mass_density.hpp | 0 .../units/systems/si/moment_of_inertia.hpp | 0 .../boost/units/systems/si/momentum.hpp | 0 .../boost/units/systems/si/permeability.hpp | 0 .../boost/units/systems/si/permittivity.hpp | 0 .../boost/units/systems/si/plane_angle.hpp | 0 .../include/boost/units/systems/si/power.hpp | 0 .../boost/units/systems/si/prefixes.hpp | 0 .../boost/units/systems/si/pressure.hpp | 0 .../boost/units/systems/si/reluctance.hpp | 0 .../boost/units/systems/si/resistance.hpp | 0 .../boost/units/systems/si/resistivity.hpp | 0 .../boost/units/systems/si/solid_angle.hpp | 0 .../units/systems/si/surface_density.hpp | 0 .../units/systems/si/surface_tension.hpp | 0 .../boost/units/systems/si/temperature.hpp | 0 .../include/boost/units/systems/si/time.hpp | 0 .../include/boost/units/systems/si/torque.hpp | 0 .../boost/units/systems/si/velocity.hpp | 0 .../include/boost/units/systems/si/volume.hpp | 0 .../boost/units/systems/si/wavenumber.hpp | 0 .../units/systems/temperature/celsius.hpp | 0 .../units/systems/temperature/fahrenheit.hpp | 0 .../include/boost/units/unit.hpp | 0 .../include/boost/units/units_fwd.hpp | 2 +- .../boost/unordered/detail/allocate.hpp | 224 +- .../boost/unordered/detail/buckets.hpp | 265 +- .../boost/unordered/detail/equivalent.hpp | 173 +- .../boost/unordered/detail/extract_key.hpp | 0 .../include/boost/unordered/detail/fwd.hpp | 0 .../include/boost/unordered/detail/map.hpp | 61 + .../include/boost/unordered/detail/set.hpp | 57 + .../include/boost/unordered/detail/table.hpp | 210 +- .../include/boost/unordered/detail/unique.hpp | 210 +- .../include/boost/unordered/detail/util.hpp | 25 +- .../include/boost/unordered/unordered_map.hpp | 1655 +++++ .../boost/unordered/unordered_map_fwd.hpp | 0 .../include/boost/unordered/unordered_set.hpp | 1551 +++++ .../boost/unordered/unordered_set_fwd.hpp | 0 .../include/boost/unordered_map.hpp | 0 .../include/boost/unordered_set.hpp | 0 .../include/boost/utility.hpp | 0 .../include/boost/utility/addressof.hpp | 0 .../boost/utility/base_from_member.hpp | 13 +- .../include/boost/utility/binary.hpp | 0 .../boost/utility/compare_pointees.hpp | 0 .../include/boost/utility/declval.hpp | 13 + .../detail/in_place_factory_prefix.hpp | 0 .../detail/in_place_factory_suffix.hpp | 0 .../utility/detail/result_of_iterate.hpp | 0 .../include/boost/utility/empty_deleter.hpp | 0 .../include/boost/utility/enable_if.hpp | 0 .../boost/utility/explicit_operator_bool.hpp | 0 .../include/boost/utility/identity_type.hpp | 0 .../boost/utility/in_place_factory.hpp | 0 .../include/boost/utility/result_of.hpp | 0 .../include/boost/utility/string_ref.hpp | 56 +- .../include/boost/utility/string_ref_fwd.hpp | 0 .../include/boost/utility/string_view.hpp | 691 ++ .../include/boost/utility/string_view_fwd.hpp | 39 + .../include/boost/utility/swap.hpp | 0 .../boost/utility/typed_in_place_factory.hpp | 0 .../include/boost/utility/value_init.hpp | 0 .../boost-1.62.0/include/boost/variant.hpp | 27 + .../include/boost/variant/apply_visitor.hpp | 6 +- .../include/boost/variant/bad_visit.hpp | 0 .../variant/detail/apply_visitor_binary.hpp | 280 + .../variant/detail/apply_visitor_delayed.hpp | 151 + .../variant/detail/apply_visitor_unary.hpp | 173 + .../boost/variant/detail/backup_holder.hpp | 4 +- .../boost/variant/detail/bool_trait_def.hpp | 0 .../boost/variant/detail/bool_trait_undef.hpp | 0 .../boost/variant/detail/cast_storage.hpp | 2 +- .../include/boost/variant/detail/config.hpp | 19 + .../boost/variant/detail/element_index.hpp | 63 + .../boost/variant/detail/enable_recursive.hpp | 28 +- .../variant/detail/enable_recursive_fwd.hpp | 6 +- .../boost/variant/detail/forced_return.hpp | 64 + .../variant/detail/generic_result_type.hpp | 2 +- .../boost/variant/detail/has_result_type.hpp | 37 + .../boost/variant/detail/hash_variant.hpp | 0 .../boost/variant/detail/initializer.hpp | 34 +- .../variant/detail/make_variant_list.hpp | 8 +- .../include/boost/variant/detail/move.hpp | 53 + .../detail/multivisitors_cpp11_based.hpp | 183 + .../detail/multivisitors_cpp14_based.hpp | 142 + .../multivisitors_preprocessor_based.hpp | 143 + .../boost/variant/detail/over_sequence.hpp | 2 +- .../boost/variant/detail/substitute.hpp | 27 +- .../boost/variant/detail/substitute_fwd.hpp | 10 +- .../boost/variant/detail/variant_io.hpp | 6 +- .../boost/variant/detail/visitation_impl.hpp | 45 +- .../include/boost/variant/get.hpp | 313 + .../include/boost/variant/multivisitors.hpp | 32 + .../include/boost/variant/polymorphic_get.hpp | 344 + .../boost/variant/recursive_variant.hpp | 42 +- .../boost/variant/recursive_wrapper.hpp | 6 +- .../boost/variant/recursive_wrapper_fwd.hpp | 126 + .../include/boost/variant/static_visitor.hpp | 27 +- .../include/boost/variant/variant.hpp | 2481 +++++++ .../include/boost/variant/variant_fwd.hpp | 45 +- .../include/boost/variant/visitor_ptr.hpp | 18 +- .../boost-1.62.0/include/boost/version.hpp | 32 + .../include/boost/visit_each.hpp | 0 .../include/boost/wave.hpp | 0 .../include/boost/weak_ptr.hpp | 0 .../libs/iostreams/src/CMakeLists.txt | 0 .../libs/iostreams/src/bzip2.cpp | 0 .../libs/iostreams/src/file_descriptor.cpp | 7 +- .../libs/iostreams/src/gzip.cpp | 0 .../libs/iostreams/src/mapped_file.cpp | 4 +- .../libs/iostreams/src/zlib.cpp | 0 .../libs/serialization/src/CMakeLists.txt | 21 +- .../serialization/src/archive_exception.cpp | 31 +- .../libs/serialization/src/basic_archive.cpp | 13 +- .../libs/serialization/src/basic_iarchive.cpp | 41 +- .../serialization/src/basic_iserializer.cpp | 5 +- .../libs/serialization/src/basic_oarchive.cpp | 32 +- .../serialization/src/basic_oserializer.cpp | 5 +- .../src/basic_pointer_iserializer.cpp | 5 +- .../src/basic_pointer_oserializer.cpp | 5 +- .../src/basic_serializer_map.cpp | 10 +- .../src/basic_text_iprimitive.cpp | 1 + .../src/basic_text_oprimitive.cpp | 1 + .../src/basic_text_wiprimitive.cpp | 5 +- .../src/basic_text_woprimitive.cpp | 5 +- .../serialization/src/basic_xml_archive.cpp | 17 +- .../serialization/src/basic_xml_grammar.ipp | 31 +- .../serialization/src/binary_iarchive.cpp | 1 + .../serialization/src/binary_oarchive.cpp | 1 + .../serialization/src/binary_wiarchive.cpp | 0 .../serialization/src/binary_woarchive.cpp | 0 .../libs/serialization/src/codecvt_null.cpp | 5 +- .../serialization/src/extended_type_info.cpp | 28 +- .../src/extended_type_info_no_rtti.cpp | 12 +- .../src/extended_type_info_typeid.cpp | 23 +- .../src/polymorphic_iarchive.cpp | 1 + .../src/polymorphic_oarchive.cpp | 1 + .../libs/serialization/src/singleton.cpp | 36 + .../libs/serialization/src/stl_port.cpp | 3 +- .../libs/serialization/src/text_iarchive.cpp | 1 + .../libs/serialization/src/text_oarchive.cpp | 1 + .../libs/serialization/src/text_wiarchive.cpp | 1 + .../libs/serialization/src/text_woarchive.cpp | 1 + .../serialization/src/utf8_codecvt_facet.cpp | 7 +- .../libs/serialization/src/void_cast.cpp | 38 +- .../src/xml_archive_exception.cpp | 68 + .../libs/serialization/src/xml_grammar.cpp | 5 +- .../libs/serialization/src/xml_iarchive.cpp | 33 + .../libs/serialization/src/xml_oarchive.cpp | 1 + .../libs/serialization/src/xml_wgrammar.cpp | 2 +- .../libs/serialization/src/xml_wiarchive.cpp | 19 +- .../libs/serialization/src/xml_woarchive.cpp | 5 + .../libs/system/src/CMakeLists.txt | 0 .../libs/system/src/CMakeLists.txt~ | 0 .../libs/system/src/error_code.cpp | 0 .../libs/thread/src/CMakeLists.txt | 0 .../boost-1.62.0/libs/thread/src/future.cpp | 64 + .../libs/thread/src/pthread/once.cpp | 5 +- .../libs/thread/src/pthread/once_atomic.cpp | 0 .../libs/thread/src/pthread/thread.cpp | 846 +++ .../libs/thread/src/pthread/timeconv.inl | 0 .../libs/thread/src/tss_null.cpp | 0 .../libs/thread/src/win32/thread.cpp | 1043 +++ .../libs/thread/src/win32/timeconv.inl | 0 .../libs/thread/src/win32/tss_dll.cpp | 10 +- .../libs/thread/src/win32/tss_pe.cpp | 4 +- bundled/setup_bundled.cmake | 2 +- 8395 files changed, 310616 insertions(+), 220767 deletions(-) delete mode 100644 bundled/boost-1.56.0/include/boost/algorithm/cxx11/is_permutation.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/algorithm/cxx11/is_sorted.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/algorithm/cxx14/is_permutation.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/algorithm/hex.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/algorithm/string/replace.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/align.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/align/align.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/align/aligned_alloc.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/align/aligned_allocator.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/align/aligned_allocator_adaptor.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/align/aligned_allocator_adaptor_forward.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/align/aligned_allocator_forward.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/align/aligned_delete.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/align/aligned_delete_forward.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/align/alignment_of.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/align/alignment_of_forward.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/align/detail/addressof.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/align/detail/align.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/align/detail/align_cxx11.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/align/detail/aligned_alloc.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/align/detail/aligned_alloc_android.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/align/detail/aligned_alloc_macos.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/align/detail/aligned_alloc_msvc.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/align/detail/aligned_alloc_posix.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/align/detail/aligned_alloc_sunos.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/align/detail/alignment_of.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/align/detail/alignment_of_clang.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/align/detail/alignment_of_codegear.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/align/detail/alignment_of_cxx11.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/align/detail/alignment_of_gcc.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/align/detail/alignment_of_msvc.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/align/detail/is_aligned.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/align/detail/is_alignment.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/align/detail/max_align.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/align/detail/min_size.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/align/is_aligned.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/aligned_storage.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/any.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/archive/basic_streambuf_locale_saver.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/archive/basic_xml_iarchive.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/archive/basic_xml_oarchive.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/archive/detail/basic_iarchive.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/archive/detail/decl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/archive/detail/helper_collection.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/archive/detail/utf8_codecvt_facet.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/archive/impl/basic_binary_iprimitive.ipp delete mode 100644 bundled/boost-1.56.0/include/boost/archive/impl/basic_binary_oprimitive.ipp delete mode 100644 bundled/boost-1.56.0/include/boost/archive/impl/basic_text_oprimitive.ipp delete mode 100644 bundled/boost-1.56.0/include/boost/archive/impl/xml_iarchive_impl.ipp delete mode 100644 bundled/boost-1.56.0/include/boost/archive/impl/xml_wiarchive_impl.ipp delete mode 100644 bundled/boost-1.56.0/include/boost/archive/impl/xml_woarchive_impl.ipp delete mode 100644 bundled/boost-1.56.0/include/boost/archive/iterators/wchar_from_mb.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/archive/text_iarchive.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/archive/xml_iarchive.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/archive/xml_oarchive.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/archive/xml_wiarchive.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/archive/xml_woarchive.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/assert.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/atomic/detail/config.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/atomic/detail/interlocked.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/atomic/detail/operations_fwd.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/atomic/detail/ops_gcc_atomic.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/atomic/detail/ops_gcc_ppc.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/atomic/detail/ops_gcc_x86_dcas.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/atomic/detail/storage_type.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/bind.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/bind/bind.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/bind/bind_mf_cc.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/bind/placeholders.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/chrono/detail/inlined/chrono.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/chrono/detail/inlined/mac/chrono.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/chrono/detail/inlined/mac/process_cpu_clocks.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/chrono/detail/inlined/mac/thread_clock.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/chrono/detail/inlined/posix/chrono.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/chrono/detail/inlined/posix/process_cpu_clocks.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/chrono/detail/inlined/posix/thread_clock.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/chrono/detail/inlined/process_cpu_clocks.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/chrono/detail/inlined/thread_clock.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/chrono/detail/inlined/win/chrono.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/chrono/detail/inlined/win/process_cpu_clocks.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/chrono/detail/inlined/win/thread_clock.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/chrono/io/duration_io.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/chrono/process_cpu_clocks.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cassert delete mode 100644 bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cctype delete mode 100644 bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cerrno delete mode 100644 bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cfloat delete mode 100644 bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/climits delete mode 100644 bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/clocale delete mode 100644 bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cmath delete mode 100644 bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/csetjmp delete mode 100644 bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/csignal delete mode 100644 bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cstdarg delete mode 100644 bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cstddef delete mode 100644 bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cstdio delete mode 100644 bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cstdlib delete mode 100644 bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cstring delete mode 100644 bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/ctime delete mode 100644 bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cwchar delete mode 100644 bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cwctype delete mode 100644 bundled/boost-1.56.0/include/boost/config/auto_link.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/config/compiler/clang.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/config/compiler/digitalmars.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/config/compiler/gcc.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/config/compiler/gcc_xml.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/config/compiler/intel.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/config/compiler/mpw.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/config/compiler/nvcc.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/config/compiler/pathscale.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/config/compiler/vacpp.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/config/select_compiler_config.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/config/stdlib/libcpp.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/config/stdlib/libstdcpp3.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/config/stdlib/vacpp.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/container/adaptive_pool.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/container/allocator_traits.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/container/container_fwd.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/container/deque.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/container/detail/advanced_insert_int.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/container/detail/auto_link.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/container/detail/config_begin.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/container/detail/config_end.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/container/detail/flat_tree.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/container/detail/function_detector.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/container/detail/iterators.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/container/detail/mpl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/container/detail/mutex.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/container/detail/node_alloc_holder.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/container/detail/pair.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/container/detail/singleton.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/container/detail/transform_iterator.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/container/detail/tree.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/container/detail/type_traits.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/container/detail/workaround.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/container/flat_map.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/container/flat_set.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/container/list.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/container/map.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/container/options.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/container/scoped_allocator.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/container/scoped_allocator_fwd.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/container/set.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/container/slist.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/container/stable_vector.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/container/static_vector.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/container/string.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/container/vector.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/core/addressof.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/core/enable_if.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/core/ignore_unused.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/core/scoped_enum.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/date_time/time.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/detail/interlocked.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/detail/iterator.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/detail/utf8_codecvt_facet.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/detail/winapi/GetCurrentProcess.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/detail/winapi/GetCurrentThread.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/detail/winapi/GetLastError.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/detail/winapi/GetProcessTimes.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/detail/winapi/GetThreadTimes.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/detail/winapi/basic_types.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/detail/winapi/config.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/detail/winapi/directory_management.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/detail/winapi/dll.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/detail/winapi/error_handling.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/detail/winapi/file_management.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/detail/winapi/handles.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/detail/winapi/memory.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/detail/winapi/process.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/detail/winapi/security.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/detail/winapi/synchronization.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/detail/winapi/system.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/detail/winapi/thread.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/detail/winapi/thread_pool.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/detail/winapi/time.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/detail/winapi/timers.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/detail/winapi/tls.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/detail/winapi/waitable_timer.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/exception/detail/error_info_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/exception/info.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/function_types/is_function.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/function_types/is_member_function_pointer.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/function_types/is_member_object_pointer.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/function_types/is_member_pointer.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/functional/factory.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/functional/hash/hash.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/adapted/adt/detail/adapt_base.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/adapted/array/at_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/adapted/array/begin_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/adapted/array/deref_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/adapted/array/end_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/adapted/boost_array/detail/at_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/adapted/boost_array/detail/begin_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/adapted/boost_array/detail/end_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/adapted/mpl/detail/at_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/adapted/mpl/detail/begin_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/adapted/mpl/detail/end_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/adapted/std_tuple.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/adapted/std_tuple/detail/at_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/adapted/std_tuple/detail/begin_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/adapted/std_tuple/detail/end_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/adapted/struct/adapt_assoc_struct_named.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/adapted/struct/adapt_struct.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/adapted/struct/adapt_struct_named.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/adapted/struct/define_struct.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/adapted/struct/detail/adapt_base.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/adapted/struct/detail/begin_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/adapted/struct/detail/define_struct.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/adapted/struct/detail/deref_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/adapted/struct/detail/end_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/algorithm/auxiliary.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/algorithm/auxiliary/copy.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/algorithm/auxiliary/move.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/accumulate.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/accumulate_fwd.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/detail/fold.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/detail/for_each.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/detail/preprocessed/fold.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/detail/preprocessed/iter_fold.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_fold.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_iter_fold.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/fold.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/for_each.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/iter_fold.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/reverse_fold.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/reverse_iter_fold.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/algorithm/query/all.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/algorithm/query/any.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/algorithm/query/count.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/algorithm/query/count_if.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/algorithm/query/detail/all.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/algorithm/query/detail/any.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/algorithm/query/detail/count.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/algorithm/query/detail/count_if.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/algorithm/query/detail/find_if.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/algorithm/query/find_if.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/algorithm/query/none.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/algorithm/transformation/clear.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/algorithm/transformation/detail/replace.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/algorithm/transformation/detail/replace_if.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/algorithm/transformation/push_back.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/algorithm/transformation/push_front.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/algorithm/transformation/replace.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/algorithm/transformation/replace_if.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/deque/convert.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/deque/deque.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/at_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/begin_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/build_deque.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/convert_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/build_deque.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/deque.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/deque_keyed_values.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/limits.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque10.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque20.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque30.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque40.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque50.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values10.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values20.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values30.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values40.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values50.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/deque_keyed_values.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/end_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/keyed_element.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/generation/list_tie.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/generation/make_list.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/generation/make_set.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/generation/make_vector.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/generation/vector_tie.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/list.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/list/cons.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/list/cons_iterator.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/list/convert.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/list/detail/at_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/list/detail/begin_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/list/detail/build_cons.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/list/detail/convert_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/list/detail/deref_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/list/detail/end_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/list/detail/equal_to_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/list/detail/list_to_cons.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/list/detail/next_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/list/detail/value_at_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/list/detail/value_of_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/list/list.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/list/list_fwd.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/map/convert.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/map/detail/at_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/map/detail/begin_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/at_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/begin_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/convert.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/convert_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/deref_data_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/deref_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/end_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/limits.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/map.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/map_forward_ctor.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/preprocessed/map10.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/preprocessed/map20.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/preprocessed/map30.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/preprocessed/map40.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/preprocessed/map50.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/value_at_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/map/detail/end_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/map/detail/map_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/map/detail/value_at_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/map/map.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/map/map_iterator.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/set.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/set/convert.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/set/detail/as_set.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/set/detail/begin_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/set/detail/convert_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/set/detail/deref_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/set/detail/end_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/set/set.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/set/set_fwd.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/vector.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/vector/convert.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/advance_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/as_vector.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/at_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/begin_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/convert_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/deref_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/distance_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/end_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/equal_to_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/next_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/prior_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/value_at_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/value_of_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/vector/vector.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/vector/vector10.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/vector/vector20.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/vector/vector30.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/vector/vector40.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/vector/vector50.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/container/vector/vector_fwd.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/functional/adapter/limits.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/functional/invocation/invoke.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/iterator/advance.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/iterator/detail/advance.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/iterator/detail/distance.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/iterator/distance.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/iterator/equal_to.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/iterator/iterator_facade.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/detail/equal_to.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/detail/greater.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/detail/greater_equal.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/detail/less.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/detail/less_equal.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/detail/not_equal_to.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/equal_to.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/greater.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/greater_equal.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/less.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/less_equal.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/not_equal_to.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/sequence/convert.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/sequence/intrinsic/at_key.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/sequence/intrinsic/empty.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/sequence/intrinsic/size.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/sequence/intrinsic/value_at.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/sequence/intrinsic/value_at_key.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/support/config.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/support/pair.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/support/unused.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple10.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple20.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple30.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple40.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple50.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple_tie10.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple_tie20.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple_tie30.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple_tie40.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple_tie50.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/tuple/make_tuple.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/tuple/tuple.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/tuple/tuple_fwd.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/tuple/tuple_tie.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/filter_view/detail/begin_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/filter_view/detail/deref_data_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/filter_view/detail/end_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/filter_view/detail/next_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/flatten_view.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/flatten_view/flatten_view.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/iterator_range/detail/at_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/iterator_range/detail/begin_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/iterator_range/detail/end_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/joint_view/detail/begin_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/joint_view/detail/deref_data_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/joint_view/detail/end_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/joint_view/detail/next_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/nview/detail/advance_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/nview/detail/at_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/nview/detail/begin_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/nview/detail/deref_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/nview/detail/distance_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/nview/detail/end_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/nview/detail/next_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/nview/detail/nview_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/nview/detail/prior_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/repetitive_view/detail/begin_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/repetitive_view/detail/deref_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/repetitive_view/detail/end_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/repetitive_view/detail/next_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/reverse_view/detail/advance_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/reverse_view/detail/at_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/reverse_view/detail/begin_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/reverse_view/detail/deref_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/reverse_view/detail/distance_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/reverse_view/detail/end_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/reverse_view/detail/next_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/reverse_view/detail/prior_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/single_view/detail/advance_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/single_view/detail/at_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/single_view/detail/begin_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/single_view/detail/deref_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/single_view/detail/distance_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/single_view/detail/end_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/single_view/detail/next_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/single_view/detail/prior_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/transform_view/detail/advance_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/transform_view/detail/at_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/transform_view/detail/begin_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/transform_view/detail/deref_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/transform_view/detail/distance_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/transform_view/detail/end_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/transform_view/detail/next_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/transform_view/detail/prior_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/zip_view/detail/advance_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/zip_view/detail/at_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/zip_view/detail/begin_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/zip_view/detail/deref_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/zip_view/detail/distance_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/zip_view/detail/end_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/zip_view/detail/next_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/fusion/view/zip_view/detail/prior_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/get_pointer.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/graph/copy.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/graph/distributed/adjlist/serialization.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/intrusive/avl_set.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/intrusive/avltree.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/intrusive/bs_set.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/intrusive/bstree.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/intrusive/circular_list_algorithms.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/intrusive/detail/any_node_and_algorithms.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/intrusive/detail/assert.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/intrusive/detail/avltree_node.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/intrusive/detail/common_slist_algorithms.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/intrusive/detail/config_begin.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/intrusive/detail/ebo_functor_holder.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/intrusive/detail/function_detector.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/intrusive/detail/has_member_function_callable_with.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/intrusive/detail/hashtable_node.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/intrusive/detail/list_node.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/intrusive/detail/mpl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/intrusive/detail/parent_from_member.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/intrusive/detail/rbtree_node.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/intrusive/detail/slist_node.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/intrusive/detail/transform_iterator.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/intrusive/detail/tree_node.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/intrusive/detail/workaround.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/intrusive/hashtable.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/intrusive/list.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/intrusive/options.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/intrusive/parent_from_member.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/intrusive/pointer_traits.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/intrusive/priority_compare.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/intrusive/rbtree.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/intrusive/set.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/intrusive/sg_set.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/intrusive/sgtree.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/intrusive/slist.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/intrusive/splay_set.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/intrusive/splaytree.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/intrusive/treap.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/intrusive/treap_set.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/intrusive/unordered_set.hpp delete mode 100755 bundled/boost-1.56.0/include/boost/iostreams/char_traits.hpp delete mode 100755 bundled/boost-1.56.0/include/boost/iostreams/concepts.hpp delete mode 100755 bundled/boost-1.56.0/include/boost/iostreams/constants.hpp delete mode 100755 bundled/boost-1.56.0/include/boost/iostreams/copy.hpp delete mode 100755 bundled/boost-1.56.0/include/boost/iostreams/detail/char_traits.hpp delete mode 100755 bundled/boost-1.56.0/include/boost/iostreams/detail/config/auto_link.hpp delete mode 100755 bundled/boost-1.56.0/include/boost/iostreams/detail/config/bzip2.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/iostreams/detail/config/gcc.hpp delete mode 100755 bundled/boost-1.56.0/include/boost/iostreams/detail/config/zlib.hpp delete mode 100755 bundled/boost-1.56.0/include/boost/iostreams/detail/default_arg.hpp delete mode 100755 bundled/boost-1.56.0/include/boost/iostreams/detail/error.hpp delete mode 100755 bundled/boost-1.56.0/include/boost/iostreams/detail/functional.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/iostreams/detail/is_iterator_range.hpp delete mode 100755 bundled/boost-1.56.0/include/boost/iostreams/detail/newline.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/iostreams/detail/optional.hpp delete mode 100755 bundled/boost-1.56.0/include/boost/iostreams/device/array.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/iostreams/filter/bzip2.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/iostreams/filter/newline.hpp delete mode 100755 bundled/boost-1.56.0/include/boost/iostreams/filter/regex.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/iostreams/filter/symmetric.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/iostreams/filter/zlib.hpp delete mode 100755 bundled/boost-1.56.0/include/boost/iostreams/get.hpp delete mode 100755 bundled/boost-1.56.0/include/boost/iostreams/operations_fwd.hpp delete mode 100755 bundled/boost-1.56.0/include/boost/iostreams/read.hpp delete mode 100755 bundled/boost-1.56.0/include/boost/iostreams/seek.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/iostreams/skip.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/iostreams/traits.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/iostreams/write.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/iterator/detail/enable_if.hpp delete mode 100755 bundled/boost-1.56.0/include/boost/iterator/detail/minimum_category.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/iterator/iterator_categories.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/iterator/iterator_facade.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/iterator/iterator_traits.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/iterator/permutation_iterator.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/iterator/reverse_iterator.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/iterator/transform_iterator.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/iterator/zip_iterator.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/lambda/detail/operators.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/lexical_cast.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/math/common_factor_rt.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/math/constants/constants.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/math/distributions/bernoulli.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/math/distributions/binomial.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/math/distributions/detail/hypergeometric_quantile.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/math/distributions/fwd.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/math/distributions/triangular.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/math/policies/error_handling.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/math/special_functions/bernoulli.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/math/special_functions/binomial.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/math/special_functions/cos_pi.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/math/special_functions/detail/unchecked_factorial.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/math/special_functions/ellint_3.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/math/special_functions/ellint_rc.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/math/special_functions/ellint_rd.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/math/special_functions/ellint_rf.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/math/special_functions/ellint_rj.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/math/special_functions/math_fwd.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/math/special_functions/powm1.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/math/special_functions/sign.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/math/tools/big_constant.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/math/tools/config.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/math/tools/polynomial.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/math/tools/precision.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/math/tools/rational.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/math/tools/roots.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/math/tools/traits.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/math/tools/tuple.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/math/tools/workaround.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/math_fwd.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/move/algorithm.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/move/core.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/move/detail/config_begin.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/move/detail/config_end.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/move/detail/meta_utils.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/move/detail/move_helpers.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/move/iterator.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/move/move.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/move/traits.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/move/utility.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/mpl/aux_/insert_range_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/mpl/aux_/preprocessor/range.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/mpl/map/aux_/item.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/mpl/set/aux_/item.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/mpl/string.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/multi_index/detail/ord_index_ops.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/multi_index/identity.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/multi_index/ordered_index.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/multi_index/ordered_index_fwd.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/next_prior.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/none.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/none_t.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/numeric/interval/compare/set.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/numeric/interval/detail/bugs.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/numeric/interval/limits.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/numeric/odeint/algebra/array_algebra.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/numeric/odeint/external/thrust/thrust_algebra_dispatcher.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/numeric/odeint/external/thrust/thrust_operations_dispatcher.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/numeric/odeint/external/thrust/thrust_resize.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/numeric/odeint/integrate/detail/integrate_const.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/numeric/odeint/integrate/detail/integrate_n_steps.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/numeric/odeint/integrate/detail/integrate_times.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/numeric/odeint/integrate/integrate_adaptive.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/numeric/odeint/integrate/integrate_const.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/numeric/odeint/integrate/integrate_n_steps.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/numeric/odeint/integrate/integrate_times.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/numeric/odeint/iterator/integrate/detail/integrate_n_steps.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/numeric/odeint/stepper/generation/generation_controlled_runge_kutta.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/numeric/odeint/stepper/generation/generation_dense_output_runge_kutta.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/numeric/odeint/stepper/generation/make_controlled.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/numeric/odeint/stepper/generation/make_dense_output.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/numeric/odeint/util/bind.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/numeric/ublas/detail/concepts.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/numeric/ublas/detail/config.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/numeric/ublas/functional.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/numeric/ublas/fwd.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/numeric/ublas/matrix.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/numeric/ublas/symmetric.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/numeric/ublas/traits.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/numeric/ublas/triangular.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/numeric/ublas/vector.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/operators.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/optional/optional.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/optional/optional_fwd.hpp delete mode 100755 bundled/boost-1.56.0/include/boost/parameter/aux_/parenthesized_type.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/parameter/aux_/set.hpp delete mode 100755 bundled/boost-1.56.0/include/boost/parameter/binding.hpp delete mode 100755 bundled/boost-1.56.0/include/boost/parameter/value_type.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/predef/architecture/arm.h delete mode 100644 bundled/boost-1.56.0/include/boost/predef/architecture/ppc.h delete mode 100644 bundled/boost-1.56.0/include/boost/predef/architecture/x86.h delete mode 100644 bundled/boost-1.56.0/include/boost/predef/compiler/sunpro.h delete mode 100644 bundled/boost-1.56.0/include/boost/predef/language.h delete mode 100644 bundled/boost-1.56.0/include/boost/predef/library.h delete mode 100644 bundled/boost-1.56.0/include/boost/predef/library/c/vms.h delete mode 100644 bundled/boost-1.56.0/include/boost/predef/os/vms.h delete mode 100644 bundled/boost-1.56.0/include/boost/predef/other.h delete mode 100644 bundled/boost-1.56.0/include/boost/preprocessor/array/push_back.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/preprocessor/array/push_front.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/preprocessor/array/to_list.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/preprocessor/array/to_seq.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/preprocessor/array/to_tuple.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/preprocessor/config/config.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/preprocessor/facilities/empty.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/preprocessor/facilities/identity.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/preprocessor/facilities/is_empty.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/preprocessor/list/to_tuple.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/preprocessor/seq/for_each.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/preprocessor/seq/for_each_i.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/preprocessor/seq/replace.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/preprocessor/seq/rest_n.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/preprocessor/seq/size.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/preprocessor/tuple/to_seq.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/property_tree/ptree_serialization.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/random.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/random/detail/auto_link.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/range/adaptor/filtered.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/range/detail/collection_traits.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/range/difference_type.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/range/iterator.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/range/size.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/rational.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/serialization/array.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/serialization/collection_traits.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/serialization/collections_load_imp.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/serialization/config.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/serialization/deque.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/serialization/detail/get_data.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/serialization/detail/shared_ptr_132.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/serialization/factory.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/serialization/forward_list.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/serialization/list.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/serialization/map.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/serialization/nvp.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/serialization/serialization.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/serialization/set.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/serialization/shared_ptr.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/serialization/shared_ptr_132.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/serialization/singleton.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/serialization/slist.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/serialization/smart_cast.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/serialization/string.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/serialization/strong_typedef.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/serialization/traits.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/serialization/unique_ptr.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/serialization/unordered_map.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/serialization/unordered_set.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/serialization/variant.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/serialization/vector.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/signals/connection.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/signals/detail/config.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/signals/detail/gen_signal_N.pl delete mode 100644 bundled/boost-1.56.0/include/boost/signals/detail/named_slot_map.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/signals/detail/signal_base.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/signals/detail/signals_common.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/signals/detail/slot_call_iterator.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/signals/signal0.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/signals/signal1.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/signals/signal10.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/signals/signal2.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/signals/signal3.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/signals/signal4.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/signals/signal5.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/signals/signal6.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/signals/signal7.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/signals/signal8.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/signals/signal9.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/signals/signal_template.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/signals/slot.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/signals/trackable.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/signals2/connection.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/signals2/detail/signal_template.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/signals2/detail/slot_call_iterator.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/signals2/detail/variadic_slot_invoker.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/signals2/trackable.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/smart_ptr/detail/sp_forward.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/smart_ptr/make_unique.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/smart_ptr/shared_ptr.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/classic/core/non_terminal/subrule.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/karma/nonterminal/rule.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/qi/detail/attributes.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/qi/nonterminal/rule.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/qi/numeric/detail/numeric_utils.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/qi/numeric/detail/real_impl.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/qi/numeric/numeric_utils.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/qi/numeric/real_policies.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/qi/string/tst_map.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/support/attributes.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/support/char_class.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/support/detail/lexer/parser/parser.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/x3/auxiliary.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/x3/char.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/x3/char/any_char.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/x3/char/char.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/x3/char/char_class.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/x3/core.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/x3/core/parser.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/x3/directive/expect.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/x3/directive/skip.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/x3/nonterminal/detail/rule.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/x3/nonterminal/detail/transform_attribute.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/x3/nonterminal/rule.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/x3/numeric/bool.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/x3/numeric/real_policies.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/x3/operator/alternative.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/x3/operator/detail/alternative.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/x3/operator/detail/sequence.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/x3/operator/list.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/x3/operator/optional.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/x3/operator/sequence.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/x3/string.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/x3/string/detail/tst.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/x3/string/literal_string.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/x3/string/symbols.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/x3/string/tst.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/x3/string/tst_map.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/x3/support/ast/variant.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/x3/support/context.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/x3/support/numeric_utils/detail/extract_int.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/x3/support/numeric_utils/extract_int.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/x3/support/numeric_utils/sign.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/x3/support/traits/transform_attribute.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/x3/support/unused.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/home/x3/support/utility/testing.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/repository/home/karma/nonterminal/subrule.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/spirit/repository/home/qi/nonterminal/subrule.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/thread/csbl/deque.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/thread/csbl/list.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/thread/csbl/memory/default_delete.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/thread/csbl/memory/unique_ptr.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/thread/csbl/tuple.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/thread/csbl/vector.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/thread/detail/config.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/thread/detail/invoke.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/thread/detail/move.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/thread/detail/thread.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/thread/executors/executor.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/thread/executors/thread_executor.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/thread/executors/work.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/thread/future.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/thread/pthread/condition_variable.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/thread/pthread/condition_variable_fwd.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/thread/pthread/mutex.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/thread/pthread/shared_mutex.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/thread/pthread/thread_data.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/thread/shared_mutex.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/thread/sync_bounded_queue.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/thread/sync_queue.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/thread/v2/thread.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/thread/win32/condition_variable.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/thread/win32/shared_mutex.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/thread/win32/thread_data.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/thread/win32/thread_primitives.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/array.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/cmath.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/complex.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/detail/config.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/detail/config_all.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/detail/functor2iterator.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/detail/math_overloads.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/functional.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/memory.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/random.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/regex.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/algorithm delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/array delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/bcc32/array.h delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/bcc32/random.h delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/bcc32/regex.h delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/bcc32/tuple.h delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/bcc32/type_tra.h delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/bcc32/unordere.h delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/bitset delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/cmath delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/complex delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/deque delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/exception delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/fstream delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/functional delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/iomanip delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/ios delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/iostream delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/istream delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/iterator delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/limits delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/list delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/locale delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/map delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/memory delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/new delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/numeric delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/ostream delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/queue delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/random delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/regex delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/set delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sstream delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/stack delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/stdexcept delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/streambuf delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/string delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/strstream delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/algorithm.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/array.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/bcc32.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/bitset.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/cmath.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/complex.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/deque.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/exception.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/fstream.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/functional.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/iomanip.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/ios.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/iostream.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/istream.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/iterator.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/limits.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/list.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/locale.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/map.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/memory.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/new.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/numeric.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/ostream.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/queue.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/random.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/regex.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/set.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/sstream.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/stack.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/stdexcept.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/streambuf.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/string.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/strstream.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/sun.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/tuple.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/type_traits.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/typeinfo.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/unordered_map.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/unordered_set.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/utility.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/valarray.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/sun/vector.SUNWCCh delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/tuple delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/type_traits delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/typeinfo delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/unordered_map delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/unordered_set delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/utility delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/valarray delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tr1/vector delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/tuple.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/type_traits.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/unordered_map.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/unordered_set.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/tr1/utility.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/add_lvalue_reference.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/add_pointer.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/add_reference.hpp delete mode 100755 bundled/boost-1.56.0/include/boost/type_traits/aligned_storage.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/alignment_of.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/broken_compiler_spec.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/common_type.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/config.hpp delete mode 100755 bundled/boost-1.56.0/include/boost/type_traits/decay.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/detail/template_arity_spec.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/floating_point_promotion.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_bit_and.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_bit_and_assign.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_bit_or.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_bit_or_assign.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_bit_xor.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_bit_xor_assign.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_complement.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_divides.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_divides_assign.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_equal_to.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_greater.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_greater_equal.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_left_shift.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_left_shift_assign.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_less.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_less_equal.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_logical_and.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_logical_or.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_minus.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_minus_assign.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_modulus.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_modulus_assign.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_multiplies.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_multiplies_assign.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_not_equal_to.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_nothrow_assign.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_nothrow_constructor.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_nothrow_copy.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_nothrow_destructor.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_plus.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_plus_assign.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_post_decrement.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_post_increment.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_pre_decrement.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_pre_increment.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_right_shift.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_right_shift_assign.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_trivial_assign.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_trivial_constructor.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_trivial_copy.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_trivial_destructor.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_trivial_move_assign.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_trivial_move_constructor.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/has_virtual_destructor.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/integral_constant.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/intrinsics.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/is_arithmetic.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/is_array.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/is_base_of.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/is_base_of_tr1.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/is_class.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/is_complex.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/is_compound.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/is_const.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/is_copy_constructible.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/is_empty.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/is_enum.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/is_float.hpp delete mode 100755 bundled/boost-1.56.0/include/boost/type_traits/is_floating_point.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/is_function.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/is_fundamental.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/is_integral.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/is_lvalue_reference.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/is_member_function_pointer.hpp delete mode 100755 bundled/boost-1.56.0/include/boost/type_traits/is_member_object_pointer.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/is_member_pointer.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/is_nothrow_move_assignable.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/is_nothrow_move_constructible.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/is_object.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/is_pod.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/is_pointer.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/is_reference.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/is_rvalue_reference.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/is_scalar.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/is_signed.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/is_stateless.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/is_union.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/is_unsigned.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/is_virtual_base_of.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/is_void.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/is_volatile.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/make_signed.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/make_unsigned.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/promote.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/remove_all_extents.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/remove_bounds.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/remove_const.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/remove_cv.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/remove_extent.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/remove_pointer.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/remove_reference.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/remove_volatile.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/type_traits/type_with_alignment.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/units/config.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/units/detail/utility.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/units/limits.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/units/scaled_base_unit.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/unordered/unordered_map.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/unordered/unordered_set.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/utility/declval.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/variant.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/variant/detail/apply_visitor_binary.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/variant/detail/apply_visitor_delayed.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/variant/detail/apply_visitor_unary.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/variant/detail/config.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/variant/detail/forced_return.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/variant/detail/move.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/variant/get.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/variant/multivisitors.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/variant/polymorphic_get.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/variant/recursive_wrapper_fwd.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/variant/variant.hpp delete mode 100644 bundled/boost-1.56.0/include/boost/version.hpp delete mode 100644 bundled/boost-1.56.0/libs/serialization/src/xml_archive_exception.cpp delete mode 100644 bundled/boost-1.56.0/libs/serialization/src/xml_iarchive.cpp delete mode 100644 bundled/boost-1.56.0/libs/thread/src/pthread/thread.cpp delete mode 100644 bundled/boost-1.56.0/libs/thread/src/win32/thread.cpp rename bundled/{boost-1.56.0 => boost-1.62.0}/LICENSE_1_0.txt (100%) create mode 100644 bundled/boost-1.62.0/include/boost/algorithm/algorithm.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/clamp.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/cxx11/all_of.hpp (90%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/cxx11/any_of.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/cxx11/copy_if.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/cxx11/copy_n.hpp (80%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/cxx11/find_if_not.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/cxx11/iota.hpp (88%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/cxx11/is_partitioned.hpp (85%) create mode 100644 bundled/boost-1.62.0/include/boost/algorithm/cxx11/is_permutation.hpp create mode 100644 bundled/boost-1.62.0/include/boost/algorithm/cxx11/is_sorted.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/cxx11/none_of.hpp (90%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/cxx11/one_of.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/cxx11/partition_copy.hpp (88%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/cxx11/partition_point.hpp (82%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/cxx14/equal.hpp (98%) create mode 100644 bundled/boost-1.62.0/include/boost/algorithm/cxx14/is_permutation.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/cxx14/mismatch.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/gather.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/algorithm/hex.hpp create mode 100644 bundled/boost-1.62.0/include/boost/algorithm/is_palindrome.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/minmax.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/minmax_element.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/searching/boyer_moore.hpp (88%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/searching/boyer_moore_horspool.hpp (84%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/searching/detail/bm_traits.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/searching/detail/debugging.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/searching/knuth_morris_pratt.hpp (86%) create mode 100644 bundled/boost-1.62.0/include/boost/algorithm/sort_subrange.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/case_conv.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/classification.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/compare.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/concept.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/config.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/constants.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/detail/case_conv.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/detail/classification.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/detail/find_format.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/detail/find_format_all.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/detail/find_format_store.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/detail/find_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/detail/finder.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/detail/finder_regex.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/detail/formatter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/detail/formatter_regex.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/detail/predicate.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/detail/replace_storage.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/detail/sequence.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/detail/trim.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/detail/util.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/erase.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/find.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/find_format.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/find_iterator.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/finder.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/formatter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/iter_find.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/join.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/predicate.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/predicate_facade.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/regex.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/regex_find_format.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/algorithm/string/replace.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/sequence_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/split.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/std/list_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/std/rope_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/std/slist_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/std/string_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/std_containers_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/trim.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/trim_all.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string/yes_no_type.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/algorithm/string_regex.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/align.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/align.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/align_down.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/align_down_forward.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/align_up.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/align_up_forward.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/aligned_alloc.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/aligned_allocator.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/aligned_allocator_adaptor.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/aligned_allocator_adaptor_forward.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/aligned_allocator_forward.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/aligned_delete.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/aligned_delete_forward.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/alignment_of.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/alignment_of_forward.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/assume_aligned.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/align/detail/address.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/align/detail/addressof.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/detail/align.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/detail/align_cxx11.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/detail/align_down.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/detail/align_up.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/detail/aligned_alloc.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/detail/aligned_alloc_android.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/detail/aligned_alloc_macos.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/detail/aligned_alloc_msvc.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/detail/aligned_alloc_posix.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/detail/aligned_alloc_sunos.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/detail/alignment_of.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/detail/alignment_of_clang.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/detail/alignment_of_codegear.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/detail/alignment_of_cxx11.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/detail/alignment_of_gcc.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/detail/alignment_of_msvc.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/detail/assume_aligned.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/detail/assume_aligned_clang.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/detail/assume_aligned_gcc.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/detail/assume_aligned_intel.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/detail/assume_aligned_msvc.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/detail/element_type.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/detail/integral_constant.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/detail/is_aligned.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/detail/is_alignment.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/align/detail/is_alignment_const.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/align/detail/is_alignment_constant.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/detail/max_align.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/align/detail/max_count_of.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/align/detail/max_objects.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/detail/max_size.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/detail/min_size.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/align/detail/padded.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/align/detail/type_traits.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/align/is_aligned.hpp create mode 100644 bundled/boost-1.62.0/include/boost/align/is_aligned_forward.hpp create mode 100644 bundled/boost-1.62.0/include/boost/aligned_storage.hpp create mode 100644 bundled/boost-1.62.0/include/boost/any.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/add_facet.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/archive_exception.hpp (88%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/basic_archive.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/basic_binary_iarchive.hpp (77%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/basic_binary_iprimitive.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/basic_binary_oarchive.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/basic_binary_oprimitive.hpp (83%) create mode 100644 bundled/boost-1.62.0/include/boost/archive/basic_streambuf_locale_saver.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/basic_text_iarchive.hpp (88%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/basic_text_iprimitive.hpp (83%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/basic_text_oarchive.hpp (84%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/basic_text_oprimitive.hpp (90%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/basic_xml_archive.hpp (84%) create mode 100644 bundled/boost-1.62.0/include/boost/archive/basic_xml_iarchive.hpp create mode 100644 bundled/boost-1.62.0/include/boost/archive/basic_xml_oarchive.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/binary_iarchive.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/binary_iarchive_impl.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/binary_oarchive.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/binary_oarchive_impl.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/binary_wiarchive.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/binary_woarchive.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/codecvt_null.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/detail/abi_prefix.hpp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/detail/abi_suffix.hpp (90%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/detail/archive_serializer_map.hpp (82%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/detail/auto_link_archive.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/detail/auto_link_warchive.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/detail/basic_archive_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/detail/basic_config.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/archive/detail/basic_iarchive.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/detail/basic_iserializer.hpp (88%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/detail/basic_oarchive.hpp (75%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/detail/basic_oserializer.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/detail/basic_pointer_iserializer.hpp (83%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/detail/basic_pointer_oserializer.hpp (82%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/detail/basic_serializer.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/detail/basic_serializer_map.hpp (89%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/detail/check.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/detail/common_iarchive.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/detail/common_oarchive.hpp (96%) create mode 100644 bundled/boost-1.62.0/include/boost/archive/detail/decl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/archive/detail/helper_collection.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/detail/interface_iarchive.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/detail/interface_oarchive.hpp (84%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/detail/iserializer.hpp (90%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/detail/oserializer.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/detail/polymorphic_iarchive_route.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/detail/polymorphic_oarchive_route.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/detail/register_archive.hpp (98%) create mode 100644 bundled/boost-1.62.0/include/boost/archive/detail/utf8_codecvt_facet.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/dinkumware.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/impl/archive_serializer_map.ipp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/impl/basic_binary_iarchive.ipp (93%) create mode 100644 bundled/boost-1.62.0/include/boost/archive/impl/basic_binary_iprimitive.ipp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/impl/basic_binary_oarchive.ipp (93%) create mode 100644 bundled/boost-1.62.0/include/boost/archive/impl/basic_binary_oprimitive.ipp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/impl/basic_text_iarchive.ipp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/impl/basic_text_iprimitive.ipp (75%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/impl/basic_text_oarchive.ipp (95%) create mode 100644 bundled/boost-1.62.0/include/boost/archive/impl/basic_text_oprimitive.ipp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/impl/basic_xml_grammar.hpp (89%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/impl/basic_xml_iarchive.ipp (82%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/impl/basic_xml_oarchive.ipp (83%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/impl/text_iarchive_impl.ipp (90%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/impl/text_oarchive_impl.ipp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/impl/text_wiarchive_impl.ipp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/impl/text_woarchive_impl.ipp (95%) create mode 100644 bundled/boost-1.62.0/include/boost/archive/impl/xml_iarchive_impl.ipp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/impl/xml_oarchive_impl.ipp (76%) create mode 100644 bundled/boost-1.62.0/include/boost/archive/impl/xml_wiarchive_impl.ipp create mode 100644 bundled/boost-1.62.0/include/boost/archive/impl/xml_woarchive_impl.ipp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/iterators/base64_exception.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/iterators/base64_from_binary.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/iterators/binary_from_base64.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/iterators/dataflow.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/iterators/dataflow_exception.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/iterators/escape.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/iterators/head_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/iterators/insert_linebreaks.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/iterators/istream_iterator.hpp (83%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/iterators/mb_from_wchar.hpp (80%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/iterators/ostream_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/iterators/remove_whitespace.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/iterators/transform_width.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/iterators/unescape.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/archive/iterators/wchar_from_mb.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/iterators/xml_escape.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/iterators/xml_unescape.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/iterators/xml_unescape_exception.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/polymorphic_binary_iarchive.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/polymorphic_binary_oarchive.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/polymorphic_iarchive.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/polymorphic_oarchive.hpp (90%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/polymorphic_text_iarchive.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/polymorphic_text_oarchive.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/polymorphic_text_wiarchive.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/polymorphic_text_woarchive.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/polymorphic_xml_iarchive.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/polymorphic_xml_oarchive.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/polymorphic_xml_wiarchive.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/polymorphic_xml_woarchive.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/shared_ptr_helper.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/archive/text_iarchive.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/text_oarchive.hpp (81%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/text_wiarchive.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/text_woarchive.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/tmpdir.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/wcslen.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/archive/xml_archive_exception.hpp (85%) create mode 100644 bundled/boost-1.62.0/include/boost/archive/xml_iarchive.hpp create mode 100644 bundled/boost-1.62.0/include/boost/archive/xml_oarchive.hpp create mode 100644 bundled/boost-1.62.0/include/boost/archive/xml_wiarchive.hpp create mode 100644 bundled/boost-1.62.0/include/boost/archive/xml_woarchive.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/array.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/asio.hpp (98%) create mode 100644 bundled/boost-1.62.0/include/boost/assert.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/assign.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic/atomic.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic/atomic_flag.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic/capabilities.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic/detail/atomic_flag.hpp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic/detail/atomic_template.hpp (82%) create mode 100644 bundled/boost-1.62.0/include/boost/atomic/detail/bitwise_cast.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic/detail/caps_gcc_alpha.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic/detail/caps_gcc_arm.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic/detail/caps_gcc_atomic.hpp (78%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic/detail/caps_gcc_ppc.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic/detail/caps_gcc_sparc.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic/detail/caps_gcc_sync.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic/detail/caps_gcc_x86.hpp (76%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic/detail/caps_linux_arm.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic/detail/caps_msvc_arm.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic/detail/caps_msvc_x86.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic/detail/caps_windows.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic/detail/casts.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/atomic/detail/config.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic/detail/int_sizes.hpp (96%) create mode 100644 bundled/boost-1.62.0/include/boost/atomic/detail/interlocked.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic/detail/link.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic/detail/lockpool.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic/detail/operations.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/atomic/detail/operations_fwd.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic/detail/operations_lockfree.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic/detail/ops_cas_based.hpp (78%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic/detail/ops_emulated.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic/detail/ops_extending_cas_based.hpp (89%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic/detail/ops_gcc_alpha.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic/detail/ops_gcc_arm.hpp (96%) create mode 100644 bundled/boost-1.62.0/include/boost/atomic/detail/ops_gcc_atomic.hpp create mode 100644 bundled/boost-1.62.0/include/boost/atomic/detail/ops_gcc_ppc.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic/detail/ops_gcc_sparc.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic/detail/ops_gcc_sync.hpp (82%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic/detail/ops_gcc_x86.hpp (92%) create mode 100644 bundled/boost-1.62.0/include/boost/atomic/detail/ops_gcc_x86_dcas.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic/detail/ops_linux_arm.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic/detail/ops_msvc_arm.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic/detail/ops_msvc_common.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic/detail/ops_msvc_x86.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic/detail/ops_windows.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic/detail/pause.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic/detail/platform.hpp (85%) create mode 100644 bundled/boost-1.62.0/include/boost/atomic/detail/storage_type.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/atomic/fences.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/bimap.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/bind.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/bind/apply.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/bind/arg.hpp (85%) create mode 100644 bundled/boost-1.62.0/include/boost/bind/bind.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/bind/bind_cc.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/bind/bind_mf2_cc.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/bind/bind_mf_cc.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/bind/bind_template.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/bind/make_adaptable.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/bind/mem_fn.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/bind/mem_fn_cc.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/bind/mem_fn_template.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/bind/mem_fn_vw.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/bind/placeholders.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/bind/protect.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/bind/storage.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/blank.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/blank_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/call_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/cast.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/cerrno.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/checked_delete.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/chrono.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/chrono/ceil.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/chrono/chrono.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/chrono/chrono_io.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/chrono/clock_string.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/chrono/config.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/chrono/detail/inlined/chrono.hpp create mode 100644 bundled/boost-1.62.0/include/boost/chrono/detail/inlined/mac/chrono.hpp create mode 100644 bundled/boost-1.62.0/include/boost/chrono/detail/inlined/mac/process_cpu_clocks.hpp create mode 100644 bundled/boost-1.62.0/include/boost/chrono/detail/inlined/mac/thread_clock.hpp create mode 100644 bundled/boost-1.62.0/include/boost/chrono/detail/inlined/posix/chrono.hpp create mode 100644 bundled/boost-1.62.0/include/boost/chrono/detail/inlined/posix/process_cpu_clocks.hpp create mode 100644 bundled/boost-1.62.0/include/boost/chrono/detail/inlined/posix/thread_clock.hpp create mode 100644 bundled/boost-1.62.0/include/boost/chrono/detail/inlined/process_cpu_clocks.hpp create mode 100644 bundled/boost-1.62.0/include/boost/chrono/detail/inlined/thread_clock.hpp create mode 100644 bundled/boost-1.62.0/include/boost/chrono/detail/inlined/win/chrono.hpp create mode 100644 bundled/boost-1.62.0/include/boost/chrono/detail/inlined/win/process_cpu_clocks.hpp create mode 100644 bundled/boost-1.62.0/include/boost/chrono/detail/inlined/win/thread_clock.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/chrono/detail/is_evenly_divisible_by.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/chrono/detail/no_warning/signed_unsigned_cmp.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/chrono/detail/scan_keyword.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/chrono/detail/static_assert.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/chrono/detail/system.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/chrono/duration.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/chrono/floor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/chrono/include.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/chrono/io/duration_get.hpp (98%) create mode 100644 bundled/boost-1.62.0/include/boost/chrono/io/duration_io.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/chrono/io/duration_put.hpp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/chrono/io/duration_style.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/chrono/io/duration_units.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/chrono/io/ios_base_state.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/chrono/io/time_point_get.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/chrono/io/time_point_io.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/chrono/io/time_point_put.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/chrono/io/time_point_units.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/chrono/io/timezone.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/chrono/io/utility/ios_base_state_ptr.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/chrono/io/utility/manip_base.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/chrono/io/utility/to_string.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/chrono/io_v1/chrono_io.hpp (98%) create mode 100644 bundled/boost-1.62.0/include/boost/chrono/process_cpu_clocks.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/chrono/round.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/chrono/system_clocks.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/chrono/thread_clock.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/chrono/time_point.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/chrono/typeof/boost/chrono/chrono.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/chrono/typeof/boost/ratio.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/circular_buffer.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/circular_buffer_fwd.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/compressed_pair.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/compute.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/concept/assert.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/concept/detail/backward_compatibility.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/concept/detail/borland.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/concept/detail/concept_def.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/concept/detail/concept_undef.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/concept/detail/general.hpp (84%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/concept/detail/has_constraints.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/concept/detail/msvc.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/concept/requires.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/concept/usage.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/concept_archetype.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/concept_check.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/concept_check/borland.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/concept_check/general.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/concept_check/has_constraints.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/concept_check/msvc.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/abi/borland_prefix.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/abi/borland_suffix.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/abi/msvc_prefix.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/abi/msvc_suffix.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/abi_prefix.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/abi_suffix.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/config/auto_link.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/compiler/borland.hpp (88%) create mode 100644 bundled/boost-1.62.0/include/boost/config/compiler/clang.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/compiler/codegear.hpp (83%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/compiler/comeau.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/compiler/common_edg.hpp (75%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/compiler/compaq_cxx.hpp (90%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/compiler/cray.hpp (96%) create mode 100644 bundled/boost-1.62.0/include/boost/config/compiler/digitalmars.hpp create mode 100644 bundled/boost-1.62.0/include/boost/config/compiler/gcc.hpp create mode 100644 bundled/boost-1.62.0/include/boost/config/compiler/gcc_xml.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/compiler/greenhills.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/compiler/hp_acc.hpp (98%) create mode 100644 bundled/boost-1.62.0/include/boost/config/compiler/intel.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/compiler/kai.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/compiler/metrowerks.hpp (79%) create mode 100644 bundled/boost-1.62.0/include/boost/config/compiler/mpw.hpp create mode 100644 bundled/boost-1.62.0/include/boost/config/compiler/nvcc.hpp create mode 100644 bundled/boost-1.62.0/include/boost/config/compiler/pathscale.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/compiler/pgi.hpp (76%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/compiler/sgi_mipspro.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/compiler/sunpro_cc.hpp (75%) create mode 100644 bundled/boost-1.62.0/include/boost/config/compiler/vacpp.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/compiler/visualc.hpp (80%) create mode 100644 bundled/boost-1.62.0/include/boost/config/compiler/xlcpp.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/no_tr1/cmath.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/no_tr1/complex.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/no_tr1/functional.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/no_tr1/memory.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/no_tr1/utility.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/platform/aix.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/platform/amigaos.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/platform/beos.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/platform/bsd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/config/platform/cloudabi.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/platform/cray.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/platform/cygwin.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/config/platform/haiku.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/platform/hpux.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/platform/irix.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/platform/linux.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/platform/macos.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/platform/qnxnto.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/platform/solaris.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/platform/symbian.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/platform/vms.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/platform/vxworks.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/platform/win32.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/posix_features.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/requires_threads.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/config/select_compiler_config.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/select_platform_config.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/select_stdlib_config.hpp (80%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/stdlib/dinkumware.hpp (81%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/stdlib/libcomo.hpp (90%) create mode 100644 bundled/boost-1.62.0/include/boost/config/stdlib/libcpp.hpp create mode 100644 bundled/boost-1.62.0/include/boost/config/stdlib/libstdcpp3.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/stdlib/modena.hpp (88%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/stdlib/msl.hpp (90%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/stdlib/roguewave.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/stdlib/sgi.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/stdlib/stlport.hpp (97%) create mode 100644 bundled/boost-1.62.0/include/boost/config/stdlib/vacpp.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/suffix.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/user.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/config/warning_disable.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/container/adaptive_pool.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/container/allocator.hpp (80%) create mode 100644 bundled/boost-1.62.0/include/boost/container/allocator_traits.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/container_fwd.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/deque.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/container/detail/adaptive_node_pool.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/container/detail/adaptive_node_pool_impl.hpp (98%) create mode 100644 bundled/boost-1.62.0/include/boost/container/detail/addressof.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/detail/advanced_insert_int.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/detail/algorithm.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/container/detail/algorithms.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/container/detail/alloc_helpers.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/container/detail/alloc_lib.h (84%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/container/detail/alloc_lib_auto_link.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/container/detail/allocation_type.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/container/detail/allocator_version_traits.hpp (82%) create mode 100644 bundled/boost-1.62.0/include/boost/container/detail/auto_link.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/detail/block_list.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/detail/block_slist.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/detail/compare_functors.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/detail/config_begin.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/detail/config_end.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/detail/construct_in_place.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/detail/copy_move_algo.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/container/detail/destroyers.hpp (78%) create mode 100644 bundled/boost-1.62.0/include/boost/container/detail/dispatch_uses_allocator.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/detail/dlmalloc.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/detail/flat_tree.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/detail/function_detector.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/container/detail/hash_table.hpp (94%) create mode 100644 bundled/boost-1.62.0/include/boost/container/detail/is_sorted.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/detail/iterator.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/detail/iterator_to_raw_pointer.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/detail/iterators.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/container/detail/math_functions.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/container/detail/memory_util.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/container/detail/min_max.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/detail/minimal_char_traits_header.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/detail/mpl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/container/detail/multiallocation_chain.hpp (96%) create mode 100644 bundled/boost-1.62.0/include/boost/container/detail/mutex.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/detail/next_capacity.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/detail/node_alloc_holder.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/container/detail/node_pool.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/container/detail/node_pool_impl.hpp (95%) create mode 100644 bundled/boost-1.62.0/include/boost/container/detail/pair.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/detail/placement_new.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/container/detail/pool_common.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/container/detail/pool_common_alloc.hpp (87%) create mode 100644 bundled/boost-1.62.0/include/boost/container/detail/pool_resource.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/container/detail/preprocessor.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/container/detail/singleton.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/detail/std_fwd.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/detail/to_raw_pointer.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/detail/transform_iterator.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/detail/tree.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/detail/type_traits.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/container/detail/utilities.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/container/detail/value_init.hpp (89%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/container/detail/variadic_templates_tools.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/container/detail/version_type.hpp (88%) create mode 100644 bundled/boost-1.62.0/include/boost/container/detail/workaround.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/flat_map.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/flat_set.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/list.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/map.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/new_allocator.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/container/node_allocator.hpp (78%) create mode 100644 bundled/boost-1.62.0/include/boost/container/node_handle.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/options.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/pmr/deque.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/pmr/flat_map.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/pmr/flat_set.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/pmr/global_resource.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/pmr/list.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/pmr/map.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/pmr/memory_resource.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/pmr/monotonic_buffer_resource.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/pmr/polymorphic_allocator.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/pmr/pool_options.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/pmr/resource_adaptor.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/pmr/set.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/pmr/slist.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/pmr/small_vector.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/pmr/stable_vector.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/pmr/string.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/pmr/synchronized_pool_resource.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/pmr/unsynchronized_pool_resource.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/pmr/vector.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/scoped_allocator.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/scoped_allocator_fwd.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/set.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/slist.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/small_vector.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/stable_vector.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/static_vector.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/string.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/container/throw_exception.hpp (97%) create mode 100644 bundled/boost-1.62.0/include/boost/container/uses_allocator.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/uses_allocator_fwd.hpp create mode 100644 bundled/boost-1.62.0/include/boost/container/vector.hpp create mode 100644 bundled/boost-1.62.0/include/boost/convert.hpp create mode 100644 bundled/boost-1.62.0/include/boost/core/addressof.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/core/checked_delete.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/core/demangle.hpp (75%) create mode 100644 bundled/boost-1.62.0/include/boost/core/enable_if.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/core/explicit_operator_bool.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/core/ignore_unused.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/core/is_same.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/core/lightweight_test.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/core/lightweight_test_trait.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/core/no_exceptions_support.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/core/noncopyable.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/core/null_deleter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/core/ref.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/core/scoped_enum.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/core/swap.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/core/typeinfo.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/core/underlying_type.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/crc.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/cregex.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/cstdfloat.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/cstdint.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/cstdlib.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/current_function.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/cxx11_char_types.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/adjust_functors.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/c_local_time_adjustor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/c_time.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/compiler_config.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/constrained_value.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/date.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/date_clock_device.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/date_defs.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/date_duration.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/date_duration_types.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/date_facet.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/date_format_simple.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/date_formatting.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/date_formatting_limited.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/date_formatting_locales.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/date_generator_formatter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/date_generator_parser.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/date_generators.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/date_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/date_names_put.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/date_parsing.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/dst_rules.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/dst_transition_generators.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/filetime_functions.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/format_date_parser.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/gregorian/conversion.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/gregorian/formatters.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/gregorian/formatters_limited.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/gregorian/greg_calendar.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/gregorian/greg_date.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/gregorian/greg_day.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/gregorian/greg_day_of_year.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/gregorian/greg_duration.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/gregorian/greg_duration_types.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/gregorian/greg_facet.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/gregorian/greg_month.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/gregorian/greg_serialize.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/gregorian/greg_weekday.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/gregorian/greg_year.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/gregorian/greg_ymd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/gregorian/gregorian.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/gregorian/gregorian_io.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/gregorian/gregorian_types.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/gregorian/parsers.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/gregorian_calendar.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/gregorian_calendar.ipp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/int_adapter.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/iso_format.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/local_time/conversion.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/local_time/custom_time_zone.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/local_time/date_duration_operators.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/local_time/dst_transition_day_rules.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/local_time/local_date_time.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/local_time/local_time.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/local_time/local_time_io.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/local_time/local_time_types.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/local_time/posix_time_zone.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/local_time/tz_database.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/local_time_adjustor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/local_timezone_defs.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/locale_config.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/microsec_time_clock.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/parse_format_base.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/period.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/period_formatter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/period_parser.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/posix_time/conversion.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/posix_time/date_duration_operators.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/posix_time/posix_time.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/posix_time/posix_time_config.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/posix_time/posix_time_duration.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/posix_time/posix_time_io.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/posix_time/posix_time_legacy_io.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/posix_time/posix_time_system.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/posix_time/posix_time_types.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/posix_time/ptime.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/posix_time/time_formatters.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/posix_time/time_formatters_limited.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/posix_time/time_parsers.hpp (90%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/posix_time/time_period.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/posix_time/time_serialize.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/special_defs.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/special_values_formatter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/special_values_parser.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/string_convert.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/string_parse_tree.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/strings_from_facet.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/date_time/time.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/time_clock.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/time_defs.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/time_duration.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/time_facet.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/time_formatting_streams.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/time_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/time_parsing.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/time_resolution_traits.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/time_system_counted.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/time_system_split.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/time_zone_base.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/time_zone_names.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/tz_db_base.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/wrapping_int.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/date_time/year_month_day.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/algorithm.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/allocator_utilities.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/atomic_count.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/atomic_redef_macros.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/atomic_undef_macros.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/basic_pointerbuf.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/binary_search.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/bitmask.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/call_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/catch_exceptions.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/compressed_pair.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/container_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/dynamic_bitset.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/endian.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/fenv.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/has_default_constructor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/identifier.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/indirect_traits.hpp (98%) create mode 100644 bundled/boost-1.62.0/include/boost/detail/interlocked.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/is_incrementable.hpp (76%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/is_sorted.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/is_xxx.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/detail/iterator.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/lcast_precision.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/lightweight_main.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/lightweight_mutex.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/lightweight_test.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/detail/lightweight_test_report.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/lightweight_thread.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/named_template_params.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/no_exceptions_support.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/numeric_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/ob_compressed_pair.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/quick_allocator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/reference_content.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/scoped_enum_emulation.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/select_type.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/sp_typeinfo.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/templated_streams.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/detail/utf8_codecvt_facet.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/utf8_codecvt_facet.ipp (93%) create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/GetCurrentProcess.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/GetCurrentThread.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/GetLastError.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/GetProcessTimes.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/GetThreadTimes.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/winapi/LocalFree.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/access_rights.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/apc.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/basic_types.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/character_code_conversion.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/condition_variable.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/config.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/critical_section.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/crypt.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/dbghelp.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/detail/cast_ptr.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/directory_management.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/dll.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/environment.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/error_codes.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/error_handling.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/event.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/file_management.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/file_mapping.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/get_current_process.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/get_current_process_id.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/get_current_thread.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/get_current_thread_id.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/get_last_error.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/get_process_times.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/get_system_directory.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/get_thread_times.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/handle_info.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/handles.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/heap_memory.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/init_once.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/jobs.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/limits.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/local_memory.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/memory.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/mutex.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/overlapped.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/page_protection_flags.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/pipes.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/priority_class.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/process.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/security.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/semaphore.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/shell.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/show_window.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/srw_lock.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/synchronization.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/system.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/thread.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/thread_pool.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/time.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/timers.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/tls.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/wait.hpp create mode 100644 bundled/boost-1.62.0/include/boost/detail/winapi/waitable_timer.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/detail/workaround.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/dynamic_bitset.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/dynamic_bitset_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/enable_shared_from_this.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/exception/N3757.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/exception/all.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/exception/current_exception_cast.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/exception/detail/clone_current_exception.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/exception/detail/error_info_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/exception/detail/exception_ptr.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/exception/detail/is_output_streamable.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/exception/detail/object_hex_dump.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/exception/detail/type_info.hpp (81%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/exception/diagnostic_information.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/exception/enable_current_exception.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/exception/enable_error_info.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/exception/errinfo_api_function.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/exception/errinfo_at_line.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/exception/errinfo_errno.hpp (90%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/exception/errinfo_file_handle.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/exception/errinfo_file_name.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/exception/errinfo_file_open_mode.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/exception/errinfo_nested_exception.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/exception/errinfo_type_info_name.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/exception/error_info.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/exception/exception.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/exception/get_error_info.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/exception/info.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/exception/info_tuple.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/exception/to_string.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/exception/to_string_stub.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/exception_ptr.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/filesystem.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/flyweight.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/foreach.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/foreach_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/format.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/format/alt_sstream.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/format/alt_sstream_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/format/detail/compat_workarounds.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/format/detail/config_macros.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/format/detail/msvc_disambiguater.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/format/detail/unset_macros.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/format/detail/workarounds_gcc-2_95.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/format/detail/workarounds_stlport.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/format/exceptions.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/format/feed_args.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/format/format_class.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/format/format_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/format/format_implementation.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/format/free_funcs.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/format/group.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/format/internals.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/format/internals_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/format/parsing.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function/detail/function_iterate.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function/detail/gen_maybe_include.pl (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function/detail/maybe_include.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function/detail/prologue.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function/function0.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function/function1.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function/function10.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function/function2.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function/function3.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function/function4.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function/function5.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function/function6.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function/function7.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function/function8.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function/function9.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function/function_base.hpp (78%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function/function_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function/function_template.hpp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function/function_typeof.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function/gen_function_N.pl (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_equal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_output_iterator.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/components.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/config/cc_names.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/config/compiler.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/config/config.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/class_transform.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/classifier.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/classifier_impl/arity10_0.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/classifier_impl/arity10_1.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/classifier_impl/arity20_0.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/classifier_impl/arity20_1.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/classifier_impl/arity30_0.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/classifier_impl/arity30_1.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/classifier_impl/arity40_0.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/classifier_impl/arity40_1.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/classifier_impl/arity50_0.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/classifier_impl/arity50_1.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/classifier_impl/master.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/components_as_mpl_sequence.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/components_impl/arity10_0.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/components_impl/arity10_1.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/components_impl/arity20_0.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/components_impl/arity20_1.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/components_impl/arity30_0.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/components_impl/arity30_1.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/components_impl/arity40_0.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/components_impl/arity40_1.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/components_impl/arity50_0.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/components_impl/arity50_1.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/components_impl/master.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/cv_traits.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/encoding/aliases_def.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/encoding/aliases_undef.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/encoding/def.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/encoding/undef.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/pp_arity_loop.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/pp_cc_loop/master.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/pp_cc_loop/preprocessed.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/pp_loop.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/pp_retag_default_cc/master.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/pp_retag_default_cc/preprocessed.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/pp_tags/cc_tag.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/pp_tags/master.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/pp_tags/preprocessed.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/pp_variate_loop/master.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/pp_variate_loop/preprocessed.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/retag_default_cc.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/synthesize.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/synthesize_impl/arity10_0.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/synthesize_impl/arity10_1.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/synthesize_impl/arity20_0.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/synthesize_impl/arity20_1.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/synthesize_impl/arity30_0.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/synthesize_impl/arity30_1.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/synthesize_impl/arity40_0.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/synthesize_impl/arity40_1.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/synthesize_impl/arity50_0.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/synthesize_impl/arity50_1.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/synthesize_impl/master.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/detail/to_sequence.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/function_arity.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/function_pointer.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/function_reference.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/function_type.hpp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/is_callable_builtin.hpp (86%) create mode 100644 bundled/boost-1.62.0/include/boost/function_types/is_function.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/is_function_pointer.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/is_function_reference.hpp (85%) create mode 100644 bundled/boost-1.62.0/include/boost/function_types/is_member_function_pointer.hpp create mode 100644 bundled/boost-1.62.0/include/boost/function_types/is_member_object_pointer.hpp create mode 100644 bundled/boost-1.62.0/include/boost/function_types/is_member_pointer.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/is_nonmember_callable_builtin.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/member_function_pointer.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/member_object_pointer.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/parameter_types.hpp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/property_tags.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/function_types/result_type.hpp (89%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/functional.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/functional/factory.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/functional/forward_adapter.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/functional/hash.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/functional/hash/detail/float_functions.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/functional/hash/detail/hash_float.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/functional/hash/detail/limits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/functional/hash/extensions.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/functional/hash/hash.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/functional/hash/hash_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/functional/hash_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/functional/lightweight_forward_adapter.hpp (89%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/functional/overloaded_function.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/functional/overloaded_function/config.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/functional/overloaded_function/detail/base.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/functional/overloaded_function/detail/function_type.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/functional/value_factory.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/adt.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/adt/adapt_adt.hpp (75%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/adt/adapt_adt_named.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/adt/adapt_assoc_adt.hpp (81%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/adt/adapt_assoc_adt_named.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/adapted/adt/detail/adapt_base.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/adapted/adt/detail/adapt_base_assoc_attr_filler.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/adapted/adt/detail/adapt_base_attr_filler.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/adt/detail/extension.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/array.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/adapted/array/at_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/adapted/array/begin_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/array/category_of_impl.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/adapted/array/deref_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/adapted/array/end_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/array/is_sequence_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/array/is_view_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/array/size_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/array/tag_of.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/array/value_at_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/array/value_of_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/boost_array.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/boost_array/array_iterator.hpp (88%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/adapted/boost_array/detail/at_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/adapted/boost_array/detail/begin_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/boost_array/detail/category_of_impl.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/adapted/boost_array/detail/end_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/boost_array/detail/is_sequence_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/boost_array/detail/is_view_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/boost_array/detail/size_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/boost_array/detail/value_at_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/boost_array/tag_of.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/boost_tuple.hpp (89%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/boost_tuple/boost_tuple_iterator.hpp (90%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/boost_tuple/detail/at_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/boost_tuple/detail/begin_impl.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/adapted/boost_tuple/detail/build_cons.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/boost_tuple/detail/category_of_impl.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/adapted/boost_tuple/detail/convert_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/boost_tuple/detail/end_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/boost_tuple/detail/is_sequence_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/boost_tuple/detail/is_view_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/boost_tuple/detail/size_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/boost_tuple/detail/value_at_impl.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/adapted/boost_tuple/mpl/clear.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/boost_tuple/tag_of.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/mpl.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/adapted/mpl/detail/at_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/adapted/mpl/detail/begin_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/mpl/detail/category_of_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/mpl/detail/empty_impl.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/adapted/mpl/detail/end_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/mpl/detail/has_key_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/mpl/detail/is_sequence_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/mpl/detail/is_view_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/mpl/detail/size_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/mpl/detail/value_at_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/mpl/mpl_iterator.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/std_pair.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/adapted/std_tuple.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/adapted/std_tuple/detail/at_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/adapted/std_tuple/detail/begin_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/adapted/std_tuple/detail/build_std_tuple.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/std_tuple/detail/category_of_impl.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/adapted/std_tuple/detail/convert_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/adapted/std_tuple/detail/end_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/std_tuple/detail/is_sequence_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/std_tuple/detail/is_view_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/std_tuple/detail/size_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/std_tuple/detail/value_at_impl.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/adapted/std_tuple/mpl/clear.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/std_tuple/std_tuple_iterator.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/std_tuple/tag_of.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/struct.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/struct/adapt_assoc_struct.hpp (81%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/adapted/struct/adapt_assoc_struct_named.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/adapted/struct/adapt_struct.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/adapted/struct/adapt_struct_named.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/struct/define_assoc_struct.hpp (81%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/adapted/struct/define_struct.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/struct/define_struct_inline.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/adapted/struct/detail/adapt_auto.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/adapted/struct/detail/adapt_base.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/adapted/struct/detail/adapt_base_assoc_attr_filler.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/adapted/struct/detail/adapt_base_attr_filler.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/adapted/struct/detail/adapt_is_tpl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/struct/detail/at_impl.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/adapted/struct/detail/begin_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/struct/detail/category_of_impl.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/adapted/struct/detail/define_struct.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/struct/detail/define_struct_inline.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/struct/detail/deref_data_impl.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/adapted/struct/detail/deref_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/adapted/struct/detail/end_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/struct/detail/extension.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/struct/detail/is_sequence_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/struct/detail/is_view_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/struct/detail/key_of_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/struct/detail/namespace.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/adapted/struct/detail/preprocessor/is_seq.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/struct/detail/proxy_type.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/struct/detail/size_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/struct/detail/value_at_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/struct/detail/value_of_data_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/adapted/struct/detail/value_of_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/algorithm.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/algorithm/auxiliary.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/algorithm/auxiliary/copy.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/algorithm/auxiliary/move.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/algorithm/iteration.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/algorithm/iteration/accumulate.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/algorithm/iteration/accumulate_fwd.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/algorithm/iteration/detail/fold.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/algorithm/iteration/detail/for_each.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/algorithm/iteration/detail/preprocessed/fold.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/algorithm/iteration/detail/preprocessed/iter_fold.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_fold.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_iter_fold.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/algorithm/iteration/detail/segmented_fold.hpp (84%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/algorithm/iteration/detail/segmented_for_each.hpp (90%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/algorithm/iteration/fold.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/algorithm/iteration/fold_fwd.hpp (77%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/algorithm/iteration/for_each.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/algorithm/iteration/for_each_fwd.hpp (88%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/algorithm/iteration/iter_fold.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/algorithm/iteration/iter_fold_fwd.hpp (76%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/algorithm/iteration/reverse_fold.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/algorithm/iteration/reverse_fold_fwd.hpp (76%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/algorithm/iteration/reverse_iter_fold.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/algorithm/iteration/reverse_iter_fold_fwd.hpp (76%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/algorithm/query.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/algorithm/query/all.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/algorithm/query/any.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/algorithm/query/count.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/algorithm/query/count_if.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/algorithm/query/detail/all.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/algorithm/query/detail/any.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/algorithm/query/detail/count.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/algorithm/query/detail/count_if.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/algorithm/query/detail/find_if.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/algorithm/query/detail/segmented_find.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/algorithm/query/detail/segmented_find_if.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/algorithm/query/find.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/algorithm/query/find_fwd.hpp (90%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/algorithm/query/find_if.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/algorithm/query/find_if_fwd.hpp (85%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/algorithm/query/none.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/algorithm/transformation.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/algorithm/transformation/clear.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/algorithm/transformation/detail/preprocessed/zip.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/algorithm/transformation/detail/preprocessed/zip10.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/algorithm/transformation/detail/preprocessed/zip20.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/algorithm/transformation/detail/preprocessed/zip30.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/algorithm/transformation/detail/preprocessed/zip40.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/algorithm/transformation/detail/preprocessed/zip50.hpp (98%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/algorithm/transformation/detail/replace.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/algorithm/transformation/detail/replace_if.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/algorithm/transformation/erase.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/algorithm/transformation/erase_key.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/algorithm/transformation/filter.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/algorithm/transformation/filter_if.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/algorithm/transformation/flatten.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/algorithm/transformation/insert.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/algorithm/transformation/insert_range.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/algorithm/transformation/join.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/algorithm/transformation/pop_back.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/algorithm/transformation/pop_front.hpp (94%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/algorithm/transformation/push_back.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/algorithm/transformation/push_front.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/algorithm/transformation/remove.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/algorithm/transformation/remove_if.hpp (96%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/algorithm/transformation/replace.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/algorithm/transformation/replace_if.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/algorithm/transformation/reverse.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/algorithm/transformation/transform.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/algorithm/transformation/zip.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/deque.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/deque/back_extended_deque.hpp (88%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/deque/convert.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/deque/deque.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/deque/deque_fwd.hpp (78%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/deque/deque_iterator.hpp (85%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/deque/detail/at_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/deque/detail/begin_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/deque/detail/build_deque.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/deque/detail/convert_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/deque/detail/cpp03/as_deque.hpp (95%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/deque/detail/cpp03/build_deque.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/deque/detail/cpp03/deque.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/deque/detail/cpp03/deque_forward_ctor.hpp (89%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/deque/detail/cpp03/deque_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/deque/detail/cpp03/deque_initial_size.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/deque/detail/cpp03/deque_keyed_values.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/deque/detail/cpp03/deque_keyed_values_call.hpp (90%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/deque/detail/cpp03/limits.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque10.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque20.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque30.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque40.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque50.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque10.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque10_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque20.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque20_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque30.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque30_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque40.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque40_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque50.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque50_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size10.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size20.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size30.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size40.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size50.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values10.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values20.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values30.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values40.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values50.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/deque/detail/deque_keyed_values.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/deque/detail/end_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/deque/detail/is_sequence_impl.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/deque/detail/keyed_element.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/deque/detail/value_at_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/deque/front_extended_deque.hpp (89%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/cons_tie.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/deque_tie.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/pp_deque_tie.hpp (95%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/generation/detail/pp_list_tie.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/pp_make_deque.hpp (91%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/generation/detail/pp_make_list.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/pp_make_map.hpp (93%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/generation/detail/pp_make_set.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/generation/detail/pp_make_vector.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/pp_map_tie.hpp (93%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/generation/detail/pp_vector_tie.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/deque_tie.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/deque_tie10.hpp (77%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/deque_tie20.hpp (76%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/deque_tie30.hpp (75%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/deque_tie40.hpp (75%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/deque_tie50.hpp (75%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/list_tie.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/list_tie10.hpp (77%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/list_tie20.hpp (76%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/list_tie30.hpp (75%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/list_tie40.hpp (75%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/list_tie50.hpp (75%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/make_deque.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/make_deque10.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/make_deque20.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/make_deque30.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/make_deque40.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/make_deque50.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/make_list.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/make_list10.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/make_list20.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/make_list30.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/make_list40.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/make_list50.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/make_map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/make_map10.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/make_map20.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/make_map30.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/make_map40.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/make_map50.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/make_set.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/make_set10.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/make_set20.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/make_set30.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/make_set40.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/make_set50.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/make_vector.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/make_vector10.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/make_vector20.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/make_vector30.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/make_vector40.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/make_vector50.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/map_tie.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/map_tie10.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/map_tie20.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/map_tie30.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/map_tie40.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/map_tie50.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/vector_tie.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/vector_tie10.hpp (77%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/vector_tie20.hpp (76%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/vector_tie30.hpp (75%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/vector_tie40.hpp (75%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/detail/preprocessed/vector_tie50.hpp (75%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/ignore.hpp (82%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/generation/list_tie.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/make_cons.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/make_deque.hpp (91%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/generation/make_list.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/make_map.hpp (97%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/generation/make_set.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/generation/make_vector.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/map_tie.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/generation/pair_tie.hpp (93%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/generation/vector_tie.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/cons.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/list/cons_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/cons_iterator.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/convert.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/detail/at_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/detail/begin_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/detail/build_cons.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/detail/convert_impl.hpp rename bundled/{boost-1.56.0/include/boost/fusion/container/list => boost-1.62.0/include/boost/fusion/container/list/detail/cpp03}/limits.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/detail/cpp03/list.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/detail/cpp03/list_forward_ctor.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/detail/cpp03/list_fwd.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/detail/cpp03/list_to_cons.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/detail/cpp03/list_to_cons_call.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/detail/cpp03/preprocessed/list.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/detail/cpp03/preprocessed/list10.hpp rename bundled/{boost-1.56.0/include/boost/fusion/container/list/detail => boost-1.62.0/include/boost/fusion/container/list/detail/cpp03}/preprocessed/list10_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/detail/cpp03/preprocessed/list20.hpp rename bundled/{boost-1.56.0/include/boost/fusion/container/list/detail => boost-1.62.0/include/boost/fusion/container/list/detail/cpp03}/preprocessed/list20_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/detail/cpp03/preprocessed/list30.hpp rename bundled/{boost-1.56.0/include/boost/fusion/container/list/detail => boost-1.62.0/include/boost/fusion/container/list/detail/cpp03}/preprocessed/list30_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/detail/cpp03/preprocessed/list40.hpp rename bundled/{boost-1.56.0/include/boost/fusion/container/list/detail => boost-1.62.0/include/boost/fusion/container/list/detail/cpp03}/preprocessed/list40_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/detail/cpp03/preprocessed/list50.hpp rename bundled/{boost-1.56.0/include/boost/fusion/container/list/detail => boost-1.62.0/include/boost/fusion/container/list/detail/cpp03}/preprocessed/list50_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/detail/cpp03/preprocessed/list_fwd.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons10.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons20.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons30.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons40.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons50.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/detail/deref_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/list/detail/empty_impl.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/detail/end_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/detail/equal_to_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/list/detail/list_forward_ctor.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/detail/list_to_cons.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/list/detail/list_to_cons_call.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/detail/next_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/list/detail/preprocessed/list.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/list/detail/preprocessed/list10.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/detail/preprocessed/list10_fwd.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/list/detail/preprocessed/list20.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/detail/preprocessed/list20_fwd.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/list/detail/preprocessed/list30.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/detail/preprocessed/list30_fwd.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/list/detail/preprocessed/list40.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/detail/preprocessed/list40_fwd.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/list/detail/preprocessed/list50.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/detail/preprocessed/list50_fwd.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/list/detail/preprocessed/list_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/list/detail/preprocessed/list_to_cons.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/list/detail/preprocessed/list_to_cons10.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/list/detail/preprocessed/list_to_cons20.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/list/detail/preprocessed/list_to_cons30.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/list/detail/preprocessed/list_to_cons40.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/list/detail/preprocessed/list_to_cons50.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/list/detail/reverse_cons.hpp (93%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/detail/value_at_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/detail/value_of_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/limits.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/list.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/list/list_fwd.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/list/nil.hpp (82%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/map.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/map/convert.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/map/detail/at_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/map/detail/at_key_impl.hpp (82%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/map/detail/begin_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/map/detail/build_map.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/map/detail/cpp03/as_map.hpp (95%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/map/detail/cpp03/at_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/map/detail/cpp03/begin_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/map/detail/cpp03/convert.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/map/detail/cpp03/convert_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/map/detail/cpp03/deref_data_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/map/detail/cpp03/deref_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/map/detail/cpp03/end_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/map/detail/cpp03/key_of_impl.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/map/detail/cpp03/limits.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/map/detail/cpp03/map.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/map/detail/cpp03/map_forward_ctor.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/map/detail/cpp03/map_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/map/detail/cpp03/preprocessed/as_map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/map/detail/cpp03/preprocessed/as_map10.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/map/detail/cpp03/preprocessed/as_map20.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/map/detail/cpp03/preprocessed/as_map30.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/map/detail/cpp03/preprocessed/as_map40.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/map/detail/cpp03/preprocessed/as_map50.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/map/detail/cpp03/preprocessed/map.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/map/detail/cpp03/preprocessed/map10.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/map/detail/cpp03/preprocessed/map10_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/map/detail/cpp03/preprocessed/map20.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/map/detail/cpp03/preprocessed/map20_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/map/detail/cpp03/preprocessed/map30.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/map/detail/cpp03/preprocessed/map30_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/map/detail/cpp03/preprocessed/map40.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/map/detail/cpp03/preprocessed/map40_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/map/detail/cpp03/preprocessed/map50.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/map/detail/cpp03/preprocessed/map50_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/map/detail/cpp03/preprocessed/map_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/map/detail/cpp03/value_at_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/map/detail/cpp03/value_of_data_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/map/detail/cpp03/value_of_impl.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/map/detail/end_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/map/detail/map_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/map/detail/map_index.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/map/detail/value_at_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/map/detail/value_at_key_impl.hpp (89%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/map/map.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/map/map_fwd.hpp (88%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/map/map_iterator.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/set.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/set/convert.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/set/detail/as_set.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/set/detail/begin_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/set/detail/convert_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/set/detail/cpp03/as_set.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/set/detail/cpp03/limits.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/set/detail/cpp03/preprocessed/as_set.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/set/detail/cpp03/preprocessed/as_set10.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/set/detail/cpp03/preprocessed/as_set20.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/set/detail/cpp03/preprocessed/as_set30.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/set/detail/cpp03/preprocessed/as_set40.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/set/detail/cpp03/preprocessed/as_set50.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/set/detail/cpp03/preprocessed/set.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/set/detail/cpp03/preprocessed/set10.hpp rename bundled/{boost-1.56.0/include/boost/fusion/container/set/detail => boost-1.62.0/include/boost/fusion/container/set/detail/cpp03}/preprocessed/set10_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/set/detail/cpp03/preprocessed/set20.hpp rename bundled/{boost-1.56.0/include/boost/fusion/container/set/detail => boost-1.62.0/include/boost/fusion/container/set/detail/cpp03}/preprocessed/set20_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/set/detail/cpp03/preprocessed/set30.hpp rename bundled/{boost-1.56.0/include/boost/fusion/container/set/detail => boost-1.62.0/include/boost/fusion/container/set/detail/cpp03}/preprocessed/set30_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/set/detail/cpp03/preprocessed/set40.hpp rename bundled/{boost-1.56.0/include/boost/fusion/container/set/detail => boost-1.62.0/include/boost/fusion/container/set/detail/cpp03}/preprocessed/set40_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/set/detail/cpp03/preprocessed/set50.hpp rename bundled/{boost-1.56.0/include/boost/fusion/container/set/detail => boost-1.62.0/include/boost/fusion/container/set/detail/cpp03}/preprocessed/set50_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/set/detail/cpp03/preprocessed/set_fwd.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/set/detail/cpp03/set.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/set/detail/cpp03/set_forward_ctor.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/set/detail/cpp03/set_fwd.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/set/detail/deref_data_impl.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/set/detail/deref_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/set/detail/end_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/set/detail/key_of_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/set/detail/preprocessed/as_set.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/set/detail/preprocessed/as_set10.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/set/detail/preprocessed/as_set20.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/set/detail/preprocessed/as_set30.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/set/detail/preprocessed/as_set40.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/set/detail/preprocessed/as_set50.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/set/detail/preprocessed/set.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/set/detail/preprocessed/set10.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/set/detail/preprocessed/set10_fwd.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/set/detail/preprocessed/set20.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/set/detail/preprocessed/set20_fwd.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/set/detail/preprocessed/set30.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/set/detail/preprocessed/set30_fwd.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/set/detail/preprocessed/set40.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/set/detail/preprocessed/set40_fwd.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/set/detail/preprocessed/set50.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/set/detail/preprocessed/set50_fwd.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/set/detail/preprocessed/set_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/set/detail/set_forward_ctor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/set/detail/value_of_data_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/set/detail/value_of_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/set/limits.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/set/set.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/set/set_fwd.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/convert.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/advance_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/as_vector.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/at_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/begin_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/config.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/convert_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03/as_vector.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03/limits.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector10.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector20.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector30.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector40.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector50.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vector.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vector10.hpp rename bundled/{boost-1.56.0/include/boost/fusion/container/vector/detail => boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03}/preprocessed/vector10_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vector20.hpp rename bundled/{boost-1.56.0/include/boost/fusion/container/vector/detail => boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03}/preprocessed/vector20_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vector30.hpp rename bundled/{boost-1.56.0/include/boost/fusion/container/vector/detail => boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03}/preprocessed/vector30_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vector40.hpp rename bundled/{boost-1.56.0/include/boost/fusion/container/vector/detail => boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03}/preprocessed/vector40_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vector50.hpp rename bundled/{boost-1.56.0/include/boost/fusion/container/vector/detail => boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03}/preprocessed/vector50_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser.hpp rename bundled/{boost-1.56.0/include/boost/fusion/container/vector/detail => boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03}/preprocessed/vector_chooser10.hpp (100%) rename bundled/{boost-1.56.0/include/boost/fusion/container/vector/detail => boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03}/preprocessed/vector_chooser20.hpp (100%) rename bundled/{boost-1.56.0/include/boost/fusion/container/vector/detail => boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03}/preprocessed/vector_chooser30.hpp (100%) rename bundled/{boost-1.56.0/include/boost/fusion/container/vector/detail => boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03}/preprocessed/vector_chooser40.hpp (100%) rename bundled/{boost-1.56.0/include/boost/fusion/container/vector/detail => boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03}/preprocessed/vector_chooser50.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_fwd.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector10.hpp rename bundled/{boost-1.56.0/include/boost/fusion/container/vector/detail => boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03}/preprocessed/vvector10_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector20.hpp rename bundled/{boost-1.56.0/include/boost/fusion/container/vector/detail => boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03}/preprocessed/vvector20_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector30.hpp rename bundled/{boost-1.56.0/include/boost/fusion/container/vector/detail => boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03}/preprocessed/vvector30_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector40.hpp rename bundled/{boost-1.56.0/include/boost/fusion/container/vector/detail => boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03}/preprocessed/vvector40_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector50.hpp rename bundled/{boost-1.56.0/include/boost/fusion/container/vector/detail => boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03}/preprocessed/vvector50_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03/value_at_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03/vector.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03/vector10.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03/vector10_fwd.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03/vector20.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03/vector20_fwd.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03/vector30.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03/vector30_fwd.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03/vector40.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03/vector40_fwd.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03/vector50.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03/vector50_fwd.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03/vector_forward_ctor.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03/vector_fwd.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03/vector_n.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/cpp03/vector_n_chooser.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/deref_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/distance_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/end_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/equal_to_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/next_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/vector/detail/preprocessed/as_vector.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/vector/detail/preprocessed/as_vector10.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/vector/detail/preprocessed/as_vector20.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/vector/detail/preprocessed/as_vector30.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/vector/detail/preprocessed/as_vector40.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/vector/detail/preprocessed/as_vector50.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/vector/detail/preprocessed/vector.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/vector/detail/preprocessed/vector10.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/preprocessed/vector10_fwd.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/vector/detail/preprocessed/vector20.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/preprocessed/vector20_fwd.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/vector/detail/preprocessed/vector30.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/preprocessed/vector30_fwd.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/vector/detail/preprocessed/vector40.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/preprocessed/vector40_fwd.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/vector/detail/preprocessed/vector50.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/preprocessed/vector50_fwd.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/vector/detail/preprocessed/vector_chooser.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/preprocessed/vector_chooser10.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/preprocessed/vector_chooser20.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/preprocessed/vector_chooser30.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/preprocessed/vector_chooser40.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/preprocessed/vector_chooser50.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/vector/detail/preprocessed/vector_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/vector/detail/preprocessed/vvector10.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/preprocessed/vvector10_fwd.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/vector/detail/preprocessed/vvector20.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/preprocessed/vvector20_fwd.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/vector/detail/preprocessed/vvector30.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/preprocessed/vvector30_fwd.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/vector/detail/preprocessed/vvector40.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/preprocessed/vvector40_fwd.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/vector/detail/preprocessed/vvector50.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/preprocessed/vvector50_fwd.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/prior_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/value_at_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/detail/value_of_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/vector/detail/vector_forward_ctor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/vector/detail/vector_n.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/vector/detail/vector_n_chooser.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/vector/limits.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/vector.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/vector10.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/vector/vector10_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/vector20.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/vector/vector20_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/vector30.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/vector/vector30_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/vector40.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/vector/vector40_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/vector50.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/vector/vector50_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/container/vector/vector_fwd.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/container/vector/vector_iterator.hpp (88%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/functional.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/functional/adapter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/functional/adapter/detail/access.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/functional/adapter/fused.hpp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/functional/adapter/fused_function_object.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/functional/adapter/fused_procedure.hpp (89%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/functional/adapter/limits.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/functional/adapter/unfused.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/functional/adapter/unfused_typed.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/functional/generation.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/functional/generation/detail/gen_make_adapter.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/functional/generation/make_fused.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/functional/generation/make_fused_function_object.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/functional/generation/make_fused_procedure.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/functional/generation/make_unfused.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/functional/invocation.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/functional/invocation/detail/that_ptr.hpp (81%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/functional/invocation/invoke.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/functional/invocation/invoke_function_object.hpp (82%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/functional/invocation/invoke_procedure.hpp (80%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/functional/invocation/limits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/accumulate.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/adapt_adt.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/adapt_adt_named.cpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/adapt_adt_named.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/adapt_assoc_adt.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/adapt_assoc_adt_named.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/adapt_assoc_class.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/adapt_assoc_class_named.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/adapt_assoc_struct.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/adapt_assoc_struct_named.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/adapt_struct.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/adapt_struct_named.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/adapted.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/adapter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/advance.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/algorithm.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/all.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/any.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/array.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/as_deque.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/as_list.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/as_map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/as_set.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/as_vector.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/at.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/at_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/at_key.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/auxiliary.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/back.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/begin.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/boost_array.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/boost_tuple.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/category_of.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/clear.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/comparison.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/cons.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/cons_tie.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/container.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/convert.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/copy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/count.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/count_if.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/deduce.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/deduce_sequence.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/define_assoc_struct.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/define_struct.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/define_struct_inline.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/deque.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/deque_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/deque_tie.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/deref.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/deref_data.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/distance.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/empty.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/end.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/equal_to.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/erase.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/erase_key.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/filter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/filter_if.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/filter_view.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/find.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/find_if.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/flatten.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/flatten_view.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/fold.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/for_each.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/front.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/functional.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/fused.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/fused_function_object.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/fused_procedure.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/generation.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/greater.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/greater_equal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/has_key.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/include/hash.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/ignore.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/in.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/insert.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/insert_range.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/intrinsic.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/invocation.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/invoke.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/invoke_function_object.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/invoke_procedure.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/io.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/is_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/is_segmented.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/is_sequence.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/is_view.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/iter_fold.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/iteration.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/iterator_adapter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/iterator_base.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/iterator_facade.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/iterator_range.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/join.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/joint_view.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/key_of.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/less.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/less_equal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/list.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/list_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/list_tie.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/make_cons.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/make_deque.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/make_fused.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/make_fused_function_object.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/make_fused_procedure.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/make_list.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/make_map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/make_set.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/make_tuple.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/make_unfused.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/make_vector.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/map_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/map_tie.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/move.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/mpl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/next.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/nil.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/none.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/not_equal_to.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/nview.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/out.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/pair.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/pair_tie.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/pop_back.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/pop_front.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/prior.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/proxy_type.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/push_back.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/push_front.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/query.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/remove.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/remove_if.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/repetitive_view.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/replace.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/replace_if.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/reverse.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/reverse_fold.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/reverse_iter_fold.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/reverse_view.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/segmented_fold_until.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/segmented_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/segments.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/sequence.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/sequence_base.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/sequence_facade.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/set.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/set_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/single_view.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/size.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/std_pair.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/include/std_tuple.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/struct.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/support.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/swap.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/tag_of.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/tag_of_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/transform.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/transform_view.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/transformation.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/tuple.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/tuple_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/tuple_tie.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/unfused.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/unfused_typed.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/unused.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/value_at.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/value_at_key.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/value_of.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/value_of_data.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/vector.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/vector10.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/vector20.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/vector30.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/vector40.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/vector50.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/vector_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/vector_tie.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/view.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/void.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/zip.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/include/zip_view.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/iterator.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/iterator/advance.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/iterator/basic_iterator.hpp (88%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/iterator/deref.hpp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/iterator/deref_data.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/iterator/detail/adapt_deref_traits.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/iterator/detail/adapt_value_traits.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/iterator/detail/advance.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/iterator/detail/distance.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/iterator/detail/segment_sequence.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/iterator/detail/segmented_equal_to.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/iterator/detail/segmented_iterator.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/iterator/detail/segmented_next_impl.hpp (93%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/iterator/distance.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/iterator/equal_to.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/iterator/iterator_adapter.hpp (79%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/iterator/iterator_facade.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/iterator/key_of.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/iterator/mpl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/iterator/mpl/convert_iterator.hpp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/iterator/mpl/fusion_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/iterator/next.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/iterator/prior.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/iterator/segmented_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/iterator/value_of.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/iterator/value_of_data.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/mpl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/mpl/at.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/mpl/back.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/mpl/begin.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/mpl/clear.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/mpl/detail/clear.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/mpl/empty.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/mpl/end.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/mpl/erase.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/mpl/erase_key.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/mpl/front.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/mpl/has_key.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/mpl/insert.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/mpl/insert_range.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/mpl/pop_back.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/mpl/pop_front.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/mpl/push_back.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/mpl/push_front.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/mpl/size.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/sequence.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/sequence/comparison.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/sequence/comparison/detail/equal_to.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/sequence/comparison/detail/greater.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/sequence/comparison/detail/greater_equal.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/sequence/comparison/detail/less.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/sequence/comparison/detail/less_equal.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/sequence/comparison/detail/not_equal_to.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/sequence/comparison/enable_comparison.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/sequence/comparison/equal_to.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/sequence/comparison/greater.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/sequence/comparison/greater_equal.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/sequence/comparison/less.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/sequence/comparison/less_equal.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/sequence/comparison/not_equal_to.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/sequence/convert.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/sequence/hash.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/sequence/intrinsic.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/sequence/intrinsic/at.hpp (75%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/sequence/intrinsic/at_c.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/sequence/intrinsic/at_key.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/sequence/intrinsic/back.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/sequence/intrinsic/begin.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/sequence/intrinsic/detail/segmented_begin_impl.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/sequence/intrinsic/detail/segmented_end.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/sequence/intrinsic/detail/segmented_end_impl.hpp (84%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/sequence/intrinsic/detail/segmented_size.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/sequence/intrinsic/empty.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/sequence/intrinsic/end.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/sequence/intrinsic/front.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/sequence/intrinsic/has_key.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/sequence/intrinsic/segments.hpp (96%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/sequence/intrinsic/size.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/sequence/intrinsic/swap.hpp (82%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/sequence/intrinsic/value_at.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/sequence/intrinsic/value_at_key.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/sequence/intrinsic_fwd.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/sequence/io.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/sequence/io/detail/in.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/sequence/io/detail/manip.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/sequence/io/detail/out.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/sequence/io/in.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/sequence/io/out.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/sequence/sequence_facade.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/support.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/support/as_const.hpp (84%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/support/category_of.hpp (93%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/support/config.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/support/deduce.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/support/deduce_sequence.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/support/detail/access.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/support/detail/as_fusion_element.hpp (84%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/support/detail/category_of.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/support/detail/enabler.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/support/detail/index_sequence.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/support/detail/is_mpl_sequence.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/support/detail/is_same_size.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/support/detail/is_view.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/support/detail/mpl_iterator_category.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/support/detail/pp_round.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/support/detail/segmented_fold_until_impl.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/support/detail/unknown_key.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/support/is_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/support/is_segmented.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/support/is_sequence.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/support/is_view.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/support/iterator_base.hpp (81%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/support/pair.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/support/segmented_fold_until.hpp (83%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/support/sequence_base.hpp (81%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/support/tag_of.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/support/tag_of_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/support/unused.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/support/void.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/tuple.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/tuple/detail/make_tuple.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/tuple/detail/preprocessed/make_tuple.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/tuple/detail/preprocessed/make_tuple10.hpp (82%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/tuple/detail/preprocessed/make_tuple20.hpp (81%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/tuple/detail/preprocessed/make_tuple30.hpp (81%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/tuple/detail/preprocessed/make_tuple40.hpp (80%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/tuple/detail/preprocessed/make_tuple50.hpp (80%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/tuple/detail/preprocessed/tuple.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/tuple/detail/preprocessed/tuple10.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/tuple/detail/preprocessed/tuple10_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/tuple/detail/preprocessed/tuple20.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/tuple/detail/preprocessed/tuple20_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/tuple/detail/preprocessed/tuple30.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/tuple/detail/preprocessed/tuple30_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/tuple/detail/preprocessed/tuple40.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/tuple/detail/preprocessed/tuple40_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/tuple/detail/preprocessed/tuple50.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/tuple/detail/preprocessed/tuple50_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/tuple/detail/preprocessed/tuple_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/tuple/detail/preprocessed/tuple_tie.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/tuple/detail/preprocessed/tuple_tie10.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/tuple/detail/preprocessed/tuple_tie20.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/tuple/detail/preprocessed/tuple_tie30.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/tuple/detail/preprocessed/tuple_tie40.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/tuple/detail/preprocessed/tuple_tie50.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/tuple/detail/tuple.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/tuple/detail/tuple_expand.hpp (93%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/tuple/detail/tuple_fwd.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/tuple/detail/tuple_tie.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/tuple/make_tuple.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/tuple/tuple.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/tuple/tuple_fwd.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/tuple/tuple_tie.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/detail/strictest_traversal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/filter_view.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/filter_view/detail/begin_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/filter_view/detail/deref_data_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/filter_view/detail/deref_impl.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/filter_view/detail/end_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/filter_view/detail/equal_to_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/filter_view/detail/key_of_impl.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/filter_view/detail/next_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/filter_view/detail/size_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/filter_view/detail/value_of_data_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/filter_view/detail/value_of_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/filter_view/filter_view.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/filter_view/filter_view_iterator.hpp (90%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/flatten_view.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/flatten_view/flatten_view.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/flatten_view/flatten_view_iterator.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/iterator_range.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/iterator_range/detail/at_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/iterator_range/detail/begin_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/iterator_range/detail/end_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/iterator_range/detail/is_segmented_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/iterator_range/detail/segmented_iterator_range.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/iterator_range/detail/segments_impl.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/iterator_range/detail/size_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/iterator_range/detail/value_at_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/iterator_range/iterator_range.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/joint_view.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/joint_view/detail/begin_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/joint_view/detail/deref_data_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/joint_view/detail/deref_impl.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/joint_view/detail/end_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/joint_view/detail/key_of_impl.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/joint_view/detail/next_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/joint_view/detail/value_of_data_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/joint_view/detail/value_of_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/joint_view/joint_view.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/joint_view/joint_view_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/joint_view/joint_view_iterator.hpp (88%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/nview.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/nview/detail/advance_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/nview/detail/at_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/nview/detail/begin_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/nview/detail/cpp03/nview_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/nview/detail/deref_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/nview/detail/distance_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/nview/detail/end_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/nview/detail/equal_to_impl.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/nview/detail/next_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/nview/detail/nview_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/nview/detail/prior_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/nview/detail/size_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/nview/detail/value_at_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/nview/detail/value_of_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/nview/nview.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/nview/nview_iterator.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/repetitive_view.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/repetitive_view/detail/begin_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/repetitive_view/detail/deref_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/repetitive_view/detail/end_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/repetitive_view/detail/next_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/repetitive_view/detail/value_of_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/repetitive_view/repetitive_view.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/repetitive_view/repetitive_view_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/repetitive_view/repetitive_view_iterator.hpp (80%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/reverse_view.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/reverse_view/detail/advance_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/reverse_view/detail/at_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/reverse_view/detail/begin_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/reverse_view/detail/deref_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/reverse_view/detail/distance_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/reverse_view/detail/end_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/reverse_view/detail/key_of_impl.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/reverse_view/detail/next_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/reverse_view/detail/prior_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/reverse_view/detail/value_at_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/reverse_view/detail/value_of_data_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/reverse_view/detail/value_of_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/reverse_view/reverse_view.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/reverse_view/reverse_view_iterator.hpp (90%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/single_view.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/single_view/detail/advance_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/single_view/detail/at_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/single_view/detail/begin_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/single_view/detail/deref_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/single_view/detail/distance_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/single_view/detail/end_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/single_view/detail/equal_to_impl.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/single_view/detail/next_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/single_view/detail/prior_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/single_view/detail/size_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/single_view/detail/value_at_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/single_view/detail/value_of_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/single_view/single_view.hpp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/single_view/single_view_iterator.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/transform_view.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/transform_view/detail/advance_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/transform_view/detail/apply_transform_result.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/transform_view/detail/at_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/transform_view/detail/begin_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/transform_view/detail/deref_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/transform_view/detail/distance_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/transform_view/detail/end_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/transform_view/detail/equal_to_impl.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/transform_view/detail/next_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/transform_view/detail/prior_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/transform_view/detail/value_at_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/transform_view/detail/value_of_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/transform_view/transform_view.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/transform_view/transform_view_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/transform_view/transform_view_iterator.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/zip_view.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/zip_view/detail/advance_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/zip_view/detail/at_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/zip_view/detail/begin_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/zip_view/detail/deref_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/zip_view/detail/distance_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/zip_view/detail/end_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/zip_view/detail/equal_to_impl.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/zip_view/detail/next_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/fusion/view/zip_view/detail/prior_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/zip_view/detail/size_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/zip_view/detail/value_at_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/zip_view/detail/value_of_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/zip_view/zip_view.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/zip_view/zip_view_iterator.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/fusion/view/zip_view/zip_view_iterator_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/generator_iterator.hpp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/geometry.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/get_pointer.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/accounting.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/adj_list_serialize.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/adjacency_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/adjacency_list.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/adjacency_list_io.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/adjacency_matrix.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/astar_search.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/bandwidth.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/bc_clustering.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/bellman_ford_shortest_paths.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/betweenness_centrality.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/biconnected_components.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/bipartite.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/boyer_myrvold_planar_test.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/boykov_kolmogorov_max_flow.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/breadth_first_search.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/bron_kerbosch_all_cliques.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/buffer_concepts.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/chrobak_payne_drawing.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/circle_layout.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/closeness_centrality.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/clustering_coefficient.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/compressed_sparse_row_graph.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/connected_components.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/graph/copy.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/core_numbers.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/create_condensation_graph.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/cuthill_mckee_ordering.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/cycle_canceling.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/dag_shortest_paths.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/degree_centrality.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/depth_first_search.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/detail/adj_list_edge_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/detail/adjacency_list.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/detail/array_binary_tree.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/detail/augment.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/detail/compressed_sparse_row_struct.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/detail/connected_components.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/detail/d_ary_heap.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/detail/edge.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/detail/geodesic.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/detail/histogram_sort.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/detail/incidence_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/detail/incremental_components.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/detail/index.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/detail/indexed_properties.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/detail/is_distributed_selector.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/detail/labeled_graph_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/detail/list_base.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/detail/permutation.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/detail/read_graphviz_new.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/detail/read_graphviz_spirit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/detail/self_avoiding_walk.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/detail/set_adaptor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/detail/shadow_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/detail/sparse_ordering.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/dijkstra_shortest_paths.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/dijkstra_shortest_paths_no_color_map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/dimacs.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/directed_graph.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/adjacency_list.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/adjlist/handlers.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/adjlist/initialize.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/adjlist/redistribute.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/graph/distributed/adjlist/serialization.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/betweenness_centrality.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/boman_et_al_graph_coloring.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/breadth_first_search.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/compressed_sparse_row_graph.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/concepts.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/connected_components.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/connected_components_parallel_search.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/crauser_et_al_shortest_paths.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/dehne_gotz_min_spanning_tree.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/delta_stepping_shortest_paths.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/depth_first_search.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/detail/dijkstra_shortest_paths.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/detail/filtered_queue.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/detail/mpi_process_group.ipp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/detail/queue.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/detail/remote_update_set.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/detail/tag_allocator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/dijkstra_shortest_paths.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/distributed_graph_utility.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/eager_dijkstra_shortest_paths.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/filtered_graph.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/fruchterman_reingold.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/graphviz.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/hohberg_biconnected_components.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/local_subgraph.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/mpi_process_group.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/named_graph.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/one_bit_color_map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/page_rank.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/queue.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/reverse_graph.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/rmat_graph_generator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/selector.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/shuffled_distribution.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/st_connected.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/strong_components.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/two_bit_color_map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/unsafe_serialize.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/distributed/vertex_list_adaptor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/dll_import_export.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/dominator_tree.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/eccentricity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/edge_coloring.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/edge_connectivity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/edge_list.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/edmonds_karp_max_flow.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/edmunds_karp_max_flow.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/erdos_renyi_generator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/exception.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/exterior_property.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/filtered_graph.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/find_flow_cost.hpp (84%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/floyd_warshall_shortest.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/fruchterman_reingold.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/geodesic_distance.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/graph_archetypes.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/graph_as_tree.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/graph_concepts.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/graph_mutability_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/graph_selectors.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/graph_stats.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/graph_test.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/graph_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/graph_utility.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/graphml.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/graphviz.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/grid_graph.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/gursoy_atun_layout.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/hawick_circuits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/howard_cycle_ratio.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/incremental_components.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/is_kuratowski_subgraph.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/is_straight_line_drawing.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/isomorphism.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/iteration_macros.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/iteration_macros_undef.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/johnson_all_pairs_shortest.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/kamada_kawai_spring_layout.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/king_ordering.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/kruskal_min_spanning_tree.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/labeled_graph.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/leda_graph.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/lookup_edge.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/loop_erased_random_walk.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/make_biconnected_planar.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/make_connected.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/make_maximal_planar.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/matrix_as_graph.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/max_cardinality_matching.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/maximum_adjacency_search.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/mcgregor_common_subgraphs.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/mesh_graph_generator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/metis.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/metric_tsp_approx.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/minimum_degree_ordering.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/named_function_params.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/named_graph.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/neighbor_bfs.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/numeric_values.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/one_bit_color_map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/overloading.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/page_rank.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/parallel/algorithm.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/parallel/basic_reduce.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/parallel/container_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/parallel/detail/inplace_all_to_all.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/parallel/detail/property_holders.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/parallel/detail/untracked_pair.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/parallel/distribution.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/parallel/process_group.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/parallel/properties.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/parallel/simple_trigger.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/planar_canonical_ordering.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/planar_detail/add_edge_visitors.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/planar_detail/boyer_myrvold_impl.hpp (89%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/planar_detail/bucket_sort.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/planar_detail/face_handles.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/planar_detail/face_iterators.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/planar_face_traversal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/plod_generator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/point_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/prim_minimum_spanning_tree.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/profile.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/properties.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/property_iter_range.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/property_maps/constant_property_map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/property_maps/container_property_map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/property_maps/matrix_property_map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/property_maps/null_property_map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/push_relabel_max_flow.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/r_c_shortest_paths.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/random.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/random_layout.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/random_spanning_tree.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/read_dimacs.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/relax.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/reverse_graph.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/rmat_graph_generator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/sequential_vertex_coloring.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/simple_point.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/sloan_ordering.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/small_world_generator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/smallest_last_ordering.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/ssca_graph_generator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/st_connected.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/stanford_graph.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/stoer_wagner_min_cut.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/strong_components.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/subgraph.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/successive_shortest_path_nonnegative_weights.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/tiernan_all_cycles.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/topological_sort.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/topology.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/transitive_closure.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/transitive_reduction.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/transpose_graph.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/tree_traits.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/two_bit_color_map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/two_graphs_common_spanning_trees.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/undirected_dfs.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/undirected_graph.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/use_mpi.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/vector_as_graph.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/vertex_and_edge_range.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/vf2_sub_graph_iso.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/visitors.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/wavefront.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/graph/write_dimacs.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/implicit_cast.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/indirect_reference.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/integer.hpp (88%) create mode 100644 bundled/boost-1.62.0/include/boost/integer/common_factor.hpp create mode 100644 bundled/boost-1.62.0/include/boost/integer/common_factor_ct.hpp create mode 100644 bundled/boost-1.62.0/include/boost/integer/common_factor_rt.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/integer/integer_log2.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/integer/integer_mask.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/integer/static_log2.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/integer/static_min_max.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/integer_fwd.hpp (89%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/integer_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/intrusive/any_hook.hpp (82%) create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/avl_set.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/intrusive/avl_set_hook.hpp (95%) create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/avltree.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/intrusive/avltree_algorithms.hpp (86%) create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/bs_set.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/intrusive/bs_set_hook.hpp (96%) create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/bstree.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/intrusive/bstree_algorithms.hpp (86%) create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/circular_list_algorithms.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/intrusive/circular_slist_algorithms.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/intrusive/derivation_value_traits.hpp (95%) create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/algo_type.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/algorithm.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/any_node_and_algorithms.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/array_initializer.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/assert.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/avltree_node.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/bstree_algorithms_base.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/common_slist_algorithms.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/config_begin.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/intrusive/detail/config_end.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/default_header_holder.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/ebo_functor_holder.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/empty_node_checker.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/equal_to_value.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/exception_disposer.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/function_detector.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/intrusive/detail/generic_hook.hpp (76%) create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/get_value_traits.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/has_member_function_callable_with.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/hashtable_node.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/hook_traits.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/iiterator.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/intrusive/detail/is_stateful_value_traits.hpp (92%) create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/iterator.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/key_nodeptr_comp.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/list_iterator.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/list_node.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/math.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/intrusive/detail/memory_util.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/minimal_less_equal_header.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/minimal_pair_header.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/mpl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/node_cloner_disposer.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/node_holder.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/node_to_value.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/parent_from_member.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/pointer_element.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/intrusive/detail/preprocessor.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/rbtree_node.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/reverse_iterator.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/simple_disposers.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/size_holder.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/slist_iterator.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/slist_node.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/std_fwd.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/to_raw_pointer.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/transform_iterator.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/tree_iterator.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/tree_node.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/tree_value_compare.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/uncast.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/intrusive/detail/utilities.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/detail/workaround.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/hashtable.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/intrusive/intrusive_fwd.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/intrusive/linear_slist_algorithms.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/intrusive/link_mode.hpp (78%) create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/list.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/intrusive/list_hook.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/intrusive/member_value_traits.hpp (75%) create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/options.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/intrusive/pack_options.hpp (98%) create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/parent_from_member.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/intrusive/pointer_plus_bits.hpp (75%) create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/pointer_rebind.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/pointer_traits.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/priority_compare.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/rbtree.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/intrusive/rbtree_algorithms.hpp (83%) create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/set.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/intrusive/set_hook.hpp (95%) create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/sg_set.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/sgtree.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/intrusive/sgtree_algorithms.hpp (84%) create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/slist.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/intrusive/slist_hook.hpp (95%) create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/splay_set.hpp create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/splaytree.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/intrusive/splaytree_algorithms.hpp (94%) create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/treap.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/intrusive/treap_algorithms.hpp (89%) create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/treap_set.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/intrusive/trivial_value_traits.hpp (78%) create mode 100644 bundled/boost-1.62.0/include/boost/intrusive/unordered_set.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/intrusive/unordered_set_hook.hpp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/intrusive_ptr.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/io/detail/quoted_manip.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/io/ios_state.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/io_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/categories.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/chain.hpp (96%) create mode 100755 bundled/boost-1.62.0/include/boost/iostreams/char_traits.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/checked_operations.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/close.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/code_converter.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/combine.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/compose.hpp (99%) create mode 100755 bundled/boost-1.62.0/include/boost/iostreams/concepts.hpp create mode 100755 bundled/boost-1.62.0/include/boost/iostreams/constants.hpp create mode 100755 bundled/boost-1.62.0/include/boost/iostreams/copy.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/absolute_path.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/access_control.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/adapter/concept_adapter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/adapter/device_adapter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/adapter/direct_adapter.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/adapter/filter_adapter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/adapter/mode_adapter.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/adapter/non_blocking_adapter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/adapter/output_iterator_adapter.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/adapter/range_adapter.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/add_facet.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/bool_trait_def.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/broken_overload_resolution/forward.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/broken_overload_resolution/stream.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/broken_overload_resolution/stream_buffer.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/buffer.hpp (88%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/call_traits.hpp (95%) create mode 100755 bundled/boost-1.62.0/include/boost/iostreams/detail/char_traits.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/codecvt_helper.hpp (90%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/codecvt_holder.hpp (97%) create mode 100755 bundled/boost-1.62.0/include/boost/iostreams/detail/config/auto_link.hpp create mode 100755 bundled/boost-1.62.0/include/boost/iostreams/detail/config/bzip2.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/config/codecvt.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/config/disable_warnings.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/config/dyn_link.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/config/enable_warnings.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/config/fpos.hpp (95%) create mode 100644 bundled/boost-1.62.0/include/boost/iostreams/detail/config/gcc.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/config/limits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/config/overload_resolution.hpp (84%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/config/rtl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/config/unreachable_return.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/config/wide_streams.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/config/windows_posix.hpp (100%) create mode 100755 bundled/boost-1.62.0/include/boost/iostreams/detail/config/zlib.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/counted_array.hpp (78%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/current_directory.hpp (100%) create mode 100755 bundled/boost-1.62.0/include/boost/iostreams/detail/default_arg.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/dispatch.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/double_object.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/enable_if_stream.hpp (96%) create mode 100755 bundled/boost-1.62.0/include/boost/iostreams/detail/error.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/execute.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/file_handle.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/forward.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/fstream.hpp (96%) create mode 100755 bundled/boost-1.62.0/include/boost/iostreams/detail/functional.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/ios.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/iostream.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/is_dereferenceable.hpp (83%) create mode 100644 bundled/boost-1.62.0/include/boost/iostreams/detail/is_iterator_range.hpp create mode 100755 bundled/boost-1.62.0/include/boost/iostreams/detail/newline.hpp create mode 100644 bundled/boost-1.62.0/include/boost/iostreams/detail/optional.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/param_type.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/path.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/push.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/push_params.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/resolve.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/restrict_impl.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/select.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/select_by_size.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/streambuf.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/streambuf/chainbuf.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/streambuf/direct_streambuf.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/streambuf/indirect_streambuf.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/streambuf/linked_streambuf.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/system_failure.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/template_params.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/translate_int_type.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/vc6/close.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/vc6/read.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/vc6/write.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/detail/wrap_unwrap.hpp (79%) create mode 100755 bundled/boost-1.62.0/include/boost/iostreams/device/array.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/device/back_inserter.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/device/file.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/device/file_descriptor.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/device/mapped_file.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/device/null.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/filter/aggregate.hpp (99%) create mode 100644 bundled/boost-1.62.0/include/boost/iostreams/filter/bzip2.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/filter/counter.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/filter/grep.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/filter/gzip.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/filter/line.hpp (96%) create mode 100644 bundled/boost-1.62.0/include/boost/iostreams/filter/newline.hpp create mode 100755 bundled/boost-1.62.0/include/boost/iostreams/filter/regex.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/filter/stdio.hpp (98%) create mode 100644 bundled/boost-1.62.0/include/boost/iostreams/filter/symmetric.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/filter/test.hpp (91%) create mode 100644 bundled/boost-1.62.0/include/boost/iostreams/filter/zlib.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/filtering_stream.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/filtering_streambuf.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/flush.hpp (98%) create mode 100755 bundled/boost-1.62.0/include/boost/iostreams/get.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/imbue.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/input_sequence.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/invert.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/operations.hpp (95%) create mode 100755 bundled/boost-1.62.0/include/boost/iostreams/operations_fwd.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/optimal_buffer_size.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/output_sequence.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/pipeline.hpp (89%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/positioning.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/put.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/putback.hpp (92%) create mode 100755 bundled/boost-1.62.0/include/boost/iostreams/read.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/restrict.hpp (100%) create mode 100755 bundled/boost-1.62.0/include/boost/iostreams/seek.hpp create mode 100644 bundled/boost-1.62.0/include/boost/iostreams/skip.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/slice.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/stream.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/stream_buffer.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/tee.hpp (99%) create mode 100644 bundled/boost-1.62.0/include/boost/iostreams/traits.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iostreams/traits_fwd.hpp (97%) create mode 100644 bundled/boost-1.62.0/include/boost/iostreams/write.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/is_placeholder.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iterator/counting_iterator.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iterator/detail/any_conversion_eater.hpp (84%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iterator/detail/config_def.hpp (83%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iterator/detail/config_undef.hpp (95%) create mode 100644 bundled/boost-1.62.0/include/boost/iterator/detail/enable_if.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iterator/detail/facade_iterator_category.hpp (95%) create mode 100755 bundled/boost-1.62.0/include/boost/iterator/detail/minimum_category.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iterator/detail/operator_brackets_dispatch.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iterator/filter_iterator.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iterator/function_input_iterator.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iterator/indirect_iterator.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iterator/interoperable.hpp (89%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iterator/is_lvalue_iterator.hpp (79%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iterator/is_readable_iterator.hpp (81%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iterator/iterator_adaptor.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iterator/iterator_archetypes.hpp (85%) create mode 100644 bundled/boost-1.62.0/include/boost/iterator/iterator_categories.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iterator/iterator_concepts.hpp (94%) create mode 100644 bundled/boost-1.62.0/include/boost/iterator/iterator_facade.hpp create mode 100644 bundled/boost-1.62.0/include/boost/iterator/iterator_traits.hpp create mode 100644 bundled/boost-1.62.0/include/boost/iterator/minimum_category.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iterator/new_iterator_tests.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/iterator/permutation_iterator.hpp create mode 100644 bundled/boost-1.62.0/include/boost/iterator/reverse_iterator.hpp create mode 100644 bundled/boost-1.62.0/include/boost/iterator/transform_iterator.hpp create mode 100644 bundled/boost-1.62.0/include/boost/iterator/zip_iterator.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/iterator_adaptors.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/lambda/algorithm.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/lambda/bind.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/lambda/casts.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/lambda/closures.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/lambda/construct.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/lambda/control_structures.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/lambda/core.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/lambda/detail/actions.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/lambda/detail/arity_code.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/lambda/detail/bind_functions.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/lambda/detail/control_constructs_common.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/lambda/detail/function_adaptors.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/lambda/detail/is_instance_of.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/lambda/detail/lambda_config.hpp (75%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/lambda/detail/lambda_functor_base.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/lambda/detail/lambda_functors.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/lambda/detail/lambda_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/lambda/detail/lambda_traits.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/lambda/detail/member_ptr.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/lambda/detail/operator_actions.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/lambda/detail/operator_lambda_func_base.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/lambda/detail/operator_return_type_traits.hpp (97%) create mode 100644 bundled/boost-1.62.0/include/boost/lambda/detail/operators.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/lambda/detail/ret.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/lambda/detail/return_type_traits.hpp (89%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/lambda/detail/select_functions.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/lambda/detail/suppress_unused.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/lambda/exceptions.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/lambda/if.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/lambda/lambda.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/lambda/loops.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/lambda/numeric.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/lambda/switch.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/last_value.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/lexical_cast.hpp create mode 100644 bundled/boost-1.62.0/include/boost/lexical_cast/bad_lexical_cast.hpp create mode 100644 bundled/boost-1.62.0/include/boost/lexical_cast/detail/converter_lexical.hpp create mode 100644 bundled/boost-1.62.0/include/boost/lexical_cast/detail/converter_lexical_streams.hpp create mode 100644 bundled/boost-1.62.0/include/boost/lexical_cast/detail/converter_numeric.hpp create mode 100644 bundled/boost-1.62.0/include/boost/lexical_cast/detail/inf_nan.hpp create mode 100644 bundled/boost-1.62.0/include/boost/lexical_cast/detail/is_character.hpp create mode 100644 bundled/boost-1.62.0/include/boost/lexical_cast/detail/lcast_char_constants.hpp create mode 100644 bundled/boost-1.62.0/include/boost/lexical_cast/detail/lcast_unsigned_converters.hpp create mode 100644 bundled/boost-1.62.0/include/boost/lexical_cast/detail/widest_char.hpp create mode 100644 bundled/boost-1.62.0/include/boost/lexical_cast/lexical_cast_old.hpp create mode 100644 bundled/boost-1.62.0/include/boost/lexical_cast/try_lexical_convert.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/limits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/locale.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/make_shared.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/make_unique.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/bindings/detail/big_digamma.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/bindings/detail/big_lanczos.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/bindings/e_float.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/bindings/mpfr.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/bindings/mpreal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/bindings/rr.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/common_factor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/common_factor_ct.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/math/common_factor_rt.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/complex.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/complex/acos.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/complex/acosh.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/complex/asin.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/complex/asinh.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/complex/atan.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/complex/atanh.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/complex/details.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/complex/fabs.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/concepts/distributions.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/concepts/real_concept.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/concepts/real_type_concept.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/concepts/std_real_concept.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/constants/calculate_constants.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/math/constants/constants.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/constants/info.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/cstdfloat/cstdfloat_cmath.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/cstdfloat/cstdfloat_complex.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/cstdfloat/cstdfloat_complex_std.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/cstdfloat/cstdfloat_iostream.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/cstdfloat/cstdfloat_limits.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/cstdfloat/cstdfloat_types.hpp (84%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions.hpp (95%) create mode 100644 bundled/boost-1.62.0/include/boost/math/distributions/arcsine.hpp create mode 100644 bundled/boost-1.62.0/include/boost/math/distributions/bernoulli.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions/beta.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/math/distributions/binomial.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions/cauchy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions/chi_squared.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions/complement.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions/detail/common_error_handling.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions/detail/derived_accessors.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions/detail/generic_mode.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions/detail/generic_quantile.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions/detail/hypergeometric_cdf.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions/detail/hypergeometric_pdf.hpp (99%) create mode 100644 bundled/boost-1.62.0/include/boost/math/distributions/detail/hypergeometric_quantile.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions/detail/inv_discrete_quantile.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions/exponential.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions/extreme_value.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions/find_location.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions/find_scale.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions/fisher_f.hpp (99%) create mode 100644 bundled/boost-1.62.0/include/boost/math/distributions/fwd.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions/gamma.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions/geometric.hpp (99%) create mode 100644 bundled/boost-1.62.0/include/boost/math/distributions/hyperexponential.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions/hypergeometric.hpp (89%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions/inverse_chi_squared.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions/inverse_gamma.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions/inverse_gaussian.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions/laplace.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions/logistic.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions/lognormal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions/negative_binomial.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions/non_central_beta.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions/non_central_chi_squared.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions/non_central_f.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions/non_central_t.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions/normal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions/pareto.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions/poisson.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions/rayleigh.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions/skew_normal.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions/students_t.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/math/distributions/triangular.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions/uniform.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/distributions/weibull.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/octonion.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/math/policies/error_handling.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/policies/policy.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/quaternion.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/acosh.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/airy.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/asinh.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/atanh.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/math/special_functions/bernoulli.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/bessel.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/bessel_prime.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/beta.hpp (88%) create mode 100644 bundled/boost-1.62.0/include/boost/math/special_functions/binomial.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/cbrt.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/math/special_functions/cos_pi.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/detail/airy_ai_bi_zero.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/detail/bernoulli_details.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/detail/bessel_derivatives_linear.hpp (78%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/detail/bessel_i0.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/detail/bessel_i1.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/detail/bessel_ik.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/detail/bessel_j0.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/detail/bessel_j1.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/detail/bessel_jn.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/detail/bessel_jy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/detail/bessel_jy_asym.hpp (90%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/detail/bessel_jy_derivatives_asym.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/detail/bessel_jy_derivatives_series.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/detail/bessel_jy_series.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/detail/bessel_jy_zero.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/detail/bessel_k0.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/detail/bessel_k1.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/detail/bessel_kn.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/detail/bessel_y0.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/detail/bessel_y1.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/detail/bessel_yn.hpp (77%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/detail/erf_inv.hpp (89%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/detail/fp_traits.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/detail/gamma_inva.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/detail/ibeta_inv_ab.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/detail/ibeta_inverse.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/detail/iconv.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/detail/igamma_inverse.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/detail/igamma_large.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/detail/lanczos_sse2.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/detail/lgamma_small.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/math/special_functions/detail/polygamma.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/detail/round_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/detail/t_distribution_inv.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/detail/unchecked_bernoulli.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/math/special_functions/detail/unchecked_factorial.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/digamma.hpp (77%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/ellint_1.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/ellint_2.hpp (83%) create mode 100644 bundled/boost-1.62.0/include/boost/math/special_functions/ellint_3.hpp create mode 100644 bundled/boost-1.62.0/include/boost/math/special_functions/ellint_d.hpp create mode 100644 bundled/boost-1.62.0/include/boost/math/special_functions/ellint_rc.hpp create mode 100644 bundled/boost-1.62.0/include/boost/math/special_functions/ellint_rd.hpp create mode 100644 bundled/boost-1.62.0/include/boost/math/special_functions/ellint_rf.hpp create mode 100644 bundled/boost-1.62.0/include/boost/math/special_functions/ellint_rg.hpp create mode 100644 bundled/boost-1.62.0/include/boost/math/special_functions/ellint_rj.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/erf.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/expint.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/expm1.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/factorials.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/fpclassify.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/gamma.hpp (89%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/hankel.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/hermite.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/math/special_functions/heuman_lambda.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/hypot.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/jacobi_elliptic.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/math/special_functions/jacobi_zeta.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/laguerre.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/lanczos.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/legendre.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/log1p.hpp (99%) create mode 100644 bundled/boost-1.62.0/include/boost/math/special_functions/math_fwd.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/modf.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/next.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/nonfinite_num_facets.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/owens_t.hpp (92%) create mode 100644 bundled/boost-1.62.0/include/boost/math/special_functions/polygamma.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/pow.hpp (94%) create mode 100644 bundled/boost-1.62.0/include/boost/math/special_functions/powm1.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/prime.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/math/special_functions/relative_difference.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/round.hpp (83%) create mode 100644 bundled/boost-1.62.0/include/boost/math/special_functions/sign.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/sin_pi.hpp (77%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/sinc.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/sinhc.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/spherical_harmonic.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/sqrt1pm1.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/math/special_functions/trigamma.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/trunc.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/math/special_functions/ulp.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/special_functions/zeta.hpp (78%) create mode 100644 bundled/boost-1.62.0/include/boost/math/tools/big_constant.hpp create mode 100644 bundled/boost-1.62.0/include/boost/math/tools/config.hpp create mode 100644 bundled/boost-1.62.0/include/boost/math/tools/convert_from_string.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner1_10.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner1_11.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner1_12.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner1_13.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner1_14.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner1_15.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner1_16.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner1_17.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner1_18.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner1_19.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner1_2.hpp (89%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner1_20.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner1_3.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner1_4.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner1_5.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner1_6.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner1_7.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner1_8.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner1_9.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner2_10.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner2_11.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner2_12.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner2_13.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner2_14.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner2_15.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner2_16.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner2_17.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner2_18.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner2_19.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner2_2.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner2_20.hpp (88%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner2_3.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner2_4.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner2_5.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner2_6.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner2_7.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner2_8.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner2_9.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner3_10.hpp (89%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner3_11.hpp (90%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner3_12.hpp (90%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner3_13.hpp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner3_14.hpp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner3_15.hpp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner3_16.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner3_17.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner3_18.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner3_19.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner3_2.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner3_20.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner3_3.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner3_4.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner3_5.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner3_6.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner3_7.hpp (88%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner3_8.hpp (88%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/polynomial_horner3_9.hpp (89%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner1_10.hpp (90%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner1_11.hpp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner1_12.hpp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner1_13.hpp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner1_14.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner1_15.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner1_16.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner1_17.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner1_18.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner1_19.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner1_2.hpp (88%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner1_20.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner1_3.hpp (88%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner1_4.hpp (88%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner1_5.hpp (88%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner1_6.hpp (89%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner1_7.hpp (89%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner1_8.hpp (90%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner1_9.hpp (90%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner2_10.hpp (90%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner2_11.hpp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner2_12.hpp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner2_13.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner2_14.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner2_15.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner2_16.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner2_17.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner2_18.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner2_19.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner2_2.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner2_20.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner2_3.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner2_4.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner2_5.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner2_6.hpp (88%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner2_7.hpp (89%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner2_8.hpp (89%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner2_9.hpp (90%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner3_10.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner3_11.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner3_12.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner3_13.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner3_14.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner3_15.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner3_16.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner3_17.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner3_18.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner3_19.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner3_2.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner3_20.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner3_3.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner3_4.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner3_5.hpp (88%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner3_6.hpp (90%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner3_7.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner3_8.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/detail/rational_horner3_9.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/fraction.hpp (82%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/minima.hpp (95%) create mode 100644 bundled/boost-1.62.0/include/boost/math/tools/polynomial.hpp create mode 100644 bundled/boost-1.62.0/include/boost/math/tools/precision.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/promotion.hpp (91%) create mode 100644 bundled/boost-1.62.0/include/boost/math/tools/rational.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/real_cast.hpp (78%) create mode 100644 bundled/boost-1.62.0/include/boost/math/tools/roots.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/series.hpp (80%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/stats.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/toms748_solve.hpp (90%) create mode 100644 bundled/boost-1.62.0/include/boost/math/tools/traits.hpp create mode 100644 bundled/boost-1.62.0/include/boost/math/tools/tuple.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tools/user.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/math/tools/workaround.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tr1.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/math/tr1_c_macros.ipp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/math_fwd.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mem_fn.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/memory_order.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/move/adl_move_swap.hpp create mode 100644 bundled/boost-1.62.0/include/boost/move/algo/adaptive_merge.hpp create mode 100644 bundled/boost-1.62.0/include/boost/move/algo/adaptive_sort.hpp create mode 100644 bundled/boost-1.62.0/include/boost/move/algo/detail/adaptive_sort_merge.hpp create mode 100644 bundled/boost-1.62.0/include/boost/move/algo/detail/basic_op.hpp create mode 100644 bundled/boost-1.62.0/include/boost/move/algo/detail/bufferless_merge_sort.hpp create mode 100644 bundled/boost-1.62.0/include/boost/move/algo/detail/insertion_sort.hpp create mode 100644 bundled/boost-1.62.0/include/boost/move/algo/detail/merge.hpp create mode 100644 bundled/boost-1.62.0/include/boost/move/algo/detail/merge_sort.hpp create mode 100644 bundled/boost-1.62.0/include/boost/move/algo/move.hpp create mode 100644 bundled/boost-1.62.0/include/boost/move/algorithm.hpp create mode 100644 bundled/boost-1.62.0/include/boost/move/core.hpp create mode 100644 bundled/boost-1.62.0/include/boost/move/default_delete.hpp create mode 100644 bundled/boost-1.62.0/include/boost/move/detail/config_begin.hpp create mode 100644 bundled/boost-1.62.0/include/boost/move/detail/config_end.hpp create mode 100644 bundled/boost-1.62.0/include/boost/move/detail/destruct_n.hpp create mode 100644 bundled/boost-1.62.0/include/boost/move/detail/fwd_macros.hpp create mode 100644 bundled/boost-1.62.0/include/boost/move/detail/iterator_traits.hpp create mode 100644 bundled/boost-1.62.0/include/boost/move/detail/meta_utils.hpp create mode 100644 bundled/boost-1.62.0/include/boost/move/detail/meta_utils_core.hpp create mode 100644 bundled/boost-1.62.0/include/boost/move/detail/move_helpers.hpp create mode 100644 bundled/boost-1.62.0/include/boost/move/detail/placement_new.hpp create mode 100644 bundled/boost-1.62.0/include/boost/move/detail/reverse_iterator.hpp create mode 100644 bundled/boost-1.62.0/include/boost/move/detail/std_ns_begin.hpp create mode 100644 bundled/boost-1.62.0/include/boost/move/detail/std_ns_end.hpp create mode 100644 bundled/boost-1.62.0/include/boost/move/detail/type_traits.hpp create mode 100644 bundled/boost-1.62.0/include/boost/move/detail/unique_ptr_meta_utils.hpp create mode 100644 bundled/boost-1.62.0/include/boost/move/detail/workaround.hpp create mode 100644 bundled/boost-1.62.0/include/boost/move/iterator.hpp create mode 100644 bundled/boost-1.62.0/include/boost/move/make_unique.hpp create mode 100644 bundled/boost-1.62.0/include/boost/move/move.hpp create mode 100644 bundled/boost-1.62.0/include/boost/move/traits.hpp create mode 100644 bundled/boost-1.62.0/include/boost/move/unique_ptr.hpp create mode 100644 bundled/boost-1.62.0/include/boost/move/utility.hpp create mode 100644 bundled/boost-1.62.0/include/boost/move/utility_core.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpi.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/O1_size.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/O1_size_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/accumulate.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/advance.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/advance_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/alias.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/always.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/and.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/apply.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/apply_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/apply_wrap.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/arg.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/arg_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/arithmetic.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/as_sequence.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/assert.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/at.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/at_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/O1_size_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/adl_barrier.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/advance_backward.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/advance_forward.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/apply_1st.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/arg_typedef.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/arithmetic_op.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/arity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/arity_spec.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/at_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/back_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/basic_bind.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/begin_end_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/clear_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/common_name_wknd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/comparison_op.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/config/adl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/config/arrays.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/config/bcc.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/config/bind.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/config/compiler.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/config/ctps.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/config/dependent_nttp.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/config/dtp.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/config/eti.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/config/forwarding.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/config/gcc.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/config/gpu.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/config/has_apply.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/config/has_xxx.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/config/integral.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/config/intel.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/config/lambda.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/config/msvc.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/config/msvc_typename.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/config/nttp.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/config/operators.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/config/overload_resolution.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/config/pp_counter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/config/preprocessor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/config/static_constant.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/config/ttp.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/config/typeof.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/config/use_preprocessed.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/config/workaround.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/contains_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/count_args.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/count_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/empty_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/erase_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/erase_key_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/filter_iter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/find_if_pred.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/fold_impl_body.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/fold_op.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/fold_pred.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/front_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/full_lambda.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/has_apply.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/has_begin.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/has_key_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/has_rebind.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/has_size.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/has_tag.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/has_type.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/include_preprocessed.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/insert_impl.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/mpl/aux_/insert_range_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/inserter_algorithm.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/integral_wrapper.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/is_msvc_eti_arg.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/iter_apply.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/iter_fold_if_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/iter_fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/iter_push_front.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/joint_iter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/lambda_arity_param.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/lambda_no_ctps.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/lambda_spec.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/lambda_support.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/largest_int.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/logical_op.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/msvc_dtw.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/msvc_eti_base.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/msvc_is_class.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/msvc_never_true.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/msvc_type.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/na.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/na_assert.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/na_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/na_spec.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/nested_type_wknd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/nttp_decl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/numeric_cast_utils.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/numeric_op.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/order_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/overload_names.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/partition_op.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/pop_back_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/pop_front_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/advance_backward.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/advance_forward.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/and.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/apply.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/apply_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/apply_wrap.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/arg.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/bind.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/bind_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/bitand.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/bitor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/bitxor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/deque.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/divides.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/equal_to.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/greater.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/greater_equal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/inherit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/iter_fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/less.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/less_equal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/list.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/list_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/minus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/modulus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/or.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/plus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/quote.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/reverse_fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/reverse_iter_fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/set.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/set_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/shift_left.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/shift_right.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/times.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/unpack_args.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/vector.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc/vector_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/advance_backward.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/advance_forward.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/and.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/apply.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/apply_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/apply_wrap.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/arg.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/bind.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/bind_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/bitand.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/bitor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/bitxor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/deque.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/divides.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/equal_to.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/greater.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/inherit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/iter_fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/less.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/less_equal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/list.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/list_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/minus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/modulus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/or.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/plus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/quote.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/reverse_fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/reverse_iter_fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/set.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/set_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/shift_left.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/shift_right.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/template_arity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/times.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/vector.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc551/vector_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/advance_backward.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/advance_forward.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/and.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/apply.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/apply_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/apply_wrap.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/arg.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/basic_bind.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/bind.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/bind_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/bitand.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/bitor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/bitxor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/deque.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/divides.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/equal_to.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/full_lambda.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/greater.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/greater_equal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/inherit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_if_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/less.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/less_equal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/list.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/list_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/minus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/modulus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/not_equal_to.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/or.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/placeholders.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/plus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/quote.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_iter_fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/set.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/set_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/shift_left.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/shift_right.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/template_arity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/times.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/unpack_args.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/vector.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/bcc_pre590/vector_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/advance_backward.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/advance_forward.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/and.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/apply.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/apply_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/apply_wrap.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/arg.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/bind.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/bind_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/bitand.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/bitor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/bitxor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/deque.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/divides.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/equal_to.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/full_lambda.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/greater.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/greater_equal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/inherit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/iter_fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/less.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/less_equal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/list.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/list_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/minus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/modulus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/or.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/placeholders.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/plus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/quote.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/reverse_fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/reverse_iter_fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/set.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/set_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/shift_left.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/shift_right.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/template_arity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/times.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/unpack_args.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/vector.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/dmc/vector_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/and.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/apply.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/arg.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/bind.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/bitand.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/bitor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/bitxor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/deque.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/divides.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/greater.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/inherit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/less.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/list.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/list_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/minus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/modulus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/or.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/plus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/quote.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/reverse_iter_fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/set.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/set_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/shift_left.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/shift_right.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/times.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/unpack_args.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/vector.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/gcc/vector_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/advance_backward.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/advance_forward.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/and.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/apply.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/apply_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/apply_wrap.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/arg.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/bind.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/bind_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/deque.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/divides.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/equal_to.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/greater.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/inherit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/iter_fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/less.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/less_equal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/list.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/list_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/minus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/modulus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/or.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/plus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/quote.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/reverse_fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/reverse_iter_fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/set.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/set_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/shift_left.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/shift_right.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/template_arity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/times.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/vector.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc60/vector_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/advance_backward.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/advance_forward.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/and.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/apply.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/apply_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/apply_wrap.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/arg.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/bind.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/bind_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/deque.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/divides.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/equal_to.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/greater.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/inherit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/iter_fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/less.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/less_equal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/list.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/list_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/minus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/modulus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/or.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/plus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/quote.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/reverse_fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/reverse_iter_fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/set.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/set_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/shift_left.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/shift_right.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/template_arity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/times.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/vector.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/msvc70/vector_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/advance_backward.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/advance_forward.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/and.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/apply.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/apply_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/apply_wrap.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/arg.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/bind.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/bind_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/bitand.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/bitor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/bitxor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/deque.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/divides.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/equal_to.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/greater.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/inherit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/iter_fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/less.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/less_equal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/list.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/list_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/minus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/modulus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/or.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/plus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/quote.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/reverse_fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/reverse_iter_fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/set.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/set_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/shift_left.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/shift_right.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/template_arity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/times.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/vector.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/mwcw/vector_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/advance_backward.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/advance_forward.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/and.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/apply.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/apply_wrap.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/arg.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/bind.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/bind_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/deque.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/greater.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/inherit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/less.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/list.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/list_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/modulus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/or.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/quote.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/reverse_fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/reverse_iter_fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/set.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/set_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/template_arity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/times.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/vector.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/advance_backward.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/advance_forward.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/and.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/apply.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/apply_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/apply_wrap.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/arg.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/bind.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/bitand.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/bitor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/deque.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/divides.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/greater.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/inherit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/less.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/list.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/list_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/minus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/modulus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/or.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/plus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/quote.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/reverse_fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/reverse_iter_fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/set.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/set_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/template_arity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/times.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/vector.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/no_ttp/vector_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/advance_backward.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/advance_forward.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/and.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/apply.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/arg.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/bind.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/bitand.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/bitor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/bitxor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/deque.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/divides.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/equal_to.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/greater.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/greater_equal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/inherit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/less.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/less_equal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/list.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/list_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/minus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/modulus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/or.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/placeholders.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/plus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/quote.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/set.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/set_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/shift_left.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/shift_right.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/template_arity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/times.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/unpack_args.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/vector.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessed/plain/vector_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessor/add.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessor/default_params.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessor/enum.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessor/ext_params.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessor/filter_params.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessor/is_seq.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessor/params.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessor/partial_spec_params.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/mpl/aux_/preprocessor/range.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessor/repeat.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessor/sub.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessor/token_equal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/preprocessor/tuple.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/ptr_to_ref.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/push_back_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/push_front_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/range_c/O1_size.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/range_c/back.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/range_c/empty.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/range_c/front.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/range_c/iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/range_c/size.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/range_c/tag.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/reverse_fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/reverse_fold_impl_body.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/reverse_iter_fold_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/sequence_wrapper.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/shift_op.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/single_element_iter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/size_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/sort_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/static_cast.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/template_arity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/template_arity_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/test.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/test/assert.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/test/data.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/test/test_case.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/traits_lambda_spec.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/transform_iter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/type_wrapper.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/unwrap.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/value_wknd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/aux_/yes_no.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/back.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/back_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/back_inserter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/base.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/begin.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/begin_end.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/begin_end_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/bind.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/bind_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/bitand.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/bitor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/bitwise.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/bitxor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/bool.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/bool_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/char.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/char_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/clear.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/clear_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/comparison.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/contains.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/contains_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/copy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/copy_if.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/count.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/count_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/count_if.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/deque.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/deref.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/distance.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/distance_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/divides.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/empty.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/empty_base.hpp (80%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/empty_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/empty_sequence.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/end.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/equal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/equal_to.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/erase.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/erase_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/erase_key.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/erase_key_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/eval_if.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/filter_view.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/find.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/find_if.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/fold.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/for_each.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/front.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/front_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/front_inserter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/greater.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/greater_equal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/has_key.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/has_key_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/has_xxx.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/identity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/if.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/index_if.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/index_of.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/inherit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/inherit_linearly.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/insert.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/insert_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/insert_range.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/insert_range_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/inserter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/int.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/int_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/integral_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/integral_c_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/integral_c_tag.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/is_placeholder.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/is_sequence.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/iter_fold.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/iter_fold_if.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/iterator_category.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/iterator_range.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/iterator_tags.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/joint_view.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/key_type.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/key_type_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/lambda.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/lambda_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/less.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/less_equal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/limits/arity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/limits/list.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/limits/map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/limits/set.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/limits/string.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/limits/unrolling.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/limits/vector.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list/aux_/O1_size.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list/aux_/begin_end.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list/aux_/clear.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list/aux_/empty.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list/aux_/front.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list/aux_/include_preprocessed.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list/aux_/item.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list/aux_/iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list/aux_/numbered.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list/aux_/numbered_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list/aux_/pop_front.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list/aux_/preprocessed/plain/list10.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list/aux_/preprocessed/plain/list10_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list/aux_/preprocessed/plain/list20.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list/aux_/preprocessed/plain/list20_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list/aux_/preprocessed/plain/list30.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list/aux_/preprocessed/plain/list30_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list/aux_/preprocessed/plain/list40.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list/aux_/preprocessed/plain/list40_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list/aux_/preprocessed/plain/list50.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list/aux_/preprocessed/plain/list50_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list/aux_/push_back.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list/aux_/push_front.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list/aux_/size.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list/aux_/tag.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list/list0.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list/list0_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list/list10.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list/list10_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list/list20.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list/list20_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list/list30.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list/list30_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list/list40.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list/list40_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list/list50.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list/list50_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/list_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/logical.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/long.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/long_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/lower_bound.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map/aux_/at_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map/aux_/begin_end_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map/aux_/clear_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map/aux_/contains_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map/aux_/empty_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map/aux_/erase_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map/aux_/erase_key_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map/aux_/has_key_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map/aux_/include_preprocessed.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map/aux_/insert_impl.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/mpl/map/aux_/insert_range_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/mpl/map/aux_/item.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map/aux_/iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map/aux_/key_type_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map/aux_/map0.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map/aux_/numbered.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map/aux_/preprocessed/no_ctps/map10.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map/aux_/preprocessed/no_ctps/map20.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map/aux_/preprocessed/no_ctps/map30.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map/aux_/preprocessed/no_ctps/map40.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map/aux_/preprocessed/no_ctps/map50.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map/aux_/preprocessed/plain/map10.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map/aux_/preprocessed/plain/map20.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map/aux_/preprocessed/plain/map30.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map/aux_/preprocessed/plain/map40.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map/aux_/preprocessed/plain/map50.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map/aux_/preprocessed/typeof_based/map10.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map/aux_/preprocessed/typeof_based/map20.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map/aux_/preprocessed/typeof_based/map30.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map/aux_/preprocessed/typeof_based/map40.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map/aux_/preprocessed/typeof_based/map50.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map/aux_/size_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map/aux_/tag.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map/aux_/value_type_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map/map0.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map/map10.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map/map20.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map/map30.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map/map40.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/map/map50.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/math/fixed_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/math/is_even.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/math/rational_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/max.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/max_element.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/min.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/min_element.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/min_max.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/minus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/modulus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/multiplies.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/multiset/aux_/count_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/multiset/aux_/insert_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/multiset/aux_/item.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/multiset/aux_/multiset0.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/multiset/aux_/tag.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/multiset/multiset0.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/negate.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/next.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/next_prior.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/not.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/not_equal_to.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/numeric_cast.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/or.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/order.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/order_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/pair.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/pair_view.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/partition.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/placeholders.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/plus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/pop_back.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/pop_back_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/pop_front.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/pop_front_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/print.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/prior.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/protect.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/push_back.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/push_back_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/push_front.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/push_front_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/quote.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/range_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/remove.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/remove_if.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/replace.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/replace_if.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/reverse.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/reverse_fold.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/reverse_iter_fold.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/same_as.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/sequence_tag.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/sequence_tag_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/aux_/at_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/aux_/begin_end_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/aux_/clear_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/aux_/empty_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/aux_/erase_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/aux_/erase_key_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/aux_/has_key_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/aux_/include_preprocessed.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/aux_/insert_impl.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/mpl/set/aux_/insert_range_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/mpl/set/aux_/item.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/aux_/iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/aux_/key_type_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/aux_/numbered.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/aux_/numbered_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/aux_/preprocessed/plain/set10.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/aux_/preprocessed/plain/set10_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/aux_/preprocessed/plain/set20.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/aux_/preprocessed/plain/set20_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/aux_/preprocessed/plain/set30.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/aux_/preprocessed/plain/set30_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/aux_/preprocessed/plain/set40.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/aux_/preprocessed/plain/set40_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/aux_/preprocessed/plain/set50.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/aux_/preprocessed/plain/set50_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/aux_/set0.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/aux_/size_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/aux_/tag.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/aux_/value_type_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/set0.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/set0_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/set10.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/set10_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/set20.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/set20_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/set30.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/set30_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/set40.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/set40_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/set50.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set/set50_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/set_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/shift_left.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/shift_right.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/single_view.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/size.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/size_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/size_t.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/size_t_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/sizeof.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/sort.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/stable_partition.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/mpl/string.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/switch.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/tag.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/times.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/transform.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/transform_view.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/unique.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/unpack_args.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/upper_bound.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/value_type.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/value_type_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/O1_size.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/at.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/back.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/begin_end.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/clear.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/empty.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/front.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/include_preprocessed.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/item.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/numbered.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/numbered_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/pop_back.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/pop_front.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/preprocessed/plain/vector10.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/preprocessed/plain/vector10_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/preprocessed/plain/vector20_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/preprocessed/plain/vector30.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/preprocessed/plain/vector30_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/preprocessed/plain/vector40.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/preprocessed/plain/vector40_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/preprocessed/plain/vector50.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/preprocessed/plain/vector50_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/push_back.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/push_front.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/size.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/tag.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/aux_/vector0.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/vector0.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/vector0_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/vector10.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/vector10_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/vector20.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/vector20_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/vector30.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/vector30_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/vector40.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/vector40_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/vector50.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector/vector50_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/vector_c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/void.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/void_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/mpl/zip_view.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_array.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_array/algorithm.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_array/base.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_array/collection_concept.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_array/concept_checks.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_array/copy_array.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_array/extent_gen.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_array/extent_range.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_array/index_gen.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_array/index_range.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_array/iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_array/multi_array_ref.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_array/range_list.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_array/storage_order.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_array/subarray.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_array/types.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_array/view.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/composite_key.hpp (81%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/access_specifier.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/adl_swap.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/archive_constructed.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/auto_space.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/base_type.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/bidir_node_iterator.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/bucket_array.hpp (98%) create mode 100644 bundled/boost-1.62.0/include/boost/multi_index/detail/cons_stdtuple.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/converter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/copy_map.hpp (88%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/do_not_copy_elements_tag.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/duplicates_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/has_tag.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/hash_index_args.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/hash_index_iterator.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/hash_index_node.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/header_holder.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/index_base.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/index_loader.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/index_matcher.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/index_node_base.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/index_saver.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/invariant_assert.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/is_index_list.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/multi_index/detail/is_transparent.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/iter_adaptor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/modify_key_adaptor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/no_duplicate_tags.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/node_type.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/ord_index_args.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/multi_index/detail/ord_index_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/multi_index/detail/ord_index_impl_fwd.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/ord_index_node.hpp (84%) create mode 100644 bundled/boost-1.62.0/include/boost/multi_index/detail/ord_index_ops.hpp create mode 100644 bundled/boost-1.62.0/include/boost/multi_index/detail/promotes_arg.hpp create mode 100644 bundled/boost-1.62.0/include/boost/multi_index/detail/raw_ptr.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/rnd_index_loader.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/rnd_index_node.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/rnd_index_ops.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/rnd_index_ptr_array.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/rnd_node_iterator.hpp (96%) create mode 100644 bundled/boost-1.62.0/include/boost/multi_index/detail/rnk_index_ops.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/safe_mode.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/scope_guard.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/seq_index_node.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/seq_index_ops.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/serialization_version.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/uintptr_type.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/unbounded.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/value_compare.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/detail/vartempl_support.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/global_fun.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/hashed_index.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/hashed_index_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/multi_index/identity.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/identity_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/indexed_by.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/key_extractors.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/mem_fun.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/member.hpp (98%) create mode 100644 bundled/boost-1.62.0/include/boost/multi_index/ordered_index.hpp create mode 100644 bundled/boost-1.62.0/include/boost/multi_index/ordered_index_fwd.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/random_access_index.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/random_access_index_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/multi_index/ranked_index.hpp create mode 100644 bundled/boost-1.62.0/include/boost/multi_index/ranked_index_fwd.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/safe_mode_errors.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/sequenced_index.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/sequenced_index_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index/tag.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index_container.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/multi_index_container_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/next_prior.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/non_type.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/noncopyable.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/nondet_random.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/none.hpp create mode 100644 bundled/boost-1.62.0/include/boost/none_t.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/conversion/bounds.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/conversion/cast.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/conversion/conversion_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/conversion/converter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/conversion/converter_policies.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/conversion/detail/bounds.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/conversion/detail/conversion_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/conversion/detail/converter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/conversion/detail/int_float_mixture.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/conversion/detail/is_subranged.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/conversion/detail/meta.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/conversion/detail/numeric_cast_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/conversion/detail/old_numeric_cast.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_common.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_long_long.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/conversion/detail/sign_mixture.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/conversion/detail/udt_builtin_mixture.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/conversion/int_float_mixture.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/conversion/int_float_mixture_enum.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/conversion/is_subranged.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/conversion/numeric_cast_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/conversion/sign_mixture.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/conversion/sign_mixture_enum.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/conversion/udt_builtin_mixture.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/conversion/udt_builtin_mixture_enum.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/interval.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/interval/arith.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/interval/arith2.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/interval/arith3.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/interval/checking.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/interval/compare.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/interval/compare/certain.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/interval/compare/explicit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/interval/compare/lexicographic.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/interval/compare/possible.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/numeric/interval/compare/set.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/interval/compare/tribool.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/interval/constants.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/interval/detail/alpha_rounding_control.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/interval/detail/bcc_rounding_control.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/numeric/interval/detail/bugs.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/interval/detail/c99_rounding_control.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/interval/detail/c99sub_rounding_control.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/interval/detail/division.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/interval/detail/ia64_rounding_control.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/interval/detail/interval_prototype.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/interval/detail/msvc_rounding_control.hpp (84%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/interval/detail/ppc_rounding_control.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/interval/detail/sparc_rounding_control.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/interval/detail/test_input.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/interval/detail/x86_rounding_control.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/interval/detail/x86gcc_rounding_control.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/interval/ext/integer.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/interval/ext/x86_fast_rounding_control.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/interval/hw_rounding.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/interval/interval.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/interval/io.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/numeric/interval/limits.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/interval/policies.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/interval/rounded_arith.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/interval/rounded_transc.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/interval/rounding.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/interval/transc.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/interval/utility.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/algebra/algebra_dispatcher.hpp (82%) create mode 100644 bundled/boost-1.62.0/include/boost/numeric/odeint/algebra/array_algebra.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/algebra/default_operations.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/algebra/detail/extract_value_type.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/algebra/detail/for_each.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/algebra/detail/macros.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/algebra/detail/norm_inf.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/algebra/fusion_algebra.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/algebra/fusion_algebra_dispatcher.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/algebra/multi_array_algebra.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/algebra/norm_result_type.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/algebra/operations_dispatcher.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/algebra/range_algebra.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/algebra/vector_space_algebra.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/config.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/blaze/blaze_algebra_dispatcher.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/blaze/blaze_resize.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/compute/compute.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/compute/compute_algebra.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/compute/compute_algebra_dispatcher.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/compute/compute_operations.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/compute/compute_operations_dispatcher.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/compute/compute_resize.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/numeric/odeint/external/eigen/eigen.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/eigen/eigen_algebra.hpp (91%) create mode 100644 bundled/boost-1.62.0/include/boost/numeric/odeint/external/eigen/eigen_algebra_dispatcher.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/eigen/eigen_resize.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/gsl/gsl_wrapper.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/mkl/mkl_operations.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/mpi/mpi.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/mpi/mpi_nested_algebra.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/mpi/mpi_state.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/mpi/mpi_vector_state.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/mtl4/implicit_euler_mtl4.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/mtl4/mtl4.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/mtl4/mtl4_algebra_dispatcher.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/mtl4/mtl4_resize.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/nt2/nt2_algebra_dispatcher.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/nt2/nt2_copy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/nt2/nt2_norm_inf.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/nt2/nt2_resize.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/openmp/openmp.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/openmp/openmp_nested_algebra.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/openmp/openmp_range_algebra.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/openmp/openmp_state.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/thrust/thrust.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/thrust/thrust_algebra.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/numeric/odeint/external/thrust/thrust_algebra_dispatcher.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/thrust/thrust_operations.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/numeric/odeint/external/thrust/thrust_operations_dispatcher.hpp create mode 100644 bundled/boost-1.62.0/include/boost/numeric/odeint/external/thrust/thrust_resize.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/vexcl/vexcl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/vexcl/vexcl_abs.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/vexcl/vexcl_algebra_dispatcher.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/vexcl/vexcl_copy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/vexcl/vexcl_norm_inf.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/vexcl/vexcl_resize.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/vexcl/vexcl_same_instance.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/viennacl/viennacl_operations.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/external/viennacl/viennacl_resize.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/numeric/odeint/integrate/check_adapter.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/integrate/detail/functors.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp create mode 100644 bundled/boost-1.62.0/include/boost/numeric/odeint/integrate/detail/integrate_const.hpp create mode 100644 bundled/boost-1.62.0/include/boost/numeric/odeint/integrate/detail/integrate_n_steps.hpp create mode 100644 bundled/boost-1.62.0/include/boost/numeric/odeint/integrate/detail/integrate_times.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/integrate/integrate.hpp (78%) create mode 100644 bundled/boost-1.62.0/include/boost/numeric/odeint/integrate/integrate_adaptive.hpp create mode 100644 bundled/boost-1.62.0/include/boost/numeric/odeint/integrate/integrate_const.hpp create mode 100644 bundled/boost-1.62.0/include/boost/numeric/odeint/integrate/integrate_n_steps.hpp create mode 100644 bundled/boost-1.62.0/include/boost/numeric/odeint/integrate/integrate_times.hpp create mode 100644 bundled/boost-1.62.0/include/boost/numeric/odeint/integrate/max_step_checker.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/integrate/null_observer.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/integrate/observer_collection.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/iterator/adaptive_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/iterator/adaptive_time_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/iterator/const_step_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/iterator/const_step_time_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/iterator/detail/ode_iterator_base.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/iterator/impl/adaptive_iterator_impl.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/iterator/impl/const_step_iterator_impl.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/iterator/impl/n_step_iterator_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/iterator/impl/times_iterator_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/iterator/integrate/detail/functors.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/iterator/integrate/detail/integrate_adaptive.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/iterator/integrate/detail/integrate_const.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/numeric/odeint/iterator/integrate/detail/integrate_n_steps.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/iterator/integrate/detail/integrate_times.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/iterator/integrate/integrate.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/iterator/integrate/integrate_adaptive.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/iterator/integrate/integrate_const.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/iterator/integrate/integrate_n_steps.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/iterator/integrate/integrate_times.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/iterator/integrate/null_observer.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/iterator/integrate/observer_collection.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/iterator/n_step_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/iterator/n_step_time_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/iterator/times_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/iterator/times_time_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/adams_bashforth.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/adams_bashforth_moulton.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/adams_moulton.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/base/algebra_stepper_base.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/base/explicit_error_stepper_base.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/base/explicit_error_stepper_fsal_base.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/base/explicit_stepper_base.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/base/symplectic_rkn_stepper_base.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/bulirsch_stoer.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/bulirsch_stoer_dense_out.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp (83%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/controlled_step_result.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/dense_output_runge_kutta.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/detail/adams_bashforth_call_algebra.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/detail/adams_bashforth_coefficients.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/detail/adams_moulton_call_algebra.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/detail/adams_moulton_coefficients.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/detail/generic_rk_algorithm.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/detail/generic_rk_call_algebra.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/detail/generic_rk_operations.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/detail/rotating_buffer.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/euler.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/explicit_error_generic_rk.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/explicit_generic_rk.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/numeric/odeint/stepper/extrapolation_stepper.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/generation.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/numeric/odeint/stepper/generation/generation_controlled_runge_kutta.hpp create mode 100644 bundled/boost-1.62.0/include/boost/numeric/odeint/stepper/generation/generation_dense_output_runge_kutta.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/generation/generation_rosenbrock4.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/generation/generation_runge_kutta_cash_karp54.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/generation/generation_runge_kutta_cash_karp54_classic.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/generation/generation_runge_kutta_dopri5.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/generation/generation_runge_kutta_fehlberg78.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/numeric/odeint/stepper/generation/make_controlled.hpp create mode 100644 bundled/boost-1.62.0/include/boost/numeric/odeint/stepper/generation/make_dense_output.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/implicit_euler.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/modified_midpoint.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/rosenbrock4.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/rosenbrock4_controller.hpp (82%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/rosenbrock4_dense_output.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/runge_kutta4.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/runge_kutta4_classic.hpp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/runge_kutta_cash_karp54.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/runge_kutta_cash_karp54_classic.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/runge_kutta_dopri5.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/runge_kutta_fehlberg78.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/stepper_categories.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/symplectic_euler.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/symplectic_rkn_sb3a_m4_mclachlan.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/symplectic_rkn_sb3a_mclachlan.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/stepper/velocity_verlet.hpp (99%) create mode 100644 bundled/boost-1.62.0/include/boost/numeric/odeint/util/bind.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/util/copy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/util/detail/is_range.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/util/detail/less_with_sign.hpp (88%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/util/is_pair.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/util/is_resizeable.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/util/multi_array_adaption.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/util/n_ary_helper.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/numeric/odeint/util/odeint_error.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/util/resize.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/util/resizer.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/util/same_instance.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/util/same_size.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/util/split.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/util/split_adaptor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/util/state_wrapper.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/util/stepper_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/util/ublas_matrix_expression.patch (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/util/ublas_wrapper.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/util/unit_helper.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/util/unwrap_reference.hpp (89%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/odeint/version.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/assignment.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/banded.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/blas.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/numeric/ublas/detail/concepts.hpp create mode 100644 bundled/boost-1.62.0/include/boost/numeric/ublas/detail/config.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/detail/definitions.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/detail/documentation.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/detail/duff.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/detail/iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/detail/matrix_assign.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/detail/raw.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/detail/returntype_deduction.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/detail/temporary.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/detail/vector_assign.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/doxydoc.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/exception.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/experimental/sparse_view.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/expression_types.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/numeric/ublas/functional.hpp create mode 100644 bundled/boost-1.62.0/include/boost/numeric/ublas/fwd.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/hermitian.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/io.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/lu.hpp (99%) create mode 100644 bundled/boost-1.62.0/include/boost/numeric/ublas/matrix.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/matrix_expression.hpp (90%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/matrix_proxy.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/matrix_sparse.hpp (95%) create mode 100644 bundled/boost-1.62.0/include/boost/numeric/ublas/matrix_vector.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/operation.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/operation/begin.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/operation/c_array.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/operation/end.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/operation/num_columns.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/operation/num_rows.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/operation/size.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/operation_blocked.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/operation_sparse.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/operations.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/storage.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/storage_sparse.hpp (97%) create mode 100644 bundled/boost-1.62.0/include/boost/numeric/ublas/symmetric.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/tags.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/numeric/ublas/traits.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/traits/c_array.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/traits/const_iterator_type.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/traits/iterator_type.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/numeric/ublas/triangular.hpp create mode 100644 bundled/boost-1.62.0/include/boost/numeric/ublas/vector.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/vector_expression.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/vector_of_vector.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/vector_proxy.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/numeric/ublas/vector_sparse.hpp (98%) create mode 100644 bundled/boost-1.62.0/include/boost/operators.hpp create mode 100644 bundled/boost-1.62.0/include/boost/operators_v1.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/optional.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/optional/bad_optional_access.hpp (86%) create mode 100644 bundled/boost-1.62.0/include/boost/optional/detail/old_optional_implementation.hpp create mode 100644 bundled/boost-1.62.0/include/boost/optional/detail/optional_aligned_storage.hpp create mode 100644 bundled/boost-1.62.0/include/boost/optional/detail/optional_config.hpp create mode 100644 bundled/boost-1.62.0/include/boost/optional/detail/optional_factory_support.hpp create mode 100644 bundled/boost-1.62.0/include/boost/optional/detail/optional_reference_spec.hpp create mode 100644 bundled/boost-1.62.0/include/boost/optional/detail/optional_relops.hpp create mode 100644 bundled/boost-1.62.0/include/boost/optional/detail/optional_swap.hpp create mode 100644 bundled/boost-1.62.0/include/boost/optional/optional.hpp create mode 100644 bundled/boost-1.62.0/include/boost/optional/optional_fwd.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/optional/optional_io.hpp (79%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/parameter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/parameter/aux_/arg_list.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/parameter/aux_/cast.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/parameter/aux_/default.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/parameter/aux_/is_maybe.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/parameter/aux_/maybe.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/parameter/aux_/overloads.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/parameter/aux_/parameter_requirements.hpp (100%) create mode 100755 bundled/boost-1.62.0/include/boost/parameter/aux_/parenthesized_type.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/parameter/aux_/preprocessor/flatten.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/parameter/aux_/preprocessor/for_each.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/parameter/aux_/python/invoker.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/parameter/aux_/python/invoker_iterate.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/parameter/aux_/result_of0.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/parameter/aux_/set.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/parameter/aux_/tag.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/parameter/aux_/tagged_argument.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/parameter/aux_/template_keyword.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/parameter/aux_/unwrap_cv_reference.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/parameter/aux_/void.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/parameter/aux_/yesno.hpp (100%) create mode 100755 bundled/boost-1.62.0/include/boost/parameter/binding.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/parameter/config.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/parameter/keyword.hpp (75%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/parameter/macros.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/parameter/match.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/parameter/name.hpp (90%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/parameter/parameters.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/parameter/preprocessor.hpp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/parameter/python.hpp (100%) create mode 100755 bundled/boost-1.62.0/include/boost/parameter/value_type.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/pending/bucket_sorter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/pending/container_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/pending/detail/disjoint_sets.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/pending/detail/int_iterator.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/pending/detail/property.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/pending/disjoint_sets.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/pending/fenced_priority_queue.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/pending/fibonacci_heap.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/pending/indirect_cmp.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/pending/integer_log2.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/pending/is_heap.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/pending/iterator_adaptors.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/pending/iterator_tests.hpp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/pending/lowest_bit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/pending/mutable_heap.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/pending/mutable_queue.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/pending/property.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/pending/property_serialize.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/pending/queue.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/pending/relaxed_heap.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/pending/stringtok.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/phoenix.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/pointee.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/pointer_cast.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/pointer_to_other.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/polymorphic_cast.hpp create mode 100644 bundled/boost-1.62.0/include/boost/polymorphic_pointer_cast.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef.h (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/architecture.h (88%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/architecture/alpha.h (97%) create mode 100644 bundled/boost-1.62.0/include/boost/predef/architecture/arm.h rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/architecture/blackfin.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/architecture/convex.h (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/architecture/ia64.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/architecture/m68k.h (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/architecture/mips.h (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/architecture/parisc.h (98%) create mode 100644 bundled/boost-1.62.0/include/boost/predef/architecture/ppc.h rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/architecture/pyramid.h (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/architecture/rs6k.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/architecture/sparc.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/architecture/superh.h (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/architecture/sys370.h (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/architecture/sys390.h (96%) create mode 100644 bundled/boost-1.62.0/include/boost/predef/architecture/x86.h rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/architecture/x86/32.h (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/architecture/x86/64.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/architecture/z.h (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/compiler.h (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/compiler/borland.h (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/compiler/clang.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/compiler/comeau.h (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/compiler/compaq.h (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/compiler/diab.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/compiler/digitalmars.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/compiler/dignus.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/compiler/edg.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/compiler/ekopath.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/compiler/gcc.h (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/compiler/gcc_xml.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/compiler/greenhills.h (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/compiler/hp_acc.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/compiler/iar.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/compiler/ibm.h (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/compiler/intel.h (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/compiler/kai.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/compiler/llvm.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/compiler/metaware.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/compiler/metrowerks.h (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/compiler/microtec.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/compiler/mpw.h (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/compiler/palm.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/compiler/pgi.h (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/compiler/sgi_mipspro.h (98%) create mode 100644 bundled/boost-1.62.0/include/boost/predef/compiler/sunpro.h rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/compiler/tendra.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/compiler/visualc.h (76%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/compiler/watcom.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/detail/_cassert.h (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/detail/_exception.h (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/detail/comp_detected.h (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/detail/endian_compat.h (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/detail/os_detected.h (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/detail/platform_detected.h (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/detail/test.h (100%) create mode 100644 bundled/boost-1.62.0/include/boost/predef/detail/test_def.h create mode 100644 bundled/boost-1.62.0/include/boost/predef/hardware.h create mode 100644 bundled/boost-1.62.0/include/boost/predef/hardware/simd.h create mode 100644 bundled/boost-1.62.0/include/boost/predef/hardware/simd/arm.h create mode 100644 bundled/boost-1.62.0/include/boost/predef/hardware/simd/arm/versions.h create mode 100644 bundled/boost-1.62.0/include/boost/predef/hardware/simd/ppc.h create mode 100644 bundled/boost-1.62.0/include/boost/predef/hardware/simd/ppc/versions.h create mode 100644 bundled/boost-1.62.0/include/boost/predef/hardware/simd/x86.h create mode 100644 bundled/boost-1.62.0/include/boost/predef/hardware/simd/x86/versions.h create mode 100644 bundled/boost-1.62.0/include/boost/predef/hardware/simd/x86_amd.h create mode 100644 bundled/boost-1.62.0/include/boost/predef/hardware/simd/x86_amd/versions.h create mode 100644 bundled/boost-1.62.0/include/boost/predef/language.h rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/language/objc.h (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/language/stdc.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/language/stdcpp.h (98%) create mode 100644 bundled/boost-1.62.0/include/boost/predef/library.h rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/library/c.h (77%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/library/c/_prefix.h (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/library/c/gnu.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/library/c/uc.h (97%) create mode 100644 bundled/boost-1.62.0/include/boost/predef/library/c/vms.h rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/library/c/zos.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/library/std.h (84%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/library/std/_prefix.h (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/library/std/cxx.h (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/library/std/dinkumware.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/library/std/libcomo.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/library/std/modena.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/library/std/msl.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/library/std/roguewave.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/library/std/sgi.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/library/std/stdcpp3.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/library/std/stlport.h (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/library/std/vacpp.h (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/make.h (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/os.h (84%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/os/aix.h (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/os/amigaos.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/os/android.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/os/beos.h (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/os/bsd.h (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/os/bsd/bsdi.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/os/bsd/dragonfly.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/os/bsd/free.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/os/bsd/net.h (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/os/bsd/open.h (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/os/cygwin.h (91%) create mode 100644 bundled/boost-1.62.0/include/boost/predef/os/haiku.h rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/os/hpux.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/os/ios.h (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/os/irix.h (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/os/linux.h (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/os/macos.h (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/os/os400.h (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/os/qnxnto.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/os/solaris.h (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/os/unix.h (98%) create mode 100644 bundled/boost-1.62.0/include/boost/predef/os/vms.h rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/os/windows.h (97%) create mode 100644 bundled/boost-1.62.0/include/boost/predef/other.h rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/other/endian.h (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/platform.h (81%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/platform/mingw.h (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/platform/windows_desktop.h (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/platform/windows_phone.h (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/platform/windows_runtime.h (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/platform/windows_store.h (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/version.h (75%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/predef/version_number.h (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/arithmetic.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/arithmetic/add.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/arithmetic/dec.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/arithmetic/detail/div_base.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/arithmetic/div.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/arithmetic/inc.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/arithmetic/mod.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/arithmetic/mul.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/arithmetic/sub.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/array.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/array/data.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/preprocessor/array/detail/get_data.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/array/elem.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/array/enum.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/array/insert.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/array/pop_back.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/array/pop_front.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/preprocessor/array/push_back.hpp create mode 100644 bundled/boost-1.62.0/include/boost/preprocessor/array/push_front.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/array/remove.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/array/replace.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/array/reverse.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/array/size.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/preprocessor/array/to_list.hpp create mode 100644 bundled/boost-1.62.0/include/boost/preprocessor/array/to_seq.hpp create mode 100644 bundled/boost-1.62.0/include/boost/preprocessor/array/to_tuple.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/assert_msg.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/cat.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/comma.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/comma_if.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/comparison.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/comparison/equal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/comparison/greater.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/comparison/greater_equal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/comparison/less.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/comparison/less_equal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/comparison/not_equal.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/preprocessor/config/config.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/config/limits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/control.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/control/deduce_d.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/control/detail/dmc/while.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/control/detail/edg/while.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/control/detail/msvc/while.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/control/detail/while.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/control/expr_if.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/control/expr_iif.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/control/if.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/control/iif.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/control/while.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/debug.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/debug/assert.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/debug/error.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/debug/line.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/dec.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/detail/auto_rec.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/detail/check.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/detail/dmc/auto_rec.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/detail/is_binary.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/detail/is_nullary.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/detail/is_unary.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/detail/null.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/detail/split.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/empty.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/enum.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/enum_params.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/enum_params_with_a_default.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/enum_params_with_defaults.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/enum_shifted.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/enum_shifted_params.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/expand.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/expr_if.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/facilities.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/facilities/apply.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/preprocessor/facilities/detail/is_empty.hpp create mode 100644 bundled/boost-1.62.0/include/boost/preprocessor/facilities/empty.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/facilities/expand.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/preprocessor/facilities/identity.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/facilities/intercept.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/facilities/is_1.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/preprocessor/facilities/is_empty.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/facilities/is_empty_or_1.hpp (92%) create mode 100644 bundled/boost-1.62.0/include/boost/preprocessor/facilities/is_empty_variadic.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/facilities/overload.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/for.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/identity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/if.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/inc.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/iterate.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/iteration.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/iteration/detail/bounds/lower2.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/iteration/detail/bounds/lower3.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/iteration/detail/bounds/lower4.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/iteration/detail/bounds/lower5.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/iteration/detail/bounds/upper2.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/iteration/detail/bounds/upper3.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/iteration/detail/bounds/upper4.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/iteration/detail/bounds/upper5.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/iteration/detail/finish.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/iteration/detail/iter/forward1.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/iteration/detail/iter/forward2.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/iteration/detail/iter/forward3.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/iteration/detail/iter/forward4.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/iteration/detail/iter/forward5.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/iteration/detail/iter/reverse1.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/iteration/detail/iter/reverse2.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/iteration/detail/iter/reverse3.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/iteration/detail/iter/reverse4.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/iteration/detail/iter/reverse5.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/iteration/detail/local.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/iteration/detail/rlocal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/iteration/detail/self.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/iteration/detail/start.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/iteration/iterate.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/iteration/local.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/iteration/self.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/library.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/limits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/list.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/list/adt.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/list/append.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/list/at.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/list/cat.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/list/detail/dmc/fold_left.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/list/detail/edg/fold_left.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/list/detail/edg/fold_right.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/list/detail/fold_left.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/list/detail/fold_right.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/list/enum.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/list/filter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/list/first_n.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/list/fold_left.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/list/fold_right.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/list/for_each.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/list/for_each_i.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/list/for_each_product.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/list/rest_n.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/list/reverse.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/list/size.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/list/to_array.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/list/to_seq.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/preprocessor/list/to_tuple.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/list/transform.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/logical.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/logical/and.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/logical/bitand.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/logical/bitnor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/logical/bitor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/logical/bitxor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/logical/bool.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/logical/compl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/logical/nor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/logical/not.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/logical/or.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/logical/xor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/max.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/min.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/punctuation.hpp (88%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/punctuation/comma.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/punctuation/comma_if.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/preprocessor/punctuation/detail/is_begin_parens.hpp create mode 100644 bundled/boost-1.62.0/include/boost/preprocessor/punctuation/is_begin_parens.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/punctuation/paren.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/punctuation/paren_if.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/preprocessor/punctuation/remove_parens.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/repeat.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/repeat_2nd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/repeat_3rd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/repeat_from_to.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/repeat_from_to_2nd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/repeat_from_to_3rd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/repetition.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/repetition/deduce_r.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/repetition/deduce_z.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/repetition/detail/dmc/for.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/repetition/detail/edg/for.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/repetition/detail/for.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/repetition/detail/msvc/for.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/repetition/enum.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/repetition/enum_binary_params.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/repetition/enum_params.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/repetition/enum_params_with_a_default.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/repetition/enum_params_with_defaults.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/repetition/enum_shifted.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/repetition/enum_shifted_binary_params.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/repetition/enum_shifted_params.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/repetition/enum_trailing.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/repetition/enum_trailing_binary_params.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/repetition/enum_trailing_params.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/repetition/for.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/repetition/repeat.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/repetition/repeat_from_to.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/selection.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/selection/max.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/selection/min.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/seq.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/seq/cat.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/seq/detail/binary_transform.hpp (75%) create mode 100644 bundled/boost-1.62.0/include/boost/preprocessor/seq/detail/is_empty.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/seq/detail/split.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/seq/elem.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/seq/enum.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/seq/filter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/seq/first_n.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/seq/fold_left.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/seq/fold_right.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/preprocessor/seq/for_each.hpp create mode 100644 bundled/boost-1.62.0/include/boost/preprocessor/seq/for_each_i.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/seq/for_each_product.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/seq/insert.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/seq/pop_back.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/seq/pop_front.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/seq/push_back.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/seq/push_front.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/seq/remove.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/preprocessor/seq/replace.hpp create mode 100644 bundled/boost-1.62.0/include/boost/preprocessor/seq/rest_n.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/seq/reverse.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/seq/seq.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/preprocessor/seq/size.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/seq/subseq.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/seq/to_array.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/seq/to_list.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/seq/to_tuple.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/seq/transform.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/seq/variadic_seq_to_seq.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/slot.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/slot/counter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/slot/detail/counter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/slot/detail/def.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/slot/detail/shared.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/slot/detail/slot1.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/slot/detail/slot2.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/slot/detail/slot3.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/slot/detail/slot4.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/slot/detail/slot5.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/slot/slot.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/stringize.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/tuple.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/preprocessor/tuple/detail/is_single_return.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/tuple/eat.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/tuple/elem.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/tuple/enum.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/tuple/insert.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/tuple/pop_back.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/tuple/pop_front.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/tuple/push_back.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/tuple/push_front.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/tuple/rem.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/tuple/remove.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/tuple/replace.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/tuple/reverse.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/tuple/size.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/tuple/to_array.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/tuple/to_list.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/preprocessor/tuple/to_seq.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/variadic.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/preprocessor/variadic/detail/is_single_return.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/variadic/elem.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/variadic/size.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/variadic/to_array.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/variadic/to_list.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/variadic/to_seq.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/variadic/to_tuple.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/while.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/preprocessor/wstringize.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/program_options.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/progress.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_map/compose_property_map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_map/dynamic_property_map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_map/function_property_map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_map/parallel/basic_reduce.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_map/parallel/caching_property_map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_map/parallel/detail/untracked_pair.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_map/parallel/distributed_property_map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_map/parallel/global_index_map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_map/parallel/impl/distributed_property_map.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_map/parallel/local_property_map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_map/parallel/parallel_property_maps.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_map/parallel/process_group.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_map/parallel/simple_trigger.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_map/parallel/unsafe_serialize.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_map/parallel/vector_property_map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_map/property_map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_map/property_map_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_map/shared_array_property_map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_map/transform_value_property_map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_map/vector_property_map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_tree/detail/exception_implementation.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_tree/detail/file_parser_error.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_tree/detail/info_parser_error.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_tree/detail/info_parser_read.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_tree/detail/info_parser_utils.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_tree/detail/info_parser_write.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_tree/detail/info_parser_writer_settings.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_tree/detail/json_parser_error.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_tree/detail/json_parser_read.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_tree/detail/json_parser_write.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_tree/detail/ptree_implementation.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_tree/detail/ptree_utils.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_tree/detail/rapidxml.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_tree/detail/xml_parser_error.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_tree/detail/xml_parser_flags.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_tree/detail/xml_parser_read_rapidxml.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_tree/detail/xml_parser_utils.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_tree/detail/xml_parser_write.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_tree/detail/xml_parser_writer_settings.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_tree/exceptions.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_tree/id_translator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_tree/info_parser.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_tree/ini_parser.hpp (84%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_tree/json_parser.hpp (94%) create mode 100644 bundled/boost-1.62.0/include/boost/property_tree/json_parser/detail/narrow_encoding.hpp create mode 100644 bundled/boost-1.62.0/include/boost/property_tree/json_parser/detail/parser.hpp create mode 100644 bundled/boost-1.62.0/include/boost/property_tree/json_parser/detail/read.hpp create mode 100644 bundled/boost-1.62.0/include/boost/property_tree/json_parser/detail/standard_callbacks.hpp create mode 100644 bundled/boost-1.62.0/include/boost/property_tree/json_parser/detail/wide_encoding.hpp create mode 100644 bundled/boost-1.62.0/include/boost/property_tree/json_parser/detail/write.hpp create mode 100644 bundled/boost-1.62.0/include/boost/property_tree/json_parser/error.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_tree/ptree.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_tree/ptree_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/property_tree/ptree_serialization.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_tree/stream_translator.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_tree/string_path.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/property_tree/xml_parser.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/python.hpp create mode 100644 bundled/boost-1.62.0/include/boost/random.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/additive_combine.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/bernoulli_distribution.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/beta_distribution.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/binomial_distribution.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/cauchy_distribution.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/chi_squared_distribution.hpp (97%) create mode 100644 bundled/boost-1.62.0/include/boost/random/detail/auto_link.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/detail/config.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/detail/const_mod.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/detail/disable_warnings.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/detail/enable_warnings.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/detail/generator_bits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/detail/generator_seed_seq.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/detail/integer_log2.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/detail/iterator_mixin.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/detail/large_arithmetic.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/detail/operators.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/random/detail/polynomial.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/detail/ptr_helper.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/detail/seed.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/detail/seed_impl.hpp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/detail/signed_unsigned_tools.hpp (78%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/detail/uniform_int_float.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/detail/vector_io.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/discard_block.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/discrete_distribution.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/exponential_distribution.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/extreme_value_distribution.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/fisher_f_distribution.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/gamma_distribution.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/generate_canonical.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/geometric_distribution.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/random/hyperexponential_distribution.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/independent_bits.hpp (88%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/inversive_congruential.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/lagged_fibonacci.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/laplace_distribution.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/linear_congruential.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/linear_feedback_shift.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/lognormal_distribution.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/mersenne_twister.hpp (81%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/negative_binomial_distribution.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/random/non_central_chi_squared_distribution.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/normal_distribution.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/piecewise_constant_distribution.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/piecewise_linear_distribution.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/poisson_distribution.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/random_device.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/random_number_generator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/ranlux.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/seed_seq.hpp (88%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/shuffle_order.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/shuffle_output.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/student_t_distribution.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/subtract_with_carry.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/taus88.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/random/traits.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/triangle_distribution.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/uniform_01.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/uniform_int.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/uniform_int_distribution.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/uniform_on_sphere.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/uniform_real.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/uniform_real_distribution.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/uniform_smallint.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/variate_generator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/weibull_distribution.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/random/xor_combine.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/adaptor/adjacent_filtered.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/adaptor/argument_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/adaptor/copied.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/adaptor/define_adaptor.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/range/adaptor/filtered.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/adaptor/formatted.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/adaptor/indexed.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/adaptor/indirected.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/adaptor/map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/adaptor/replaced.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/adaptor/replaced_if.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/adaptor/reversed.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/adaptor/sliced.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/adaptor/strided.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/adaptor/tokenized.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/adaptor/transformed.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/adaptor/type_erased.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/adaptor/uniqued.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/adaptors.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/adjacent_find.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/binary_search.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/copy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/copy_backward.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/count.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/count_if.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/equal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/equal_range.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/fill.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/fill_n.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/find.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/find_end.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/find_first_of.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/find_if.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/for_each.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/generate.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/heap_algorithm.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/inplace_merge.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/lexicographical_compare.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/lower_bound.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/max_element.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/merge.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/min_element.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/mismatch.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/nth_element.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/partial_sort.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/partial_sort_copy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/partition.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/permutation.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/random_shuffle.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/remove.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/remove_copy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/remove_copy_if.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/remove_if.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/replace.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/replace_copy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/replace_copy_if.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/replace_if.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/reverse.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/reverse_copy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/rotate.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/rotate_copy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/search.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/search_n.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/set_algorithm.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/sort.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/stable_partition.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/stable_sort.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/swap_ranges.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/transform.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/unique.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/unique_copy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm/upper_bound.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm_ext.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm_ext/copy_n.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm_ext/erase.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm_ext/for_each.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm_ext/insert.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm_ext/iota.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm_ext/is_sorted.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm_ext/overwrite.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm_ext/push_back.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/algorithm_ext/push_front.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/any_range.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/as_array.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/as_literal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/atl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/begin.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/category.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/combine.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/concepts.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/config.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/const_iterator.hpp (89%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/const_reverse_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/counting_range.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/detail/any_iterator.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/detail/any_iterator_buffer.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/detail/any_iterator_interface.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/detail/any_iterator_wrapper.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/detail/as_literal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/detail/begin.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/range/detail/collection_traits.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/detail/collection_traits_detail.hpp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/detail/combine_cxx03.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/detail/combine_cxx11.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/detail/combine_no_rvalue.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/detail/combine_rvalue.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/detail/common.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/detail/default_constructible_unary_fn.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/detail/demote_iterator_traversal_tag.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/detail/detail_str.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/detail/difference_type.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/detail/empty.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/detail/end.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/detail/extract_optional_type.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/detail/has_member_size.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/detail/implementation_help.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/detail/join_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/detail/microsoft.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/detail/misc_concept.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/detail/msvc_has_iterator_workaround.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/detail/range_return.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/detail/remove_extent.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/detail/safe_bool.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/detail/sfinae.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/detail/size_type.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/detail/sizer.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/detail/str_types.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/detail/value_type.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/range/difference_type.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/distance.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/empty.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/end.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/functions.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/has_range_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/irange.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/istream_range.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/range/iterator.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/iterator_range.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/iterator_range_core.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/iterator_range_hash.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/iterator_range_io.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/join.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/metafunctions.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/mfc.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/mfc_map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/mutable_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/numeric.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/pointer.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/range_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/rbegin.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/reference.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/rend.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/result_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/reverse_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/reverse_result_iterator.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/range/size.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/size_type.hpp (76%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/sub_range.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/traversal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/range/value_type.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/ratio.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/ratio/config.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/ratio/detail/mpl/abs.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/ratio/detail/mpl/gcd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/ratio/detail/mpl/lcm.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/ratio/detail/mpl/sign.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/ratio/detail/overflow_helpers.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/ratio/detail/ratio_io.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/ratio/include.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/ratio/mpl/abs.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/ratio/mpl/arithmetic.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/ratio/mpl/comparison.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/ratio/mpl/divides.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/ratio/mpl/equal_to.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/ratio/mpl/gcd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/ratio/mpl/greater.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/ratio/mpl/greater_equal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/ratio/mpl/lcm.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/ratio/mpl/less.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/ratio/mpl/less_equal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/ratio/mpl/minus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/ratio/mpl/negate.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/ratio/mpl/not_equal_to.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/ratio/mpl/numeric_cast.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/ratio/mpl/plus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/ratio/mpl/rational_c_tag.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/ratio/mpl/rational_constant.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/ratio/mpl/sign.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/ratio/mpl/times.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/ratio/ratio.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/ratio/ratio_fwd.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/ratio/ratio_io.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/rational.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/ref.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/regex.h (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/regex.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/regex_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/scope_exit.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/scoped_array.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/scoped_ptr.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/access.hpp (95%) create mode 100644 bundled/boost-1.62.0/include/boost/serialization/archive_input_unordered_map.hpp create mode 100644 bundled/boost-1.62.0/include/boost/serialization/archive_input_unordered_set.hpp create mode 100644 bundled/boost-1.62.0/include/boost/serialization/array.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/assume_abstract.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/base_object.hpp (89%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/binary_object.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/bitset.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/serialization/boost_unordered_map.hpp create mode 100644 bundled/boost-1.62.0/include/boost/serialization/boost_unordered_set.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/collection_size_type.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/serialization/collection_traits.hpp create mode 100644 bundled/boost-1.62.0/include/boost/serialization/collections_load_imp.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/collections_save_imp.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/complex.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/serialization/config.hpp create mode 100644 bundled/boost-1.62.0/include/boost/serialization/deque.hpp create mode 100644 bundled/boost-1.62.0/include/boost/serialization/detail/get_data.hpp create mode 100644 bundled/boost-1.62.0/include/boost/serialization/detail/is_default_constructible.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/detail/shared_count_132.hpp (94%) create mode 100644 bundled/boost-1.62.0/include/boost/serialization/detail/shared_ptr_132.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/detail/shared_ptr_nmt_132.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/detail/stack_constructor.hpp (88%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/ephemeral.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/export.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/extended_type_info.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/extended_type_info_no_rtti.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/extended_type_info_typeid.hpp (89%) create mode 100644 bundled/boost-1.62.0/include/boost/serialization/factory.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/force_include.hpp (93%) create mode 100644 bundled/boost-1.62.0/include/boost/serialization/forward_list.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/hash_collections_load_imp.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/hash_collections_save_imp.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/hash_map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/hash_set.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/is_bitwise_serializable.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/item_version_type.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/level.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/level_enum.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/serialization/list.hpp create mode 100644 bundled/boost-1.62.0/include/boost/serialization/map.hpp create mode 100644 bundled/boost-1.62.0/include/boost/serialization/nvp.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/optional.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/pfto.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/priority_queue.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/queue.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/scoped_ptr.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/serialization/serialization.hpp create mode 100644 bundled/boost-1.62.0/include/boost/serialization/set.hpp create mode 100644 bundled/boost-1.62.0/include/boost/serialization/shared_ptr.hpp create mode 100644 bundled/boost-1.62.0/include/boost/serialization/shared_ptr_132.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/shared_ptr_helper.hpp (96%) create mode 100644 bundled/boost-1.62.0/include/boost/serialization/singleton.hpp create mode 100644 bundled/boost-1.62.0/include/boost/serialization/slist.hpp create mode 100644 bundled/boost-1.62.0/include/boost/serialization/smart_cast.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/split_free.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/split_member.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/stack.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/state_saver.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/static_warning.hpp (90%) create mode 100644 bundled/boost-1.62.0/include/boost/serialization/string.hpp create mode 100644 bundled/boost-1.62.0/include/boost/serialization/strong_typedef.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/throw_exception.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/tracking.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/tracking_enum.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/serialization/traits.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/type_info_implementation.hpp (82%) create mode 100644 bundled/boost-1.62.0/include/boost/serialization/unique_ptr.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/unordered_collections_load_imp.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/unordered_collections_save_imp.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/serialization/unordered_map.hpp create mode 100644 bundled/boost-1.62.0/include/boost/serialization/unordered_set.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/utility.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/valarray.hpp (85%) create mode 100644 bundled/boost-1.62.0/include/boost/serialization/variant.hpp create mode 100644 bundled/boost-1.62.0/include/boost/serialization/vector.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/vector_135.hpp (90%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/version.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/void_cast.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/void_cast_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/weak_ptr.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/serialization/wrapper.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/shared_array.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/shared_container_iterator.hpp (88%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/shared_ptr.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signals.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signals2.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/signals2/connection.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signals2/deconstruct.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signals2/deconstruct_ptr.hpp (90%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signals2/detail/auto_buffer.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signals2/detail/foreign_ptr.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signals2/detail/lwm_nop.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signals2/detail/lwm_pthreads.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signals2/detail/lwm_win32_cs.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signals2/detail/null_output_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signals2/detail/preprocessed_arg_type.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signals2/detail/preprocessed_arg_type_template.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signals2/detail/replace_slot_function.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signals2/detail/result_type_wrapper.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/signals2/detail/signal_template.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signals2/detail/signals_common.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signals2/detail/signals_common_macros.hpp (94%) create mode 100644 bundled/boost-1.62.0/include/boost/signals2/detail/slot_call_iterator.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signals2/detail/slot_groups.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signals2/detail/slot_template.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signals2/detail/tracked_objects_visitor.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signals2/detail/unique_lock.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signals2/detail/variadic_arg_type.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/signals2/detail/variadic_slot_invoker.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signals2/dummy_mutex.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signals2/expired_slot.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signals2/last_value.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signals2/mutex.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signals2/optional_last_value.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signals2/postconstructible.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signals2/predestructible.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signals2/preprocessed_signal.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signals2/preprocessed_slot.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signals2/shared_connection_block.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signals2/signal.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signals2/signal_base.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signals2/signal_type.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signals2/slot.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signals2/slot_base.hpp (84%) create mode 100644 bundled/boost-1.62.0/include/boost/signals2/trackable.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signals2/variadic_signal.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/signals2/variadic_slot.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/allocate_shared_array.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/bad_weak_ptr.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/array_allocator.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/array_count_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/array_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/array_utility.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/atomic_count.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/atomic_count_gcc.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/atomic_count_nt.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/atomic_count_pt.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/atomic_count_solaris.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/atomic_count_spin.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/atomic_count_std_atomic.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/atomic_count_sync.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/atomic_count_win32.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/lightweight_mutex.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/lwm_nop.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/lwm_pthreads.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/lwm_win32_cs.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/operator_bool.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/quick_allocator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/shared_count.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/sp_convertible.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/sp_counted_base.hpp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/sp_counted_base_aix.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/sp_counted_base_nt.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/sp_counted_base_pt.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/sp_counted_base_solaris.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/sp_counted_base_spin.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/sp_counted_base_sync.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/sp_counted_base_w32.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/sp_counted_impl.hpp (96%) create mode 100644 bundled/boost-1.62.0/include/boost/smart_ptr/detail/sp_disable_deprecated.hpp create mode 100644 bundled/boost-1.62.0/include/boost/smart_ptr/detail/sp_forward.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/sp_has_sync.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/sp_if_array.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/sp_interlocked.hpp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/sp_nullptr_t.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/spinlock.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/spinlock_gcc_arm.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/spinlock_nt.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/spinlock_pool.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/spinlock_pt.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/spinlock_std_atomic.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/spinlock_sync.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/spinlock_w32.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/up_if_array.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/up_if_not_array.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/detail/yield_k.hpp (86%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/enable_shared_from_raw.hpp (76%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/enable_shared_from_this.hpp (90%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/intrusive_ptr.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/intrusive_ref_counter.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/make_shared.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/make_shared_array.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/make_shared_object.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/smart_ptr/make_unique.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/make_unique_array.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/make_unique_object.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/owner_less.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/scoped_array.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/scoped_ptr.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/shared_array.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/smart_ptr/shared_ptr.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/smart_ptr/weak_ptr.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/actor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/actor/assign_actor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/actor/assign_key_actor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/actor/clear_actor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/actor/decrement_actor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/actor/erase_actor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/actor/increment_actor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/actor/insert_at_actor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/actor/insert_key_actor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/actor/push_back_actor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/actor/push_front_actor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/actor/ref_actor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/actor/ref_const_ref_actor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/actor/ref_const_ref_const_ref_a.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/actor/ref_const_ref_value_actor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/actor/ref_value_actor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/actor/swap_actor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/actor/typeof.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/attribute.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/attribute/closure.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/attribute/closure_context.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/attribute/closure_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/attribute/parametric.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/attribute/typeof.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/assert.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/composite/actions.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/composite/alternative.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/composite/composite.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/composite/difference.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/composite/directives.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/composite/epsilon.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/composite/exclusive_or.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/composite/impl/alternative.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/composite/impl/difference.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/composite/impl/directives.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/composite/impl/exclusive_or.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/composite/impl/intersection.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/composite/impl/kleene_star.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/composite/impl/list.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/composite/impl/optional.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/composite/impl/positive.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/composite/impl/sequence.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/composite/impl/sequential_and.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/composite/impl/sequential_or.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/composite/intersection.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/composite/kleene_star.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/composite/list.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/composite/no_actions.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/composite/operators.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/composite/optional.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/composite/positive.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/composite/sequence.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/composite/sequential_and.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/composite/sequential_or.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/config.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/impl/match.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/impl/match_attr_traits.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/impl/parser.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/match.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/nil.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/non_terminal/grammar.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/non_terminal/impl/object_with_id.ipp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/non_terminal/impl/rule.ipp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/non_terminal/impl/static.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/non_terminal/impl/subrule.ipp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/non_terminal/parser_context.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/non_terminal/parser_id.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/non_terminal/rule.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/classic/core/non_terminal/subrule.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/non_terminal/subrule_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/parser.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/primitives/impl/numerics.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/primitives/impl/primitives.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/primitives/numerics.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/primitives/numerics_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/primitives/primitives.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/safe_bool.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/scanner/impl/skipper.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/scanner/scanner.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/scanner/scanner_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/scanner/skipper.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/scanner/skipper_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/core/typeof.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/debug.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/debug/debug_node.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/debug/impl/parser_names.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/debug/minimal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/debug/parser_names.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/debug/typeof.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/dynamic.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/dynamic/for.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/dynamic/if.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/dynamic/impl/conditions.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/dynamic/impl/select.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/dynamic/impl/switch.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/dynamic/lazy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/dynamic/rule_alias.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/dynamic/select.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/dynamic/stored_rule.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/dynamic/stored_rule_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/dynamic/switch.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/dynamic/typeof.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/dynamic/while.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/error_handling.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/error_handling/exceptions.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/error_handling/exceptions_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/error_handling/impl/exceptions.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/error_handling/typeof.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/iterator/file_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/iterator/file_iterator_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/iterator/fixed_size_queue.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/iterator/impl/file_iterator.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/iterator/impl/position_iterator.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/iterator/multi_pass.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/iterator/multi_pass_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/iterator/position_iterator.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/iterator/position_iterator_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/iterator/typeof.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/meta.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/meta/as_parser.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/meta/fundamental.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/meta/impl/fundamental.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/meta/impl/parser_traits.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/meta/impl/refactoring.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/meta/impl/traverse.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/meta/parser_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/meta/refactoring.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/meta/traverse.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/namespace.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/phoenix.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/phoenix/actor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/phoenix/binders.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/phoenix/casts.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/phoenix/closures.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/phoenix/composite.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/phoenix/functions.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/phoenix/new.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/phoenix/operators.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/phoenix/primitives.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/phoenix/special_ops.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/phoenix/statements.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/phoenix/tuple_helpers.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/phoenix/tuples.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/symbols.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/symbols/impl/symbols.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/symbols/impl/tst.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/symbols/symbols.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/symbols/symbols_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/symbols/typeof.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/tree/ast.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/tree/ast_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/tree/common.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/tree/common_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/tree/impl/parse_tree_utils.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/tree/impl/tree_to_xml.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/tree/parse_tree.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/tree/parse_tree_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/tree/parse_tree_utils.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/tree/parsetree.dtd (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/tree/tree_to_xml.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/tree/typeof.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/utility.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/utility/chset.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/utility/chset_operators.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/utility/confix.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/utility/confix_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/utility/distinct.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/utility/distinct_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/utility/escape_char.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/utility/escape_char_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/utility/flush_multi_pass.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/utility/functor_parser.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/utility/grammar_def.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/utility/grammar_def_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/utility/impl/chset.ipp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/utility/impl/chset/basic_chset.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/utility/impl/chset/basic_chset.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/utility/impl/chset/range_run.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/utility/impl/chset/range_run.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/utility/impl/chset_operators.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/utility/impl/confix.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/utility/impl/escape_char.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/utility/impl/lists.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/utility/impl/regex.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/utility/lists.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/utility/lists_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/utility/loops.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/utility/regex.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/utility/rule_parser.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/utility/scoped_lock.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/utility/typeof.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/classic/version.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/action.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/action/action.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/auto.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/auto/auto.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/auto/create_generator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/auto/meta_create.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/auxiliary.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/auxiliary/attr_cast.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/auxiliary/eol.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/auxiliary/eps.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/auxiliary/lazy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/binary.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/binary/binary.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/binary/padding.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/char.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/char/char.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/char/char_class.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/char/char_generator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/delimit_flag.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/delimit_out.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/detail/alternative_function.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/detail/as.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/detail/attributes.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/detail/default_width.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/detail/enable_lit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/detail/extract_from.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/detail/fail_function.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/detail/generate.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/detail/generate_auto.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/detail/generate_to.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/detail/get_casetag.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/detail/get_stricttag.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/detail/indirect_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/detail/output_iterator.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/detail/pass_container.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/detail/string_compare.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/detail/string_generate.hpp (76%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/detail/unused_delimiter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/directive.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/directive/as.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/directive/buffer.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/directive/center_alignment.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/directive/columns.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/directive/delimit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/directive/duplicate.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/directive/encoding.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/directive/left_alignment.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/directive/maxwidth.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/directive/no_delimit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/directive/omit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/directive/repeat.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/directive/right_alignment.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/directive/strict_relaxed.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/directive/upper_lower_case.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/directive/verbatim.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/domain.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/format.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/format_auto.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/generate.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/generate_attr.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/generator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/meta_compiler.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/nonterminal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/nonterminal/debug_handler.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/nonterminal/debug_handler_state.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/nonterminal/detail/fcall.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/nonterminal/detail/generator_binder.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/nonterminal/detail/parameterized.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/nonterminal/grammar.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/nonterminal/nonterminal_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/karma/nonterminal/rule.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/nonterminal/simple_trace.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/numeric.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/numeric/bool.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/numeric/bool_policies.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/numeric/detail/bool_utils.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/numeric/detail/numeric_utils.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/numeric/detail/real_utils.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/numeric/int.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/numeric/real.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/numeric/real_policies.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/numeric/uint.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/operator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/operator/alternative.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/operator/and_predicate.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/operator/kleene.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/operator/list.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/operator/not_predicate.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/operator/optional.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/operator/plus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/operator/sequence.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/phoenix_attributes.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/reference.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/stream.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/stream/detail/format_manip.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/stream/detail/format_manip_auto.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/stream/detail/iterator_sink.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/stream/format_manip.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/stream/format_manip_attr.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/stream/ostream_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/stream/stream.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/string.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/string/lit.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/string/symbols.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/karma/what.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/argument.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/argument_phoenix.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/detail/sequence_function.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/domain.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/lexer.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/lexer/action.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/lexer/char_token_def.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/lexer/lexer.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/lexer/lexertl/functor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/lexer/lexertl/functor_data.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/lexer/lexertl/generate_static.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/lexer/lexertl/iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/lexer/lexertl/iterator_tokenizer.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/lexer/lexertl/lexer.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/lexer/lexertl/position_token.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/lexer/lexertl/semantic_action_data.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/lexer/lexertl/static_functor_data.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/lexer/lexertl/static_lexer.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/lexer/lexertl/static_version.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/lexer/lexertl/token.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/lexer/lexertl/wrap_action.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/lexer/pass_flags.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/lexer/sequence.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/lexer/string_token_def.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/lexer/support_functions.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/lexer/support_functions_expression.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/lexer/terminals.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/lexer/token_def.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/lexer_lexertl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/lexer_static_lexertl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/lexer_type.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/meta_compiler.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/primitives.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/qi.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/qi/in_state.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/qi/plain_raw_token.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/qi/plain_token.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/qi/plain_tokenid.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/qi/plain_tokenid_mask.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/qi/state_switcher.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/reference.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/tokenize_and_parse.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/lex/tokenize_and_parse_attr.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/action.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/action/action.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/auto.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/auto/auto.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/auto/create_parser.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/auto/meta_create.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/auxiliary.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/auxiliary/attr.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/auxiliary/attr_cast.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/auxiliary/eoi.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/auxiliary/eol.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/auxiliary/eps.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/auxiliary/lazy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/binary.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/binary/binary.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/char.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/char/char.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/char/char_class.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/char/char_parser.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/copy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/detail/alternative_function.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/detail/assign_to.hpp (96%) create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/qi/detail/attributes.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/detail/construct.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/detail/enable_lit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/detail/expect_function.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/detail/fail_function.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/detail/parse.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/detail/parse_auto.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/detail/pass_container.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/detail/pass_function.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/detail/permute_function.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/detail/string_parse.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/detail/unused_skipper.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/directive.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/directive/as.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/directive/encoding.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/directive/hold.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/directive/lexeme.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/directive/matches.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/directive/no_case.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/directive/no_skip.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/directive/omit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/directive/raw.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/directive/repeat.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/directive/skip.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/domain.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/match.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/match_auto.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/meta_compiler.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/nonterminal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/nonterminal/debug_handler.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/nonterminal/debug_handler_state.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/nonterminal/detail/fcall.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/nonterminal/detail/parameterized.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/nonterminal/detail/parser_binder.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/nonterminal/error_handler.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/nonterminal/grammar.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/nonterminal/nonterminal_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/qi/nonterminal/rule.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/nonterminal/simple_trace.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/nonterminal/success_handler.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/numeric.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/numeric/bool.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/numeric/bool_policies.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/qi/numeric/detail/numeric_utils.hpp create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/qi/numeric/detail/real_impl.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/numeric/int.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/qi/numeric/numeric_utils.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/numeric/real.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/qi/numeric/real_policies.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/numeric/uint.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/operator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/operator/alternative.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/operator/and_predicate.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/operator/difference.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/operator/expect.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/operator/kleene.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/operator/list.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/operator/not_predicate.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/operator/optional.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/operator/permutation.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/operator/plus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/operator/sequence.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/operator/sequence_base.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/operator/sequential_or.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/parse.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/parse_attr.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/parser.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/reference.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/skip_flag.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/skip_over.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/stream.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/stream/detail/iterator_source.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/stream/detail/match_manip.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/stream/detail/match_manip_auto.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/stream/match_manip.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/stream/match_manip_attr.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/stream/stream.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/string.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/string/detail/tst.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/string/lit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/string/symbols.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/string/tst.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/qi/string/tst_map.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/qi/what.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/action_dispatch.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/adapt_adt_attributes.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/algorithm/any.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/algorithm/any_if.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/algorithm/any_if_ns.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/algorithm/any_ns.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/argument.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/argument_expression.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/assert_msg.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/support/attributes.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/attributes_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/auto.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/auto/meta_create.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/auxiliary/attr_cast.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/support/char_class.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/char_encoding/ascii.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/char_encoding/iso8859_1.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/char_encoding/standard.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/char_encoding/standard_wide.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/char_encoding/unicode.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/char_encoding/unicode/DerivedCoreProperties.txt (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/char_encoding/unicode/PropList.txt (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/char_encoding/unicode/Scripts.txt (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/char_encoding/unicode/UnicodeData.txt (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/char_encoding/unicode/category_table.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/char_encoding/unicode/create_tables.cpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/char_encoding/unicode/lowercase_table.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/char_encoding/unicode/query.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/char_encoding/unicode/script_table.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/char_encoding/unicode/uppercase_table.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/char_set/basic_chset.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/char_set/range.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/char_set/range_functions.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/char_set/range_run.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/char_set/range_run_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/common_terminals.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/container.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/context.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/as_variant.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/endian.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/endian/cover_operators.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/endian/endian.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/get_encoding.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/hold_any.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/is_spirit_tag.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/lexer/char_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/lexer/consts.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/lexer/containers/ptr_list.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/lexer/containers/ptr_vector.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/lexer/conversion/char_state_machine.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/lexer/debug.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/lexer/file_input.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/lexer/generate_cpp.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/lexer/generate_re2c.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/lexer/generator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/lexer/input.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/lexer/internals.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/support/detail/lexer/parser/parser.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/lexer/parser/tokeniser/num_token.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/lexer/parser/tokeniser/re_tokeniser.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/lexer/parser/tokeniser/re_tokeniser_helper.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/lexer/parser/tokeniser/re_tokeniser_state.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/lexer/parser/tree/end_node.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/lexer/parser/tree/iteration_node.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/lexer/parser/tree/leaf_node.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/lexer/parser/tree/node.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/lexer/parser/tree/selection_node.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/lexer/parser/tree/sequence_node.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/lexer/partition/charset.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/lexer/partition/equivset.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/lexer/rules.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/lexer/runtime_error.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/lexer/serialise.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/lexer/size_t.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/lexer/state_machine.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/lexer/string_token.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/make_cons.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/make_vector.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/math/detail/fp_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/math/fpclassify.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/math/signbit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/pow10.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/scoped_enum_emulation.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/sign.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/detail/what_function.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/extended_variant.hpp (76%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/handles_container.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/has_semantic_action.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/info.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/iterators/detail/buf_id_check_policy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/iterators/detail/buffering_input_iterator_policy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/iterators/detail/combine_policies.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/iterators/detail/first_owner_policy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/iterators/detail/fixed_size_queue.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/iterators/detail/fixed_size_queue_policy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/iterators/detail/functor_input_policy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/iterators/detail/input_iterator_policy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/iterators/detail/istream_policy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/iterators/detail/lex_input_policy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/iterators/detail/multi_pass.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/iterators/detail/no_check_policy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/iterators/detail/ref_counted_policy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/iterators/detail/split_functor_input_policy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/iterators/detail/split_std_deque_policy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/iterators/istream_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/iterators/line_pos_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/iterators/look_ahead.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/iterators/multi_pass.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/iterators/multi_pass_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/iterators/ostream_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/lazy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/limits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/make_component.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/meta_compiler.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/modify.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/multi_pass.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/multi_pass_wrapper.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/nonterminal/expand_arg.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/nonterminal/extract_param.hpp (77%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/nonterminal/locals.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/numeric_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/sequence_base_id.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/string_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/terminal.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/terminal_expression.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/unused.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/utf8.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/utree.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/utree/detail/utree_detail1.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/utree/detail/utree_detail2.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/utree/operators.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/utree/utree.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/utree/utree_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/support/utree/utree_traits_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3.hpp (82%) create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/auxiliary.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/auxiliary/any_parser.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/auxiliary/attr.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/auxiliary/eoi.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/auxiliary/eol.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/auxiliary/eps.hpp (88%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/auxiliary/guard.hpp (98%) create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/binary.hpp create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/binary/binary.hpp create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/char.hpp create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/char/any_char.hpp create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/char/char.hpp create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/char/char_class.hpp create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/char/char_class_tags.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/char/char_parser.hpp (96%) create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/char/char_set.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/char/detail/cast_char.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/char/literal_char.hpp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/char/negated_char_parser.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/char/unicode.hpp (99%) create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/core.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/core/action.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/core/call.hpp (88%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/core/detail/parse_into_container.hpp (81%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/core/parse.hpp (98%) create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/core/parser.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/core/proxy.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/core/skip_over.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/directive.hpp (76%) create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/directive/confix.hpp create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/directive/expect.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/directive/lexeme.hpp (93%) create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/directive/matches.hpp create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/directive/no_case.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/directive/no_skip.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/directive/omit.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/directive/raw.hpp (97%) create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/directive/repeat.hpp create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/directive/seek.hpp create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/directive/skip.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/directive/with.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/extensions.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/extensions/seek.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/nonterminal.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/nonterminal/debug_handler_state.hpp (93%) create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/nonterminal/detail/rule.hpp create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/nonterminal/detail/transform_attribute.hpp create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/nonterminal/rule.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/nonterminal/simple_trace.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/numeric.hpp (94%) create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/numeric/bool.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/numeric/bool_policies.hpp (84%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/numeric/int.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/numeric/real.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/numeric/real_policies.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/numeric/uint.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/operator.hpp (96%) create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/operator/alternative.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/operator/and_predicate.hpp (94%) create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/operator/detail/alternative.hpp create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/operator/detail/sequence.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/operator/difference.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/operator/kleene.hpp (96%) create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/operator/list.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/operator/not_predicate.hpp (94%) create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/operator/optional.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/operator/plus.hpp (96%) create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/operator/sequence.hpp create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/string.hpp create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/string/detail/no_case_string_parse.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/string/detail/string_parse.hpp (87%) create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/string/detail/tst.hpp create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/string/literal_string.hpp create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/string/symbols.hpp create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/string/tst.hpp create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/string/tst_map.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/support/ast/position_tagged.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/support/ast/variant.hpp create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/support/context.hpp create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/support/no_case.hpp create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/support/numeric_utils/detail/extract_int.hpp create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/support/numeric_utils/extract_int.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/support/numeric_utils/extract_real.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/support/numeric_utils/pow10.hpp (99%) create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/support/numeric_utils/sign.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/support/subcontext.hpp (92%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/support/traits/attribute_category.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/support/traits/attribute_of.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/support/traits/attribute_type.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/support/traits/container_traits.hpp (83%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/support/traits/handles_container.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/support/traits/has_attribute.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/support/traits/is_parser.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/support/traits/is_substitute.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/support/traits/is_variant.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/support/traits/make_attribute.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/support/traits/move_to.hpp (88%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/support/traits/numeric_traits.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/support/traits/optional_traits.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/support/traits/print_attribute.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/support/traits/print_token.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/support/traits/string_traits.hpp (99%) create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/support/traits/transform_attribute.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/support/traits/tuple_traits.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/support/traits/value_traits.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/support/traits/variant_find_substitute.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/support/traits/variant_has_substitute.hpp (97%) create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/support/unused.hpp create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/support/utility/annotate_on_success.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/support/utility/detail/testing.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/support/utility/error_reporting.hpp (75%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/support/utility/integer_sequence.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/support/utility/is_callable.hpp (78%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/support/utility/lambda_visitor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/support/utility/sfinae.hpp (95%) create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/support/utility/testing.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/support/utility/unrefcv.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/home/x3/support/utility/utf8.hpp (95%) create mode 100644 bundled/boost-1.62.0/include/boost/spirit/home/x3/version.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_actions.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_actor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_alternative.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_as_parser.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_assert.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_assign_actor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_assign_key_actor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_ast.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_ast_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_attribute.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_basic_chset.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_chset.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_chset_operators.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_clear_actor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_closure.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_closure_context.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_closure_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_common.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_common_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_composite.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_config.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_confix.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_confix_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_core.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_debug.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_debug_node.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_decrement_actor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_difference.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_directives.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_distinct.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_distinct_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_dynamic.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_epsilon.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_erase_actor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_error_handling.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_escape_char.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_escape_char_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_exceptions.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_exceptions_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_exclusive_or.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_file_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_file_iterator_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_fixed_size_queue.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_flush_multi_pass.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_for.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_functor_parser.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_fundamental.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_grammar.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_grammar_def.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_grammar_def_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_if.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_increment_actor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_insert_at_actor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_insert_key_actor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_intersection.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_kleene_star.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_lazy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_list.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_lists.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_lists_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_loops.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_match.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_meta.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_minimal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_multi_pass.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_multi_pass_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_nil.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_no_actions.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_numerics.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_numerics_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_operators.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_optional.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_parametric.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_parse_tree.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_parse_tree_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_parse_tree_utils.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_parser.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_parser_context.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_parser_id.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_parser_names.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_parser_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_position_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_position_iterator_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_positive.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_primitives.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_push_back_actor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_push_front_actor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_range_run.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_ref_actor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_ref_const_ref_actor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_ref_const_ref_const_ref_a.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_ref_const_ref_value_actor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_ref_value_actor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_refactoring.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_regex.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_rule.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_rule_alias.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_rule_parser.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_safe_bool.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_scanner.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_scanner_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_scoped_lock.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_select.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_sequence.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_sequential_and.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_sequential_or.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_skipper.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_skipper_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_spirit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_static.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_stored_rule.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_stored_rule_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_subrule.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_subrule_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_swap_actor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_switch.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_symbols.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_symbols_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_traverse.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_tree_to_xml.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_typeof.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_utility.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_version.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/classic_while.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_action.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_alternative.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_and_predicate.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_as.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_attr_cast.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_auto.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_auxiliary.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_binary.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_bool.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_buffer.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_center_alignment.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_char.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_char_.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_char_class.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_columns.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_delimit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_directive.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_domain.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_duplicate.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_eol.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_eps.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_format.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_format_attr.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_format_auto.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_generate.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_generate_attr.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_generate_auto.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_grammar.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_int.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_kleene.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_lazy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_left_alignment.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_list.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_maxwidth.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_no_delimit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_nonterminal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_not_predicate.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_numeric.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_omit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_operator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_optional.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_phoenix_attributes.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_plus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_real.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_repeat.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_right_alignment.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_rule.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_sequence.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_stream.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_strict_relaxed.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_string.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_symbols.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_uint.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_upper_lower_case.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_verbatim.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/karma_what.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/lex.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/lex_char_token_def.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/lex_domain.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/lex_generate_static_lexertl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/lex_lexer.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/lex_lexertl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/lex_lexertl_position_token.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/lex_lexertl_token.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/lex_plain_token.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/lex_primitives.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/lex_static_lexertl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/lex_tokenize_and_parse.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/lex_tokenize_and_parse_attr.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/phoenix.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/phoenix1.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/phoenix1_actor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/phoenix1_binders.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/phoenix1_casts.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/phoenix1_closures.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/phoenix1_composite.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/phoenix1_functions.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/phoenix1_new.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/phoenix1_operators.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/phoenix1_primitives.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/phoenix1_special_ops.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/phoenix1_statements.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/phoenix1_tuple_helpers.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/phoenix1_tuples.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/phoenix_algorithm.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/phoenix_bind.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/phoenix_container.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/phoenix_core.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/phoenix_function.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/phoenix_fusion.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/phoenix_limits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/phoenix_object.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/phoenix_operator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/phoenix_scope.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/phoenix_statement.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/phoenix_stl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/phoenix_version.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_action.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_alternative.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_and_predicate.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_as.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_as_string.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_attr.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_attr_cast.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_auto.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_auxiliary.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_binary.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_bool.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_char.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_char_.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_char_class.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_copy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_core.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_difference.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_directive.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_domain.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_eoi.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_eol.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_eps.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_expect.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_grammar.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_hold.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_int.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_kleene.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_lazy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_lexeme.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_list.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_lit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_match.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_match_attr.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_match_auto.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_matches.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_no_case.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_no_skip.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_nonterminal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_not_predicate.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_numeric.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_omit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_operator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_optional.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_parse.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_parse_attr.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_parse_auto.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_permutation.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_plus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_raw.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_real.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_repeat.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_rule.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_sequence.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_sequential_or.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_skip.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_stream.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_string.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_symbols.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_uint.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/qi_what.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/support.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/support_adapt_adt_attributes.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/support_any.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/support_any_if.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/support_any_if_ns.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/support_any_ns.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/support_argument.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/support_ascii.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/support_attributes.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/support_attributes_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/support_auto.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/support_char_class.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/support_container.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/support_extended_variant.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/support_info.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/support_iso8859_1.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/support_istream_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/support_line_pos_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/support_locals.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/support_look_ahead.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/support_modify.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/support_multi_pass.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/support_multi_pass_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/support_ostream_iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/support_standard.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/support_standard_wide.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/support_string_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/support_unused.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/support_utree.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/include/version.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/home/karma.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/home/karma/directive.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/home/karma/directive/confix.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/home/karma/nonterminal.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/spirit/repository/home/karma/nonterminal/subrule.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/home/qi.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/home/qi/directive.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/home/qi/directive/confix.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/home/qi/directive/distinct.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/home/qi/directive/kwd.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/home/qi/directive/seek.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/home/qi/nonterminal.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/spirit/repository/home/qi/nonterminal/subrule.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/home/qi/operator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/home/qi/operator/detail/keywords.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/home/qi/operator/keywords.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/home/qi/primitive.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/home/qi/primitive/advance.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/home/qi/primitive/flush_multi_pass.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/home/qi/primitive/iter_pos.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/home/support/confix.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/home/support/distinct.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/home/support/flush_multi_pass.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/home/support/kwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/home/support/seek.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/home/support/subrule_context.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/include/karma.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/include/karma_confix.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/include/karma_directive.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/include/karma_nonterminal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/include/karma_subrule.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/include/qi.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/include/qi_advance.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/include/qi_confix.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/include/qi_directive.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/include/qi_distinct.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/include/qi_flush_multi_pass.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/include/qi_iter_pos.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/include/qi_keywords.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/include/qi_kwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/include/qi_nonterminal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/include/qi_primitive.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/include/qi_seek.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/repository/include/qi_subrule.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/spirit/version.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/static_assert.hpp (89%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/strong_typedef.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/swap.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/system/api_config.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/system/config.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/system/cygwin_error.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/system/detail/error_code.ipp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/system/detail/local_free_on_destruction.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/system/error_code.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/system/linux_error.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/system/system_error.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/system/windows_error.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/barrier.hpp (88%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/caller_context.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/completion_latch.hpp (99%) create mode 100644 bundled/boost-1.62.0/include/boost/thread/concurrent_queues/deque_adaptor.hpp create mode 100644 bundled/boost-1.62.0/include/boost/thread/concurrent_queues/deque_base.hpp create mode 100644 bundled/boost-1.62.0/include/boost/thread/concurrent_queues/deque_views.hpp create mode 100644 bundled/boost-1.62.0/include/boost/thread/concurrent_queues/detail/sync_deque_base.hpp create mode 100644 bundled/boost-1.62.0/include/boost/thread/concurrent_queues/detail/sync_queue_base.hpp create mode 100644 bundled/boost-1.62.0/include/boost/thread/concurrent_queues/queue_adaptor.hpp create mode 100755 bundled/boost-1.62.0/include/boost/thread/concurrent_queues/queue_base.hpp create mode 100644 bundled/boost-1.62.0/include/boost/thread/concurrent_queues/queue_op_status.hpp create mode 100644 bundled/boost-1.62.0/include/boost/thread/concurrent_queues/queue_views.hpp create mode 100644 bundled/boost-1.62.0/include/boost/thread/concurrent_queues/sync_bounded_queue.hpp create mode 100644 bundled/boost-1.62.0/include/boost/thread/concurrent_queues/sync_deque.hpp create mode 100644 bundled/boost-1.62.0/include/boost/thread/concurrent_queues/sync_priority_queue.hpp create mode 100644 bundled/boost-1.62.0/include/boost/thread/concurrent_queues/sync_queue.hpp create mode 100644 bundled/boost-1.62.0/include/boost/thread/concurrent_queues/sync_timed_queue.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/condition.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/condition_variable.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/thread/csbl/deque.hpp create mode 100644 bundled/boost-1.62.0/include/boost/thread/csbl/devector.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/csbl/functional.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/thread/csbl/list.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/csbl/memory.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/csbl/memory/allocator_arg.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/csbl/memory/allocator_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/csbl/memory/config.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/thread/csbl/memory/default_delete.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/csbl/memory/pointer_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/csbl/memory/scoped_allocator.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/thread/csbl/memory/shared_ptr.hpp create mode 100644 bundled/boost-1.62.0/include/boost/thread/csbl/memory/unique_ptr.hpp create mode 100644 bundled/boost-1.62.0/include/boost/thread/csbl/queue.hpp create mode 100644 bundled/boost-1.62.0/include/boost/thread/csbl/tuple.hpp create mode 100644 bundled/boost-1.62.0/include/boost/thread/csbl/vector.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/cv_status.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/thread/detail/config.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/detail/counter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/detail/delete.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/detail/force_cast.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/detail/function_wrapper.hpp (98%) create mode 100644 bundled/boost-1.62.0/include/boost/thread/detail/invoke.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/detail/invoker.hpp (88%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/detail/is_convertible.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/detail/lockable_wrapper.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/detail/log.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/detail/make_tuple_indices.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/detail/memory.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/thread/detail/move.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/detail/nullary_function.hpp (81%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/detail/platform.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/detail/singleton.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/thread/detail/thread.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/detail/thread_group.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/detail/thread_heap_alloc.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/detail/thread_interruption.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/detail/tss_hooks.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/detail/variadic_footer.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/detail/variadic_header.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/detail/work.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/exceptional_ptr.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/exceptions.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/executor.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/executors/basic_thread_pool.hpp (81%) create mode 100644 bundled/boost-1.62.0/include/boost/thread/executors/detail/priority_executor_base.hpp create mode 100644 bundled/boost-1.62.0/include/boost/thread/executors/detail/scheduled_executor_base.hpp create mode 100644 bundled/boost-1.62.0/include/boost/thread/executors/executor.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/executors/executor_adaptor.hpp (89%) create mode 100644 bundled/boost-1.62.0/include/boost/thread/executors/generic_executor_ref.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/executors/inline_executor.hpp (78%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/executors/loop_executor.hpp (82%) create mode 100644 bundled/boost-1.62.0/include/boost/thread/executors/scheduled_thread_pool.hpp create mode 100644 bundled/boost-1.62.0/include/boost/thread/executors/scheduler.hpp create mode 100644 bundled/boost-1.62.0/include/boost/thread/executors/scheduling_adaptor.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/executors/serial_executor.hpp (76%) create mode 100644 bundled/boost-1.62.0/include/boost/thread/executors/serial_executor_cont.hpp create mode 100644 bundled/boost-1.62.0/include/boost/thread/executors/thread_executor.hpp create mode 100644 bundled/boost-1.62.0/include/boost/thread/executors/work.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/externally_locked.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/externally_locked_stream.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/thread/future.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/future_error_code.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/thread/futures/future_error.hpp create mode 100644 bundled/boost-1.62.0/include/boost/thread/futures/future_error_code.hpp create mode 100644 bundled/boost-1.62.0/include/boost/thread/futures/future_status.hpp create mode 100644 bundled/boost-1.62.0/include/boost/thread/futures/is_future_type.hpp create mode 100644 bundled/boost-1.62.0/include/boost/thread/futures/launch.hpp create mode 100644 bundled/boost-1.62.0/include/boost/thread/futures/wait_for_all.hpp create mode 100644 bundled/boost-1.62.0/include/boost/thread/futures/wait_for_any.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/is_locked_by_this_thread.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/latch.hpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/lock_algorithms.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/lock_concepts.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/lock_factories.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/lock_guard.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/lock_options.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/lock_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/lock_types.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/lockable_adapter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/lockable_concepts.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/lockable_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/locks.hpp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/mutex.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/null_mutex.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/once.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/ostream_buffer.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/poly_lockable.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/poly_lockable_adapter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/poly_shared_lockable.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/poly_shared_lockable_adapter.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/thread/pthread/condition_variable.hpp create mode 100644 bundled/boost-1.62.0/include/boost/thread/pthread/condition_variable_fwd.hpp create mode 100644 bundled/boost-1.62.0/include/boost/thread/pthread/mutex.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/pthread/once.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/pthread/once_atomic.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/pthread/pthread_mutex_scoped_lock.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/pthread/recursive_mutex.hpp (95%) create mode 100644 bundled/boost-1.62.0/include/boost/thread/pthread/shared_mutex.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/pthread/shared_mutex_assert.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/thread/pthread/thread_data.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/pthread/thread_heap_alloc.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/pthread/timespec.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/recursive_mutex.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/reverse_lock.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/scoped_thread.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/shared_lock_guard.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/thread/shared_mutex.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/strict_lock.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/thread/sync_bounded_queue.hpp create mode 100644 bundled/boost-1.62.0/include/boost/thread/sync_queue.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/synchronized_value.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/testable_mutex.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/thread.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/thread_functors.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/thread_guard.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/thread_only.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/thread_pool.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/thread_time.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/tss.hpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/user_scheduler.hpp (90%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/v2/shared_mutex.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/thread/v2/thread.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/win32/basic_recursive_mutex.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/win32/basic_timed_mutex.hpp (93%) create mode 100644 bundled/boost-1.62.0/include/boost/thread/win32/condition_variable.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/win32/interlocked_read.hpp (90%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/win32/mfc_thread_init.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/win32/mutex.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/win32/once.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/win32/recursive_mutex.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/thread/win32/shared_mutex.hpp create mode 100644 bundled/boost-1.62.0/include/boost/thread/win32/thread_data.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/win32/thread_heap_alloc.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/thread/win32/thread_primitives.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/with_lock_guard.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/thread/xtime.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/throw_exception.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/timer.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/token_functions.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/token_iterator.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tokenizer.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/detail/dcomp_mem_fun.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/detail/ddata.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/detail/ddeftype.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/detail/dftclass.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/detail/dfunction.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/detail/dlambda.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/detail/dmem_data.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/detail/dmem_fun.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/detail/dmem_type.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/detail/dmetafunc.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/detail/dnotype.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/detail/dnullptr.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/detail/dplaceholder.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/detail/dptmf.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/detail/dstatic_mem_data.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/detail/dstatic_mem_fun.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/detail/dtclass.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/detail/dtemplate.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/detail/dtemplate_params.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/detail/dtfunction.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/detail/dtype.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/detail/dvm_template_params.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/gen/has_data_gen.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/gen/has_function_gen.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/gen/has_member_data_gen.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/gen/has_member_function_gen.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/gen/has_static_member_data_gen.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/gen/has_static_member_function_gen.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/gen/has_template_gen.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/gen/has_type_gen.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/gen/member_type_gen.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/gen/namespace_gen.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/has_data.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/has_function.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/has_member_data.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/has_member_function.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/has_static_member_data.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/has_static_member_function.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/has_template.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/has_type.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/member_type.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tti/tti.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tuple/detail/tuple_basic.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tuple/tuple.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tuple/tuple_comparison.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/tuple/tuple_io.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/type_index.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_index/ctti_type_index.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_index/detail/compile_time_type_info.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_index/detail/ctti_register_class.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_index/detail/stl_register_class.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_index/stl_type_index.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_index/type_index_facade.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/add_const.hpp (79%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/add_cv.hpp (81%) create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/add_lvalue_reference.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/add_pointer.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/add_reference.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/add_rvalue_reference.hpp (88%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/add_volatile.hpp (80%) create mode 100755 bundled/boost-1.62.0/include/boost/type_traits/aligned_storage.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/alignment_of.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/alignment_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/arithmetic_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/array_traits.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/broken_compiler_spec.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/common_type.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/composite_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/conditional.hpp (76%) create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/config.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/conversion_traits.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/copy_cv.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/cv_traits.hpp (100%) create mode 100755 bundled/boost-1.62.0/include/boost/type_traits/decay.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/declval.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/detail/bool_trait_def.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/detail/bool_trait_undef.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/detail/common_arithmetic_type.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/detail/common_type_imp.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/detail/common_type_impl.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/detail/composite_member_pointer_type.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/detail/composite_pointer_type.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/detail/config.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/detail/cv_traits_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/detail/false_result.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/detail/has_binary_operator.hpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/detail/has_postfix_operator.hpp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/detail/has_prefix_operator.hpp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/detail/ice_and.hpp (83%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/detail/ice_eq.hpp (83%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/detail/ice_not.hpp (80%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/detail/ice_or.hpp (83%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/detail/is_function_ptr_helper.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/detail/is_function_ptr_tester.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp (99%) create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/detail/mp_defer.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/detail/size_t_trait_def.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/detail/size_t_trait_undef.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/detail/template_arity_spec.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/detail/type_trait_def.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/detail/type_trait_undef.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/detail/wrap.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/detail/yes_no_type.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/extent.hpp (94%) create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/floating_point_promotion.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/function_traits.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_bit_and.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_bit_and_assign.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_bit_or.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_bit_or_assign.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_bit_xor.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_bit_xor_assign.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_complement.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/has_dereference.hpp (84%) create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_divides.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_divides_assign.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_equal_to.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_greater.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_greater_equal.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_left_shift.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_left_shift_assign.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_less.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_less_equal.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_logical_and.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/has_logical_not.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_logical_or.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_minus.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_minus_assign.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_modulus.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_modulus_assign.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_multiplies.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_multiplies_assign.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/has_negate.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/has_new_operator.hpp (87%) create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_not_equal_to.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_nothrow_assign.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_nothrow_constructor.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_nothrow_copy.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_nothrow_destructor.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/has_operator.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_plus.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_plus_assign.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_post_decrement.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_post_increment.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_pre_decrement.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_pre_increment.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_right_shift.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_right_shift_assign.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_trivial_assign.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_trivial_constructor.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_trivial_copy.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_trivial_destructor.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_trivial_move_assign.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_trivial_move_constructor.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/has_unary_minus.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/has_unary_plus.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/has_virtual_destructor.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/ice.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/integral_constant.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/integral_promotion.hpp (90%) create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/intrinsics.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/is_abstract.hpp (91%) create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_arithmetic.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_array.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_assignable.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/is_base_and_derived.hpp (90%) create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_base_of.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_base_of_tr1.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_class.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_complex.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_compound.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_const.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_constructible.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/is_convertible.hpp (77%) create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_copy_assignable.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_copy_constructible.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_default_constructible.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_destructible.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_empty.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_enum.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_final.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_float.hpp create mode 100755 bundled/boost-1.62.0/include/boost/type_traits/is_floating_point.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_function.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_fundamental.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_integral.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_lvalue_reference.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_member_function_pointer.hpp create mode 100755 bundled/boost-1.62.0/include/boost/type_traits/is_member_object_pointer.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_member_pointer.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_nothrow_move_assignable.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_nothrow_move_constructible.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_object.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_pod.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_pointer.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/is_polymorphic.hpp (80%) create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_reference.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_rvalue_reference.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/is_same.hpp (77%) create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_scalar.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_signed.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_stateless.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_union.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_unsigned.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_virtual_base_of.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_void.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/is_volatile.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/make_signed.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/make_unsigned.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/object_traits.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/promote.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/rank.hpp (88%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/reference_traits.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/remove_all_extents.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/remove_bounds.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/remove_const.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/remove_cv.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/remove_extent.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/remove_pointer.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/remove_reference.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/remove_volatile.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/same_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/transform_traits.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/type_traits/transform_traits_spec.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/type_identity.hpp create mode 100644 bundled/boost-1.62.0/include/boost/type_traits/type_with_alignment.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/dmc/typeof_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/encode_decode.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/encode_decode_params.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/incr_registration_group.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/int_encoding.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/integral_template_param.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/message.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/modifiers.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/msvc/typeof_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/native.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/pointers_data_members.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/register_functions.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/register_functions_iterate.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/register_fundamental.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/register_mem_functions.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/std/bitset.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/std/complex.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/std/deque.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/std/fstream.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/std/functional.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/std/iostream.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/std/istream.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/std/iterator.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/std/list.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/std/locale.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/std/map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/std/memory.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/std/ostream.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/std/queue.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/std/set.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/std/sstream.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/std/stack.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/std/streambuf.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/std/string.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/std/utility.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/std/valarray.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/std/vector.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/template_encoding.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/template_template_param.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/type_encoding.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/type_template_param.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/typeof.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/typeof_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/unsupported.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/vector.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/vector100.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/vector150.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/vector200.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/typeof/vector50.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/absolute.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_dimension.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_unit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/angle/arcminute.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/angle/arcsecond.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/angle/degree.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/angle/gradian.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/angle/radian.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/angle/revolution.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/angle/steradian.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/astronomical/astronomical_unit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/astronomical/light_day.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/astronomical/light_hour.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/astronomical/light_minute.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/astronomical/light_second.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/astronomical/light_year.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/astronomical/parsec.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/cgs/biot.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/cgs/centimeter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/cgs/gram.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/imperial/conversions.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/imperial/drachm.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/imperial/fluid_ounce.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/imperial/foot.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/imperial/furlong.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/imperial/gallon.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/imperial/gill.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/imperial/grain.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/imperial/hundredweight.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/imperial/inch.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/imperial/league.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/imperial/mile.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/imperial/ounce.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/imperial/pint.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/imperial/pound.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/imperial/quart.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/imperial/quarter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/imperial/stone.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/imperial/thou.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/imperial/ton.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/imperial/yard.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/units/base_units/information/bit.hpp create mode 100644 bundled/boost-1.62.0/include/boost/units/base_units/information/byte.hpp create mode 100644 bundled/boost-1.62.0/include/boost/units/base_units/information/hartley.hpp create mode 100644 bundled/boost-1.62.0/include/boost/units/base_units/information/nat.hpp create mode 100644 bundled/boost-1.62.0/include/boost/units/base_units/information/shannon.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/metric/angstrom.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/metric/are.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/metric/atmosphere.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/metric/bar.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/metric/barn.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/metric/day.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/metric/fermi.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/metric/hectare.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/metric/hour.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/metric/knot.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/metric/liter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/metric/micron.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/metric/minute.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/metric/mmHg.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/metric/nautical_mile.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/metric/ton.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/metric/torr.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/metric/year.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/si/ampere.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/si/candela.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/si/kelvin.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/si/kilogram.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/si/meter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/si/mole.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/si/second.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/temperature/celsius.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/temperature/conversions.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/temperature/fahrenheit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/us/cup.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/us/dram.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/us/fluid_dram.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/us/fluid_ounce.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/us/foot.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/us/gallon.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/us/gill.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/us/grain.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/us/hundredweight.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/us/inch.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/us/mil.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/us/mile.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/us/minim.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/us/ounce.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/us/pint.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/us/pound.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/us/pound_force.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/us/quart.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/us/tablespoon.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/us/teaspoon.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/us/ton.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/base_units/us/yard.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/cmath.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/units/config.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/conversion.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/derived_dimension.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/detail/absolute_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/detail/cmath_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/detail/conversion_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/detail/dim_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/detail/dimension_impl.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/detail/dimension_list.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/detail/dimensionless_unit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/detail/heterogeneous_conversion.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/detail/linear_algebra.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/detail/one.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/detail/ordinal.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/detail/prevent_redefinition.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/detail/push_front_if.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/detail/push_front_or_add.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/detail/sort.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/detail/static_rational_power.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/detail/unscale.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/units/detail/utility.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/dim.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/dimension.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/dimensionless_quantity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/dimensionless_type.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/dimensionless_unit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/get_dimension.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/get_system.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/heterogeneous_system.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/homogeneous_system.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/io.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/is_dim.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/is_dimension_list.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/is_dimensionless.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/is_dimensionless_quantity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/is_dimensionless_unit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/is_quantity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/is_quantity_of_dimension.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/is_quantity_of_system.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/is_unit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/is_unit_of_dimension.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/is_unit_of_system.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/lambda.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/units/limits.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/make_scaled_unit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/make_system.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/operators.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/absorbed_dose.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/acceleration.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/action.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/activity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/amount.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/angular_acceleration.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/angular_momentum.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/angular_velocity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/area.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/capacitance.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/conductance.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/conductivity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/current.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/dose_equivalent.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/dynamic_viscosity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/electric_charge.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/electric_potential.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/energy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/energy_density.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/force.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/frequency.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/heat_capacity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/illuminance.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/impedance.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/inductance.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/units/physical_dimensions/information.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/kinematic_viscosity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/length.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/luminance.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/luminous_flux.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/luminous_intensity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/magnetic_field_intensity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/magnetic_flux.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/magnetic_flux_density.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/mass.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/mass_density.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/molar_energy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/molar_heat_capacity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/moment_of_inertia.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/momentum.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/permeability.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/permittivity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/plane_angle.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/power.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/pressure.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/reluctance.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/resistance.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/resistivity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/solid_angle.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/specific_energy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/specific_heat_capacity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/specific_volume.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/stress.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/surface_density.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/surface_tension.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/temperature.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/thermal_conductivity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/time.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/torque.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/velocity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/volume.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/physical_dimensions/wavenumber.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/pow.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/quantity.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/reduce_unit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/scale.hpp (95%) create mode 100644 bundled/boost-1.62.0/include/boost/units/scaled_base_unit.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/static_constant.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/static_rational.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/abstract.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/angle/degrees.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/angle/gradians.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/angle/revolutions.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/cgs.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/cgs/acceleration.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/cgs/area.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/cgs/base.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/cgs/current.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/cgs/dimensionless.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/cgs/dynamic_viscosity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/cgs/energy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/cgs/force.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/cgs/frequency.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/cgs/io.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/cgs/kinematic_viscosity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/cgs/length.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/cgs/mass.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/cgs/mass_density.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/cgs/momentum.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/cgs/power.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/cgs/pressure.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/cgs/time.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/cgs/velocity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/cgs/volume.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/cgs/wavenumber.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/detail/constants.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/units/systems/information.hpp create mode 100644 bundled/boost-1.62.0/include/boost/units/systems/information/bit.hpp create mode 100644 bundled/boost-1.62.0/include/boost/units/systems/information/byte.hpp create mode 100644 bundled/boost-1.62.0/include/boost/units/systems/information/hartley.hpp create mode 100644 bundled/boost-1.62.0/include/boost/units/systems/information/nat.hpp create mode 100644 bundled/boost-1.62.0/include/boost/units/systems/information/prefixes.hpp create mode 100644 bundled/boost-1.62.0/include/boost/units/systems/information/shannon.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/absorbed_dose.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/acceleration.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/action.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/activity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/amount.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/angular_acceleration.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/angular_momentum.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/angular_velocity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/area.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/base.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/capacitance.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/catalytic_activity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/codata/alpha_constants.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/codata/atomic-nuclear_constants.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/codata/deuteron_constants.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/codata/electromagnetic_constants.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/codata/electron_constants.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/codata/helion_constants.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/codata/muon_constants.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/codata/neutron_constants.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/codata/physico-chemical_constants.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/codata/proton_constants.hpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/codata/tau_constants.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/codata/triton_constants.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/codata/typedefs.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/codata/universal_constants.hpp (98%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/codata_constants.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/conductance.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/conductivity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/current.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/dimensionless.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/dose_equivalent.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/dynamic_viscosity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/electric_charge.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/electric_potential.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/energy.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/force.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/frequency.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/illuminance.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/impedance.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/inductance.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/io.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/kinematic_viscosity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/length.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/luminous_flux.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/luminous_intensity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/magnetic_field_intensity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/magnetic_flux.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/magnetic_flux_density.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/mass.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/mass_density.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/moment_of_inertia.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/momentum.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/permeability.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/permittivity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/plane_angle.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/power.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/prefixes.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/pressure.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/reluctance.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/resistance.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/resistivity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/solid_angle.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/surface_density.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/surface_tension.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/temperature.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/time.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/torque.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/velocity.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/volume.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/si/wavenumber.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/temperature/celsius.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/systems/temperature/fahrenheit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/unit.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/units/units_fwd.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/unordered/detail/allocate.hpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/unordered/detail/buckets.hpp (77%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/unordered/detail/equivalent.hpp (82%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/unordered/detail/extract_key.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/unordered/detail/fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/unordered/detail/map.hpp create mode 100644 bundled/boost-1.62.0/include/boost/unordered/detail/set.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/unordered/detail/table.hpp (81%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/unordered/detail/unique.hpp (78%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/unordered/detail/util.hpp (93%) create mode 100644 bundled/boost-1.62.0/include/boost/unordered/unordered_map.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/unordered/unordered_map_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/unordered/unordered_set.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/unordered/unordered_set_fwd.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/unordered_map.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/unordered_set.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/utility.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/utility/addressof.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/utility/base_from_member.hpp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/utility/binary.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/utility/compare_pointees.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/utility/declval.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/utility/detail/in_place_factory_prefix.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/utility/detail/in_place_factory_suffix.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/utility/detail/result_of_iterate.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/utility/empty_deleter.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/utility/enable_if.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/utility/explicit_operator_bool.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/utility/identity_type.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/utility/in_place_factory.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/utility/result_of.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/utility/string_ref.hpp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/utility/string_ref_fwd.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/utility/string_view.hpp create mode 100644 bundled/boost-1.62.0/include/boost/utility/string_view_fwd.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/utility/swap.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/utility/typed_in_place_factory.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/utility/value_init.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/variant.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/variant/apply_visitor.hpp (78%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/variant/bad_visit.hpp (100%) create mode 100644 bundled/boost-1.62.0/include/boost/variant/detail/apply_visitor_binary.hpp create mode 100644 bundled/boost-1.62.0/include/boost/variant/detail/apply_visitor_delayed.hpp create mode 100644 bundled/boost-1.62.0/include/boost/variant/detail/apply_visitor_unary.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/variant/detail/backup_holder.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/variant/detail/bool_trait_def.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/variant/detail/bool_trait_undef.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/variant/detail/cast_storage.hpp (97%) create mode 100644 bundled/boost-1.62.0/include/boost/variant/detail/config.hpp create mode 100644 bundled/boost-1.62.0/include/boost/variant/detail/element_index.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/variant/detail/enable_recursive.hpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/variant/detail/enable_recursive_fwd.hpp (95%) create mode 100644 bundled/boost-1.62.0/include/boost/variant/detail/forced_return.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/variant/detail/generic_result_type.hpp (98%) create mode 100644 bundled/boost-1.62.0/include/boost/variant/detail/has_result_type.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/variant/detail/hash_variant.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/variant/detail/initializer.hpp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/variant/detail/make_variant_list.hpp (93%) create mode 100644 bundled/boost-1.62.0/include/boost/variant/detail/move.hpp create mode 100644 bundled/boost-1.62.0/include/boost/variant/detail/multivisitors_cpp11_based.hpp create mode 100644 bundled/boost-1.62.0/include/boost/variant/detail/multivisitors_cpp14_based.hpp create mode 100644 bundled/boost-1.62.0/include/boost/variant/detail/multivisitors_preprocessor_based.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/variant/detail/over_sequence.hpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/variant/detail/substitute.hpp (89%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/variant/detail/substitute_fwd.hpp (88%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/variant/detail/variant_io.hpp (94%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/variant/detail/visitation_impl.hpp (89%) create mode 100644 bundled/boost-1.62.0/include/boost/variant/get.hpp create mode 100644 bundled/boost-1.62.0/include/boost/variant/multivisitors.hpp create mode 100644 bundled/boost-1.62.0/include/boost/variant/polymorphic_get.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/variant/recursive_variant.hpp (88%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/variant/recursive_wrapper.hpp (96%) create mode 100644 bundled/boost-1.62.0/include/boost/variant/recursive_wrapper_fwd.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/variant/static_visitor.hpp (78%) create mode 100644 bundled/boost-1.62.0/include/boost/variant/variant.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/variant/variant_fwd.hpp (90%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/variant/visitor_ptr.hpp (89%) create mode 100644 bundled/boost-1.62.0/include/boost/version.hpp rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/visit_each.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/wave.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/include/boost/weak_ptr.hpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/iostreams/src/CMakeLists.txt (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/iostreams/src/bzip2.cpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/iostreams/src/file_descriptor.cpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/iostreams/src/gzip.cpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/iostreams/src/mapped_file.cpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/iostreams/src/zlib.cpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/serialization/src/CMakeLists.txt (82%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/serialization/src/archive_exception.cpp (85%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/serialization/src/basic_archive.cpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/serialization/src/basic_iarchive.cpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/serialization/src/basic_iserializer.cpp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/serialization/src/basic_oarchive.cpp (97%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/serialization/src/basic_oserializer.cpp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/serialization/src/basic_pointer_iserializer.cpp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/serialization/src/basic_pointer_oserializer.cpp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/serialization/src/basic_serializer_map.cpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/serialization/src/basic_text_iprimitive.cpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/serialization/src/basic_text_oprimitive.cpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/serialization/src/basic_text_wiprimitive.cpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/serialization/src/basic_text_woprimitive.cpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/serialization/src/basic_xml_archive.cpp (77%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/serialization/src/basic_xml_grammar.ipp (91%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/serialization/src/binary_iarchive.cpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/serialization/src/binary_oarchive.cpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/serialization/src/binary_wiarchive.cpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/serialization/src/binary_woarchive.cpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/serialization/src/codecvt_null.cpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/serialization/src/extended_type_info.cpp (90%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/serialization/src/extended_type_info_no_rtti.cpp (89%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/serialization/src/extended_type_info_typeid.cpp (89%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/serialization/src/polymorphic_iarchive.cpp (95%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/serialization/src/polymorphic_oarchive.cpp (95%) create mode 100644 bundled/boost-1.62.0/libs/serialization/src/singleton.cpp rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/serialization/src/stl_port.cpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/serialization/src/text_iarchive.cpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/serialization/src/text_oarchive.cpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/serialization/src/text_wiarchive.cpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/serialization/src/text_woarchive.cpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/serialization/src/utf8_codecvt_facet.cpp (79%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/serialization/src/void_cast.cpp (93%) create mode 100644 bundled/boost-1.62.0/libs/serialization/src/xml_archive_exception.cpp rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/serialization/src/xml_grammar.cpp (97%) create mode 100644 bundled/boost-1.62.0/libs/serialization/src/xml_iarchive.cpp rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/serialization/src/xml_oarchive.cpp (96%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/serialization/src/xml_wgrammar.cpp (99%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/serialization/src/xml_wiarchive.cpp (78%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/serialization/src/xml_woarchive.cpp (87%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/system/src/CMakeLists.txt (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/system/src/CMakeLists.txt~ (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/system/src/error_code.cpp (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/thread/src/CMakeLists.txt (100%) create mode 100644 bundled/boost-1.62.0/libs/thread/src/future.cpp rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/thread/src/pthread/once.cpp (93%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/thread/src/pthread/once_atomic.cpp (100%) create mode 100644 bundled/boost-1.62.0/libs/thread/src/pthread/thread.cpp rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/thread/src/pthread/timeconv.inl (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/thread/src/tss_null.cpp (100%) create mode 100644 bundled/boost-1.62.0/libs/thread/src/win32/thread.cpp rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/thread/src/win32/timeconv.inl (100%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/thread/src/win32/tss_dll.cpp (88%) rename bundled/{boost-1.56.0 => boost-1.62.0}/libs/thread/src/win32/tss_pe.cpp (98%) diff --git a/bundled/boost-1.56.0/include/boost/algorithm/cxx11/is_permutation.hpp b/bundled/boost-1.56.0/include/boost/algorithm/cxx11/is_permutation.hpp deleted file mode 100644 index 9b3bc220fa..0000000000 --- a/bundled/boost-1.56.0/include/boost/algorithm/cxx11/is_permutation.hpp +++ /dev/null @@ -1,196 +0,0 @@ -/* - Copyright (c) Marshall Clow 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) -*/ - -/// \file is_permutation.hpp -/// \brief Is a sequence a permutation of another sequence -/// \author Marshall Clow - -#ifndef BOOST_ALGORITHM_IS_PERMUTATION11_HPP -#define BOOST_ALGORITHM_IS_PERMUTATION11_HPP - -#include // for std::less, tie, mismatch and is_permutation (if available) -#include // for std::make_pair -#include // for std::equal_to -#include - -#include -#include -#include -#include - -namespace boost { namespace algorithm { - -/// \cond DOXYGEN_HIDE -namespace detail { - template - struct value_predicate { - value_predicate ( Predicate p, Iterator it ) : p_ ( p ), it_ ( it ) {} - - template - bool operator () ( const T1 &t1 ) const { return p_ ( *it_, t1 ); } - private: - Predicate p_; - Iterator it_; - }; - -// Preconditions: -// 1. The sequences are the same length -// 2. Any common elements on the front have been removed (not necessary for correctness, just for performance) - template< class ForwardIterator1, class ForwardIterator2, class BinaryPredicate > - bool is_permutation_inner ( ForwardIterator1 first1, ForwardIterator1 last1, - ForwardIterator2 first2, ForwardIterator2 last2, - BinaryPredicate p ) { - // for each unique value in the sequence [first1,last1), count how many times - // it occurs, and make sure it occurs the same number of times in [first2, last2) - for ( ForwardIterator1 iter = first1; iter != last1; ++iter ) { - value_predicate pred ( p, iter ); - - /* For each value we haven't seen yet... */ - if ( std::find_if ( first1, iter, pred ) == iter ) { - std::size_t dest_count = std::count_if ( first2, last2, pred ); - if ( dest_count == 0 || dest_count != (std::size_t) std::count_if ( iter, last1, pred )) - return false; - } - } - - return true; - } - - template< class ForwardIterator1, class ForwardIterator2, class BinaryPredicate> - bool is_permutation_tag ( ForwardIterator1 first1, ForwardIterator1 last1, - ForwardIterator2 first2, ForwardIterator2 last2, - BinaryPredicate p, - std::forward_iterator_tag, std::forward_iterator_tag ) { - - // Skip the common prefix (if any) - while ( first1 != last1 && first2 != last2 && p ( *first1, *first2 )) { - ++first1; - ++first2; - } - if ( first1 != last1 && first2 != last2 ) - return boost::algorithm::detail::is_permutation_inner ( first1, last1, first2, last2, - std::equal_to::value_type> ()); - return first1 == last1 && first2 == last2; - } - - template - bool is_permutation_tag ( RandomAccessIterator1 first1, RandomAccessIterator1 last1, - RandomAccessIterator2 first2, RandomAccessIterator2 last2, - BinaryPredicate p, - std::random_access_iterator_tag, std::random_access_iterator_tag ) { - // Cheap check - if ( std::distance ( first1, last1 ) != std::distance ( first2, last2 )) - return false; - // Skip the common prefix (if any) - while ( first1 != last1 && first2 != last2 && p ( *first1, *first2 )) { - ++first1; - ++first2; - } - - if ( first1 != last1 && first2 != last2 ) - return is_permutation_inner (first1, last1, first2, last2, p); - return first1 == last1 && first2 == last2; - } - -} -/// \endcond - -#if __cplusplus >= 201103L -// Use the C++11 versions of is_permutation if it is available -using std::is_permutation; // Section 25.2.12 -#else - -/// \fn is_permutation ( ForwardIterator1 first, ForwardIterator1 last, ForwardIterator2 first2, BinaryPredicate p ) -/// \brief Tests to see if the sequence [first,last) is a permutation of the sequence starting at first2 -/// -/// \param first1 The start of the input sequence -/// \param last1 One past the end of the input sequence -/// \param first2 The start of the second sequence -/// \param p The predicate to compare elements with -/// -/// \note This function is part of the C++2011 standard library. -/// We will use the standard one if it is available, -/// otherwise we have our own implementation. -template< class ForwardIterator1, class ForwardIterator2, class BinaryPredicate > -bool is_permutation ( ForwardIterator1 first1, ForwardIterator1 last1, - ForwardIterator2 first2, BinaryPredicate p ) -{ -// Skip the common prefix (if any) - std::pair eq = std::mismatch (first1, last1, first2, p); - first1 = eq.first; - first2 = eq.second; - if ( first1 != last1 ) { - // Create last2 - ForwardIterator2 last2 = first2; - std::advance ( last2, std::distance (first1, last1)); - return boost::algorithm::detail::is_permutation_inner ( first1, last1, first2, last2, p ); - } - - return true; -} - -/// \fn is_permutation ( ForwardIterator1 first, ForwardIterator1 last, ForwardIterator2 first2 ) -/// \brief Tests to see if the sequence [first,last) is a permutation of the sequence starting at first2 -/// -/// \param first1 The start of the input sequence -/// \param last2 One past the end of the input sequence -/// \param first2 The start of the second sequence -/// \note This function is part of the C++2011 standard library. -/// We will use the standard one if it is available, -/// otherwise we have our own implementation. -template< class ForwardIterator1, class ForwardIterator2 > -bool is_permutation ( ForwardIterator1 first1, ForwardIterator1 last1, ForwardIterator2 first2 ) -{ -// How should I deal with the idea that ForwardIterator1::value_type -// and ForwardIterator2::value_type could be different? Define my own comparison predicate? -// Skip the common prefix (if any) - std::pair eq = std::mismatch (first1, last1, first2 ); - first1 = eq.first; - first2 = eq.second; - if ( first1 != last1 ) { - // Create last2 - ForwardIterator2 last2 = first2; - std::advance ( last2, std::distance (first1, last1)); - return boost::algorithm::detail::is_permutation_inner ( first1, last1, first2, last2, - std::equal_to::value_type> ()); - } - return true; -} - -#endif - - -/// \fn is_permutation ( const Range &r, ForwardIterator first2 ) -/// \brief Tests to see if the sequence [first,last) is a permutation of the sequence starting at first2 -/// -/// \param r The input range -/// \param first2 The start of the second sequence -template -bool is_permutation ( const Range &r, ForwardIterator first2 ) -{ - return boost::algorithm::is_permutation (boost::begin (r), boost::end (r), first2 ); -} - -/// \fn is_permutation ( const Range &r, ForwardIterator first2, BinaryPredicate pred ) -/// \brief Tests to see if the sequence [first,last) is a permutation of the sequence starting at first2 -/// -/// \param r The input range -/// \param first2 The start of the second sequence -/// \param pred The predicate to compare elements with -/// -// Disable this template when the first two parameters are the same type -// That way the non-range version will be chosen. -template -typename boost::disable_if_c::value, bool>::type -is_permutation ( const Range &r, ForwardIterator first2, BinaryPredicate pred ) -{ - return boost::algorithm::is_permutation (boost::begin (r), boost::end (r), first2, pred ); -} - -}} - -#endif // BOOST_ALGORITHM_IS_PERMUTATION11_HPP diff --git a/bundled/boost-1.56.0/include/boost/algorithm/cxx11/is_sorted.hpp b/bundled/boost-1.56.0/include/boost/algorithm/cxx11/is_sorted.hpp deleted file mode 100644 index c9bc65fbe9..0000000000 --- a/bundled/boost-1.56.0/include/boost/algorithm/cxx11/is_sorted.hpp +++ /dev/null @@ -1,287 +0,0 @@ -// Copyright (c) 2010 Nuovation System Designs, LLC -// Grant Erickson -// -// Reworked somewhat by Marshall Clow; August 2010 -// -// Distributed under the 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 latest version. -// - -#ifndef BOOST_ALGORITHM_ORDERED_HPP -#define BOOST_ALGORITHM_ORDERED_HPP - -#include -#include -#include - -#include -#include - -#include -#include -#include - -namespace boost { namespace algorithm { - -#if __cplusplus >= 201103L -// Use the C++11 versions of is_sorted/is_sorted_until if they are available -using std::is_sorted_until; // Section 25.4.1.5 -using std::is_sorted; // Section 25.4.1.5 -#else -/// \fn is_sorted_until ( ForwardIterator first, ForwardIterator last, Pred p ) -/// \return the point in the sequence [first, last) where the elements are unordered -/// (according to the comparison predicate 'p'). -/// -/// \param first The start of the sequence to be tested. -/// \param last One past the end of the sequence -/// \param p A binary predicate that returns true if two elements are ordered. -/// - template - ForwardIterator is_sorted_until ( ForwardIterator first, ForwardIterator last, Pred p ) - { - if ( first == last ) return last; // the empty sequence is ordered - ForwardIterator next = first; - while ( ++next != last ) - { - if ( p ( *next, *first )) - return next; - first = next; - } - return last; - } - -/// \fn is_sorted_until ( ForwardIterator first, ForwardIterator last ) -/// \return the point in the sequence [first, last) where the elements are unordered -/// -/// \param first The start of the sequence to be tested. -/// \param last One past the end of the sequence -/// - template - ForwardIterator is_sorted_until ( ForwardIterator first, ForwardIterator last ) - { - typedef typename std::iterator_traits::value_type value_type; - return boost::algorithm::is_sorted_until ( first, last, std::less()); - } - - -/// \fn is_sorted ( ForwardIterator first, ForwardIterator last, Pred p ) -/// \return whether or not the entire sequence is sorted -/// -/// \param first The start of the sequence to be tested. -/// \param last One past the end of the sequence -/// \param p A binary predicate that returns true if two elements are ordered. -/// - template - bool is_sorted ( ForwardIterator first, ForwardIterator last, Pred p ) - { - return boost::algorithm::is_sorted_until (first, last, p) == last; - } - -/// \fn is_sorted ( ForwardIterator first, ForwardIterator last ) -/// \return whether or not the entire sequence is sorted -/// -/// \param first The start of the sequence to be tested. -/// \param last One past the end of the sequence -/// - template - bool is_sorted ( ForwardIterator first, ForwardIterator last ) - { - return boost::algorithm::is_sorted_until (first, last) == last; - } -#endif - -/// -/// -- Range based versions of the C++11 functions -/// - -/// \fn is_sorted_until ( const R &range, Pred p ) -/// \return the point in the range R where the elements are unordered -/// (according to the comparison predicate 'p'). -/// -/// \param range The range to be tested. -/// \param p A binary predicate that returns true if two elements are ordered. -/// - template - typename boost::lazy_disable_if_c< - boost::is_same::value, - typename boost::range_iterator - >::type is_sorted_until ( const R &range, Pred p ) - { - return boost::algorithm::is_sorted_until ( boost::begin ( range ), boost::end ( range ), p ); - } - - -/// \fn is_sorted_until ( const R &range ) -/// \return the point in the range R where the elements are unordered -/// -/// \param range The range to be tested. -/// - template - typename boost::range_iterator::type is_sorted_until ( const R &range ) - { - return boost::algorithm::is_sorted_until ( boost::begin ( range ), boost::end ( range )); - } - -/// \fn is_sorted ( const R &range, Pred p ) -/// \return whether or not the entire range R is sorted -/// (according to the comparison predicate 'p'). -/// -/// \param range The range to be tested. -/// \param p A binary predicate that returns true if two elements are ordered. -/// - template - typename boost::lazy_disable_if_c< boost::is_same::value, boost::mpl::identity >::type - is_sorted ( const R &range, Pred p ) - { - return boost::algorithm::is_sorted ( boost::begin ( range ), boost::end ( range ), p ); - } - - -/// \fn is_sorted ( const R &range ) -/// \return whether or not the entire range R is sorted -/// -/// \param range The range to be tested. -/// - template - bool is_sorted ( const R &range ) - { - return boost::algorithm::is_sorted ( boost::begin ( range ), boost::end ( range )); - } - - -/// -/// -- Range based versions of the C++11 functions -/// - -/// \fn is_increasing ( ForwardIterator first, ForwardIterator last ) -/// \return true if the entire sequence is increasing; i.e, each item is greater than or -/// equal to the previous one. -/// -/// \param first The start of the sequence to be tested. -/// \param last One past the end of the sequence -/// -/// \note This function will return true for sequences that contain items that compare -/// equal. If that is not what you intended, you should use is_strictly_increasing instead. - template - bool is_increasing ( ForwardIterator first, ForwardIterator last ) - { - typedef typename std::iterator_traits::value_type value_type; - return boost::algorithm::is_sorted (first, last, std::less()); - } - - -/// \fn is_increasing ( const R &range ) -/// \return true if the entire sequence is increasing; i.e, each item is greater than or -/// equal to the previous one. -/// -/// \param range The range to be tested. -/// -/// \note This function will return true for sequences that contain items that compare -/// equal. If that is not what you intended, you should use is_strictly_increasing instead. - template - bool is_increasing ( const R &range ) - { - return is_increasing ( boost::begin ( range ), boost::end ( range )); - } - - - -/// \fn is_decreasing ( ForwardIterator first, ForwardIterator last ) -/// \return true if the entire sequence is decreasing; i.e, each item is less than -/// or equal to the previous one. -/// -/// \param first The start of the sequence to be tested. -/// \param last One past the end of the sequence -/// -/// \note This function will return true for sequences that contain items that compare -/// equal. If that is not what you intended, you should use is_strictly_decreasing instead. - template - bool is_decreasing ( ForwardIterator first, ForwardIterator last ) - { - typedef typename std::iterator_traits::value_type value_type; - return boost::algorithm::is_sorted (first, last, std::greater()); - } - -/// \fn is_decreasing ( const R &range ) -/// \return true if the entire sequence is decreasing; i.e, each item is less than -/// or equal to the previous one. -/// -/// \param range The range to be tested. -/// -/// \note This function will return true for sequences that contain items that compare -/// equal. If that is not what you intended, you should use is_strictly_decreasing instead. - template - bool is_decreasing ( const R &range ) - { - return is_decreasing ( boost::begin ( range ), boost::end ( range )); - } - - - -/// \fn is_strictly_increasing ( ForwardIterator first, ForwardIterator last ) -/// \return true if the entire sequence is strictly increasing; i.e, each item is greater -/// than the previous one -/// -/// \param first The start of the sequence to be tested. -/// \param last One past the end of the sequence -/// -/// \note This function will return false for sequences that contain items that compare -/// equal. If that is not what you intended, you should use is_increasing instead. - template - bool is_strictly_increasing ( ForwardIterator first, ForwardIterator last ) - { - typedef typename std::iterator_traits::value_type value_type; - return boost::algorithm::is_sorted (first, last, std::less_equal()); - } - -/// \fn is_strictly_increasing ( const R &range ) -/// \return true if the entire sequence is strictly increasing; i.e, each item is greater -/// than the previous one -/// -/// \param range The range to be tested. -/// -/// \note This function will return false for sequences that contain items that compare -/// equal. If that is not what you intended, you should use is_increasing instead. - template - bool is_strictly_increasing ( const R &range ) - { - return is_strictly_increasing ( boost::begin ( range ), boost::end ( range )); - } - - -/// \fn is_strictly_decreasing ( ForwardIterator first, ForwardIterator last ) -/// \return true if the entire sequence is strictly decreasing; i.e, each item is less than -/// the previous one -/// -/// \param first The start of the sequence to be tested. -/// \param last One past the end of the sequence -/// -/// \note This function will return false for sequences that contain items that compare -/// equal. If that is not what you intended, you should use is_decreasing instead. - template - bool is_strictly_decreasing ( ForwardIterator first, ForwardIterator last ) - { - typedef typename std::iterator_traits::value_type value_type; - return boost::algorithm::is_sorted (first, last, std::greater_equal()); - } - -/// \fn is_strictly_decreasing ( const R &range ) -/// \return true if the entire sequence is strictly decreasing; i.e, each item is less than -/// the previous one -/// -/// \param range The range to be tested. -/// -/// \note This function will return false for sequences that contain items that compare -/// equal. If that is not what you intended, you should use is_decreasing instead. - template - bool is_strictly_decreasing ( const R &range ) - { - return is_strictly_decreasing ( boost::begin ( range ), boost::end ( range )); - } - -}} // namespace boost - -#endif // BOOST_ALGORITHM_ORDERED_HPP diff --git a/bundled/boost-1.56.0/include/boost/algorithm/cxx14/is_permutation.hpp b/bundled/boost-1.56.0/include/boost/algorithm/cxx14/is_permutation.hpp deleted file mode 100644 index d8002cbcec..0000000000 --- a/bundled/boost-1.56.0/include/boost/algorithm/cxx14/is_permutation.hpp +++ /dev/null @@ -1,86 +0,0 @@ -/* - Copyright (c) Marshall Clow 2014. - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -*/ - -/// \file is_permutation.hpp -/// \brief Is a sequence a permutation of another sequence (four iterator versions) -/// \author Marshall Clow - -#ifndef BOOST_ALGORITHM_IS_PERMUTATION14_HPP -#define BOOST_ALGORITHM_IS_PERMUTATION14_HPP - -#include // for std::less, tie, mismatch and is_permutation (if available) -#include // for std::make_pair -#include // for std::equal_to -#include - -#include -#include - -namespace boost { namespace algorithm { - -#if __cplusplus <= 201103L -/// \fn is_permutation ( ForwardIterator1 first, ForwardIterator1 last, -/// ForwardIterator2 first2, ForwardIterator2 last2 ) -/// \brief Tests to see if the sequence [first,last) is a permutation of the sequence starting at first2 -/// -/// \param first1 The start of the input sequence -/// \param last2 One past the end of the input sequence -/// \param first2 The start of the second sequence -/// \param last1 One past the end of the second sequence -/// \note This function is part of the C++2014 standard library. -/// We will use the standard one if it is available, -/// otherwise we have our own implementation. -template< class ForwardIterator1, class ForwardIterator2 > -bool is_permutation ( ForwardIterator1 first1, ForwardIterator1 last1, - ForwardIterator2 first2, ForwardIterator2 last2 ) -{ -// How should I deal with the idea that ForwardIterator1::value_type -// and ForwardIterator2::value_type could be different? Define my own comparison predicate? - std::pair eq = boost::algorithm::mismatch - ( first1, last1, first2, last2 ); - if ( eq.first == last1 && eq.second == last2) - return true; - return boost::algorithm::detail::is_permutation_tag ( - eq.first, last1, eq.second, last2, - std::equal_to::value_type> (), - typename std::iterator_traits::iterator_category (), - typename std::iterator_traits::iterator_category ()); -} - -/// \fn is_permutation ( ForwardIterator1 first, ForwardIterator1 last, -/// ForwardIterator2 first2, ForwardIterator2 last2, -/// BinaryPredicate p ) -/// \brief Tests to see if the sequence [first,last) is a permutation of the sequence starting at first2 -/// -/// \param first1 The start of the input sequence -/// \param last1 One past the end of the input sequence -/// \param first2 The start of the second sequence -/// \param last2 One past the end of the second sequence -/// \param pred The predicate to compare elements with -/// -/// \note This function is part of the C++2014 standard library. -/// We will use the standard one if it is available, -/// otherwise we have our own implementation. -template< class ForwardIterator1, class ForwardIterator2, class BinaryPredicate > -bool is_permutation ( ForwardIterator1 first1, ForwardIterator1 last1, - ForwardIterator2 first2, ForwardIterator2 last2, - BinaryPredicate pred ) -{ - std::pair eq = boost::algorithm::mismatch - ( first1, last1, first2, last2, pred ); - if ( eq.first == last1 && eq.second == last2) - return true; - return boost::algorithm::detail::is_permutation_tag ( - first1, last1, first2, last2, pred, - typename std::iterator_traits::iterator_category (), - typename std::iterator_traits::iterator_category ()); -} -#endif - -}} - -#endif // BOOST_ALGORITHM_IS_PERMUTATION14_HPP diff --git a/bundled/boost-1.56.0/include/boost/algorithm/hex.hpp b/bundled/boost-1.56.0/include/boost/algorithm/hex.hpp deleted file mode 100644 index 2adb0be445..0000000000 --- a/bundled/boost-1.56.0/include/boost/algorithm/hex.hpp +++ /dev/null @@ -1,261 +0,0 @@ -/* - Copyright (c) Marshall Clow 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) - - Thanks to Nevin for his comments/help. -*/ - -/* - General problem - turn a sequence of integral types into a sequence of hexadecimal characters. - - and back. -*/ - -/// \file hex.hpp -/// \brief Convert sequence of integral types into a sequence of hexadecimal -/// characters and back. Based on the MySQL functions HEX and UNHEX -/// \author Marshall Clow - -#ifndef BOOST_ALGORITHM_HEXHPP -#define BOOST_ALGORITHM_HEXHPP - -#include // for std::iterator_traits -#include - -#include -#include -#include - -#include -#include - - -namespace boost { namespace algorithm { - -/*! - \struct hex_decode_error - \brief Base exception class for all hex decoding errors -*/ /*! - \struct non_hex_input - \brief Thrown when a non-hex value (0-9, A-F) encountered when decoding. - Contains the offending character -*/ /*! - \struct not_enough_input - \brief Thrown when the input sequence unexpectedly ends - -*/ -struct hex_decode_error : virtual boost::exception, virtual std::exception {}; -struct not_enough_input : virtual hex_decode_error {}; -struct non_hex_input : virtual hex_decode_error {}; -typedef boost::error_info bad_char; - -namespace detail { -/// \cond DOXYGEN_HIDE - - template - OutputIterator encode_one ( T val, OutputIterator out ) { - const std::size_t num_hex_digits = 2 * sizeof ( T ); - char res [ num_hex_digits ]; - char *p = res + num_hex_digits; - for ( std::size_t i = 0; i < num_hex_digits; ++i, val >>= 4 ) - *--p = "0123456789ABCDEF" [ val & 0x0F ]; - return std::copy ( res, res + num_hex_digits, out ); - } - - template - unsigned char hex_char_to_int ( T val ) { - char c = static_cast ( val ); - unsigned retval = 0; - if ( c >= '0' && c <= '9' ) retval = c - '0'; - else if ( c >= 'A' && c <= 'F' ) retval = c - 'A' + 10; - else if ( c >= 'a' && c <= 'f' ) retval = c - 'a' + 10; - else BOOST_THROW_EXCEPTION (non_hex_input() << bad_char (c)); - return retval; - } - -// My own iterator_traits class. -// It is here so that I can "reach inside" some kinds of output iterators -// and get the type to write. - template - struct hex_iterator_traits { - typedef typename std::iterator_traits::value_type value_type; - }; - - template - struct hex_iterator_traits< std::back_insert_iterator > { - typedef typename Container::value_type value_type; - }; - - template - struct hex_iterator_traits< std::front_insert_iterator > { - typedef typename Container::value_type value_type; - }; - - template - struct hex_iterator_traits< std::insert_iterator > { - typedef typename Container::value_type value_type; - }; - -// ostream_iterators have three template parameters. -// The first one is the output type, the second one is the character type of -// the underlying stream, the third is the character traits. -// We only care about the first one. - template - struct hex_iterator_traits< std::ostream_iterator > { - typedef T value_type; - }; - - template - bool iter_end ( Iterator current, Iterator last ) { return current == last; } - - template - bool ptr_end ( const T* ptr, const T* /*end*/ ) { return *ptr == '\0'; } - -// What can we assume here about the inputs? -// is std::iterator_traits::value_type always 'char' ? -// Could it be wchar_t, say? Does it matter? -// We are assuming ASCII for the values - but what about the storage? - template - typename boost::enable_if::value_type>, OutputIterator>::type - decode_one ( InputIterator &first, InputIterator last, OutputIterator out, EndPred pred ) { - typedef typename hex_iterator_traits::value_type T; - T res (0); - - // Need to make sure that we get can read that many chars here. - for ( std::size_t i = 0; i < 2 * sizeof ( T ); ++i, ++first ) { - if ( pred ( first, last )) - BOOST_THROW_EXCEPTION (not_enough_input ()); - res = ( 16 * res ) + hex_char_to_int (*first); - } - - *out = res; - return ++out; - } -/// \endcond - } - - -/// \fn hex ( InputIterator first, InputIterator last, OutputIterator out ) -/// \brief Converts a sequence of integral types into a hexadecimal sequence of characters. -/// -/// \param first The start of the input sequence -/// \param last One past the end of the input sequence -/// \param out An output iterator to the results into -/// \return The updated output iterator -/// \note Based on the MySQL function of the same name -template -typename boost::enable_if::value_type>, OutputIterator>::type -hex ( InputIterator first, InputIterator last, OutputIterator out ) { - for ( ; first != last; ++first ) - out = detail::encode_one ( *first, out ); - return out; - } - - -/// \fn hex ( const T *ptr, OutputIterator out ) -/// \brief Converts a sequence of integral types into a hexadecimal sequence of characters. -/// -/// \param ptr A pointer to a 0-terminated sequence of data. -/// \param out An output iterator to the results into -/// \return The updated output iterator -/// \note Based on the MySQL function of the same name -template -typename boost::enable_if, OutputIterator>::type -hex ( const T *ptr, OutputIterator out ) { - while ( *ptr ) - out = detail::encode_one ( *ptr++, out ); - return out; - } - -/// \fn hex ( const Range &r, OutputIterator out ) -/// \brief Converts a sequence of integral types into a hexadecimal sequence of characters. -/// -/// \param r The input range -/// \param out An output iterator to the results into -/// \return The updated output iterator -/// \note Based on the MySQL function of the same name -template -typename boost::enable_if::value_type>, OutputIterator>::type -hex ( const Range &r, OutputIterator out ) { - return hex (boost::begin(r), boost::end(r), out); -} - - -/// \fn unhex ( InputIterator first, InputIterator last, OutputIterator out ) -/// \brief Converts a sequence of hexadecimal characters into a sequence of integers. -/// -/// \param first The start of the input sequence -/// \param last One past the end of the input sequence -/// \param out An output iterator to the results into -/// \return The updated output iterator -/// \note Based on the MySQL function of the same name -template -OutputIterator unhex ( InputIterator first, InputIterator last, OutputIterator out ) { - while ( first != last ) - out = detail::decode_one ( first, last, out, detail::iter_end ); - return out; - } - - -/// \fn unhex ( const T *ptr, OutputIterator out ) -/// \brief Converts a sequence of hexadecimal characters into a sequence of integers. -/// -/// \param ptr A pointer to a null-terminated input sequence. -/// \param out An output iterator to the results into -/// \return The updated output iterator -/// \note Based on the MySQL function of the same name -template -OutputIterator unhex ( const T *ptr, OutputIterator out ) { - typedef typename detail::hex_iterator_traits::value_type OutputType; -// If we run into the terminator while decoding, we will throw a -// malformed input exception. It would be nicer to throw a 'Not enough input' -// exception - but how much extra work would that require? - while ( *ptr ) - out = detail::decode_one ( ptr, (const T *) NULL, out, detail::ptr_end ); - return out; - } - - -/// \fn OutputIterator unhex ( const Range &r, OutputIterator out ) -/// \brief Converts a sequence of hexadecimal characters into a sequence of integers. -/// -/// \param r The input range -/// \param out An output iterator to the results into -/// \return The updated output iterator -/// \note Based on the MySQL function of the same name -template -OutputIterator unhex ( const Range &r, OutputIterator out ) { - return unhex (boost::begin(r), boost::end(r), out); - } - - -/// \fn String hex ( const String &input ) -/// \brief Converts a sequence of integral types into a hexadecimal sequence of characters. -/// -/// \param input A container to be converted -/// \return A container with the encoded text -template -String hex ( const String &input ) { - String output; - output.reserve (input.size () * (2 * sizeof (typename String::value_type))); - (void) hex (input, std::back_inserter (output)); - return output; - } - -/// \fn String unhex ( const String &input ) -/// \brief Converts a sequence of hexadecimal characters into a sequence of characters. -/// -/// \param input A container to be converted -/// \return A container with the decoded text -template -String unhex ( const String &input ) { - String output; - output.reserve (input.size () / (2 * sizeof (typename String::value_type))); - (void) unhex (input, std::back_inserter (output)); - return output; - } - -}} - -#endif // BOOST_ALGORITHM_HEXHPP diff --git a/bundled/boost-1.56.0/include/boost/algorithm/string/replace.hpp b/bundled/boost-1.56.0/include/boost/algorithm/string/replace.hpp deleted file mode 100644 index 0c04e47e1e..0000000000 --- a/bundled/boost-1.56.0/include/boost/algorithm/string/replace.hpp +++ /dev/null @@ -1,928 +0,0 @@ -// Boost string_algo library replace.hpp header file ---------------------------// - -// Copyright Pavol Droba 2002-2006. -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_REPLACE_HPP -#define BOOST_STRING_REPLACE_HPP - -#include - -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -/*! \file - Defines various replace algorithms. Each algorithm replaces - part(s) of the input according to set of searching and replace criteria. -*/ - -namespace boost { - namespace algorithm { - -// replace_range --------------------------------------------------------------------// - - //! Replace range algorithm - /*! - Replace the given range in the input string. - The result is a modified copy of the input. It is returned as a sequence - or copied to the output iterator. - - \param Output An output iterator to which the result will be copied - \param Input An input string - \param SearchRange A range in the input to be substituted - \param Format A substitute string - \return An output iterator pointing just after the last inserted character or - a modified copy of the input - - \note The second variant of this function provides the strong exception-safety guarantee - */ - template< - typename OutputIteratorT, - typename Range1T, - typename Range2T> - inline OutputIteratorT replace_range_copy( - OutputIteratorT Output, - const Range1T& Input, - const iterator_range< - BOOST_STRING_TYPENAME - range_const_iterator::type>& SearchRange, - const Range2T& Format) - { - return ::boost::algorithm::find_format_copy( - Output, - Input, - ::boost::algorithm::range_finder(SearchRange), - ::boost::algorithm::const_formatter(Format)); - } - - //! Replace range algorithm - /*! - \overload - */ - template - inline SequenceT replace_range_copy( - const SequenceT& Input, - const iterator_range< - BOOST_STRING_TYPENAME - range_const_iterator::type>& SearchRange, - const RangeT& Format) - { - return ::boost::algorithm::find_format_copy( - Input, - ::boost::algorithm::range_finder(SearchRange), - ::boost::algorithm::const_formatter(Format)); - } - - //! Replace range algorithm - /*! - Replace the given range in the input string. - The input sequence is modified in-place. - - \param Input An input string - \param SearchRange A range in the input to be substituted - \param Format A substitute string - */ - template - inline void replace_range( - SequenceT& Input, - const iterator_range< - BOOST_STRING_TYPENAME - range_iterator::type>& SearchRange, - const RangeT& Format) - { - ::boost::algorithm::find_format( - Input, - ::boost::algorithm::range_finder(SearchRange), - ::boost::algorithm::const_formatter(Format)); - } - -// replace_first --------------------------------------------------------------------// - - //! Replace first algorithm - /*! - Replace the first match of the search substring in the input - with the format string. - The result is a modified copy of the input. It is returned as a sequence - or copied to the output iterator. - - \param Output An output iterator to which the result will be copied - \param Input An input string - \param Search A substring to be searched for - \param Format A substitute string - \return An output iterator pointing just after the last inserted character or - a modified copy of the input - - \note The second variant of this function provides the strong exception-safety guarantee - */ - template< - typename OutputIteratorT, - typename Range1T, - typename Range2T, - typename Range3T> - inline OutputIteratorT replace_first_copy( - OutputIteratorT Output, - const Range1T& Input, - const Range2T& Search, - const Range3T& Format) - { - return ::boost::algorithm::find_format_copy( - Output, - Input, - ::boost::algorithm::first_finder(Search), - ::boost::algorithm::const_formatter(Format) ); - } - - //! Replace first algorithm - /*! - \overload - */ - template - inline SequenceT replace_first_copy( - const SequenceT& Input, - const Range1T& Search, - const Range2T& Format ) - { - return ::boost::algorithm::find_format_copy( - Input, - ::boost::algorithm::first_finder(Search), - ::boost::algorithm::const_formatter(Format) ); - } - - //! Replace first algorithm - /*! - replace the first match of the search substring in the input - with the format string. The input sequence is modified in-place. - - \param Input An input string - \param Search A substring to be searched for - \param Format A substitute string - */ - template - inline void replace_first( - SequenceT& Input, - const Range1T& Search, - const Range2T& Format ) - { - ::boost::algorithm::find_format( - Input, - ::boost::algorithm::first_finder(Search), - ::boost::algorithm::const_formatter(Format) ); - } - -// replace_first ( case insensitive ) ---------------------------------------------// - - //! Replace first algorithm ( case insensitive ) - /*! - Replace the first match of the search substring in the input - with the format string. - The result is a modified copy of the input. It is returned as a sequence - or copied to the output iterator. - Searching is case insensitive. - - \param Output An output iterator to which the result will be copied - \param Input An input string - \param Search A substring to be searched for - \param Format A substitute string - \param Loc A locale used for case insensitive comparison - \return An output iterator pointing just after the last inserted character or - a modified copy of the input - - \note The second variant of this function provides the strong exception-safety guarantee - */ - template< - typename OutputIteratorT, - typename Range1T, - typename Range2T, - typename Range3T> - inline OutputIteratorT ireplace_first_copy( - OutputIteratorT Output, - const Range1T& Input, - const Range2T& Search, - const Range3T& Format, - const std::locale& Loc=std::locale() ) - { - return ::boost::algorithm::find_format_copy( - Output, - Input, - ::boost::algorithm::first_finder(Search, is_iequal(Loc)), - ::boost::algorithm::const_formatter(Format) ); - } - - //! Replace first algorithm ( case insensitive ) - /*! - \overload - */ - template - inline SequenceT ireplace_first_copy( - const SequenceT& Input, - const Range2T& Search, - const Range1T& Format, - const std::locale& Loc=std::locale() ) - { - return ::boost::algorithm::find_format_copy( - Input, - ::boost::algorithm::first_finder(Search, is_iequal(Loc)), - ::boost::algorithm::const_formatter(Format) ); - } - - //! Replace first algorithm ( case insensitive ) - /*! - Replace the first match of the search substring in the input - with the format string. Input sequence is modified in-place. - Searching is case insensitive. - - \param Input An input string - \param Search A substring to be searched for - \param Format A substitute string - \param Loc A locale used for case insensitive comparison - */ - template - inline void ireplace_first( - SequenceT& Input, - const Range1T& Search, - const Range2T& Format, - const std::locale& Loc=std::locale() ) - { - ::boost::algorithm::find_format( - Input, - ::boost::algorithm::first_finder(Search, is_iequal(Loc)), - ::boost::algorithm::const_formatter(Format) ); - } - -// replace_last --------------------------------------------------------------------// - - //! Replace last algorithm - /*! - Replace the last match of the search string in the input - with the format string. - The result is a modified copy of the input. It is returned as a sequence - or copied to the output iterator. - - \param Output An output iterator to which the result will be copied - \param Input An input string - \param Search A substring to be searched for - \param Format A substitute string - \return An output iterator pointing just after the last inserted character or - a modified copy of the input - - \note The second variant of this function provides the strong exception-safety guarantee - */ - template< - typename OutputIteratorT, - typename Range1T, - typename Range2T, - typename Range3T> - inline OutputIteratorT replace_last_copy( - OutputIteratorT Output, - const Range1T& Input, - const Range2T& Search, - const Range3T& Format ) - { - return ::boost::algorithm::find_format_copy( - Output, - Input, - ::boost::algorithm::last_finder(Search), - ::boost::algorithm::const_formatter(Format) ); - } - - //! Replace last algorithm - /*! - \overload - */ - template - inline SequenceT replace_last_copy( - const SequenceT& Input, - const Range1T& Search, - const Range2T& Format ) - { - return ::boost::algorithm::find_format_copy( - Input, - ::boost::algorithm::last_finder(Search), - ::boost::algorithm::const_formatter(Format) ); - } - - //! Replace last algorithm - /*! - Replace the last match of the search string in the input - with the format string. Input sequence is modified in-place. - - \param Input An input string - \param Search A substring to be searched for - \param Format A substitute string - */ - template - inline void replace_last( - SequenceT& Input, - const Range1T& Search, - const Range2T& Format ) - { - ::boost::algorithm::find_format( - Input, - ::boost::algorithm::last_finder(Search), - ::boost::algorithm::const_formatter(Format) ); - } - -// replace_last ( case insensitive ) -----------------------------------------------// - - //! Replace last algorithm ( case insensitive ) - /*! - Replace the last match of the search string in the input - with the format string. - The result is a modified copy of the input. It is returned as a sequence - or copied to the output iterator. - Searching is case insensitive. - - \param Output An output iterator to which the result will be copied - \param Input An input string - \param Search A substring to be searched for - \param Format A substitute string - \param Loc A locale used for case insensitive comparison - \return An output iterator pointing just after the last inserted character or - a modified copy of the input - - \note The second variant of this function provides the strong exception-safety guarantee - */ - template< - typename OutputIteratorT, - typename Range1T, - typename Range2T, - typename Range3T> - inline OutputIteratorT ireplace_last_copy( - OutputIteratorT Output, - const Range1T& Input, - const Range2T& Search, - const Range3T& Format, - const std::locale& Loc=std::locale() ) - { - return ::boost::algorithm::find_format_copy( - Output, - Input, - ::boost::algorithm::last_finder(Search, is_iequal(Loc)), - ::boost::algorithm::const_formatter(Format) ); - } - - //! Replace last algorithm ( case insensitive ) - /*! - \overload - */ - template - inline SequenceT ireplace_last_copy( - const SequenceT& Input, - const Range1T& Search, - const Range2T& Format, - const std::locale& Loc=std::locale() ) - { - return ::boost::algorithm::find_format_copy( - Input, - ::boost::algorithm::last_finder(Search, is_iequal(Loc)), - ::boost::algorithm::const_formatter(Format) ); - } - - //! Replace last algorithm ( case insensitive ) - /*! - Replace the last match of the search string in the input - with the format string.The input sequence is modified in-place. - Searching is case insensitive. - - \param Input An input string - \param Search A substring to be searched for - \param Format A substitute string - \param Loc A locale used for case insensitive comparison - \return A reference to the modified input - */ - template - inline void ireplace_last( - SequenceT& Input, - const Range1T& Search, - const Range2T& Format, - const std::locale& Loc=std::locale() ) - { - ::boost::algorithm::find_format( - Input, - ::boost::algorithm::last_finder(Search, is_iequal(Loc)), - ::boost::algorithm::const_formatter(Format) ); - } - -// replace_nth --------------------------------------------------------------------// - - //! Replace nth algorithm - /*! - Replace an Nth (zero-indexed) match of the search string in the input - with the format string. - The result is a modified copy of the input. It is returned as a sequence - or copied to the output iterator. - - \param Output An output iterator to which the result will be copied - \param Input An input string - \param Search A substring to be searched for - \param Nth An index of the match to be replaced. The index is 0-based. - For negative N, matches are counted from the end of string. - \param Format A substitute string - \return An output iterator pointing just after the last inserted character or - a modified copy of the input - - \note The second variant of this function provides the strong exception-safety guarantee - */ - template< - typename OutputIteratorT, - typename Range1T, - typename Range2T, - typename Range3T> - inline OutputIteratorT replace_nth_copy( - OutputIteratorT Output, - const Range1T& Input, - const Range2T& Search, - int Nth, - const Range3T& Format ) - { - return ::boost::algorithm::find_format_copy( - Output, - Input, - ::boost::algorithm::nth_finder(Search, Nth), - ::boost::algorithm::const_formatter(Format) ); - } - - //! Replace nth algorithm - /*! - \overload - */ - template - inline SequenceT replace_nth_copy( - const SequenceT& Input, - const Range1T& Search, - int Nth, - const Range2T& Format ) - { - return ::boost::algorithm::find_format_copy( - Input, - ::boost::algorithm::nth_finder(Search, Nth), - ::boost::algorithm::const_formatter(Format) ); - } - - //! Replace nth algorithm - /*! - Replace an Nth (zero-indexed) match of the search string in the input - with the format string. Input sequence is modified in-place. - - \param Input An input string - \param Search A substring to be searched for - \param Nth An index of the match to be replaced. The index is 0-based. - For negative N, matches are counted from the end of string. - \param Format A substitute string - */ - template - inline void replace_nth( - SequenceT& Input, - const Range1T& Search, - int Nth, - const Range2T& Format ) - { - ::boost::algorithm::find_format( - Input, - ::boost::algorithm::nth_finder(Search, Nth), - ::boost::algorithm::const_formatter(Format) ); - } - -// replace_nth ( case insensitive ) -----------------------------------------------// - - //! Replace nth algorithm ( case insensitive ) - /*! - Replace an Nth (zero-indexed) match of the search string in the input - with the format string. - The result is a modified copy of the input. It is returned as a sequence - or copied to the output iterator. - Searching is case insensitive. - - \param Output An output iterator to which the result will be copied - \param Input An input string - \param Search A substring to be searched for - \param Nth An index of the match to be replaced. The index is 0-based. - For negative N, matches are counted from the end of string. - \param Format A substitute string - \param Loc A locale used for case insensitive comparison - \return An output iterator pointing just after the last inserted character or - a modified copy of the input - - \note The second variant of this function provides the strong exception-safety guarantee - */ - template< - typename OutputIteratorT, - typename Range1T, - typename Range2T, - typename Range3T> - inline OutputIteratorT ireplace_nth_copy( - OutputIteratorT Output, - const Range1T& Input, - const Range2T& Search, - int Nth, - const Range3T& Format, - const std::locale& Loc=std::locale() ) - { - return ::boost::algorithm::find_format_copy( - Output, - Input, - ::boost::algorithm::nth_finder(Search, Nth, is_iequal(Loc) ), - ::boost::algorithm::const_formatter(Format) ); - } - - //! Replace nth algorithm ( case insensitive ) - /*! - \overload - */ - template - inline SequenceT ireplace_nth_copy( - const SequenceT& Input, - const Range1T& Search, - int Nth, - const Range2T& Format, - const std::locale& Loc=std::locale() ) - { - return ::boost::algorithm::find_format_copy( - Input, - ::boost::algorithm::nth_finder(Search, Nth, is_iequal(Loc)), - ::boost::algorithm::const_formatter(Format) ); - } - - //! Replace nth algorithm ( case insensitive ) - /*! - Replace an Nth (zero-indexed) match of the search string in the input - with the format string. Input sequence is modified in-place. - Searching is case insensitive. - - \param Input An input string - \param Search A substring to be searched for - \param Nth An index of the match to be replaced. The index is 0-based. - For negative N, matches are counted from the end of string. - \param Format A substitute string - \param Loc A locale used for case insensitive comparison - */ - template - inline void ireplace_nth( - SequenceT& Input, - const Range1T& Search, - int Nth, - const Range2T& Format, - const std::locale& Loc=std::locale() ) - { - ::boost::algorithm::find_format( - Input, - ::boost::algorithm::nth_finder(Search, Nth, is_iequal(Loc)), - ::boost::algorithm::const_formatter(Format) ); - } - -// replace_all --------------------------------------------------------------------// - - //! Replace all algorithm - /*! - Replace all occurrences of the search string in the input - with the format string. - The result is a modified copy of the input. It is returned as a sequence - or copied to the output iterator. - - \param Output An output iterator to which the result will be copied - \param Input An input string - \param Search A substring to be searched for - \param Format A substitute string - \return An output iterator pointing just after the last inserted character or - a modified copy of the input - - \note The second variant of this function provides the strong exception-safety guarantee - */ - template< - typename OutputIteratorT, - typename Range1T, - typename Range2T, - typename Range3T> - inline OutputIteratorT replace_all_copy( - OutputIteratorT Output, - const Range1T& Input, - const Range2T& Search, - const Range3T& Format ) - { - return ::boost::algorithm::find_format_all_copy( - Output, - Input, - ::boost::algorithm::first_finder(Search), - ::boost::algorithm::const_formatter(Format) ); - } - - //! Replace all algorithm - /*! - \overload - */ - template - inline SequenceT replace_all_copy( - const SequenceT& Input, - const Range1T& Search, - const Range2T& Format ) - { - return ::boost::algorithm::find_format_all_copy( - Input, - ::boost::algorithm::first_finder(Search), - ::boost::algorithm::const_formatter(Format) ); - } - - //! Replace all algorithm - /*! - Replace all occurrences of the search string in the input - with the format string. The input sequence is modified in-place. - - \param Input An input string - \param Search A substring to be searched for - \param Format A substitute string - \return A reference to the modified input - */ - template - inline void replace_all( - SequenceT& Input, - const Range1T& Search, - const Range2T& Format ) - { - ::boost::algorithm::find_format_all( - Input, - ::boost::algorithm::first_finder(Search), - ::boost::algorithm::const_formatter(Format) ); - } - -// replace_all ( case insensitive ) -----------------------------------------------// - - //! Replace all algorithm ( case insensitive ) - /*! - Replace all occurrences of the search string in the input - with the format string. - The result is a modified copy of the input. It is returned as a sequence - or copied to the output iterator. - Searching is case insensitive. - - \param Output An output iterator to which the result will be copied - \param Input An input string - \param Search A substring to be searched for - \param Format A substitute string - \param Loc A locale used for case insensitive comparison - \return An output iterator pointing just after the last inserted character or - a modified copy of the input - - \note The second variant of this function provides the strong exception-safety guarantee - */ - template< - typename OutputIteratorT, - typename Range1T, - typename Range2T, - typename Range3T> - inline OutputIteratorT ireplace_all_copy( - OutputIteratorT Output, - const Range1T& Input, - const Range2T& Search, - const Range3T& Format, - const std::locale& Loc=std::locale() ) - { - return ::boost::algorithm::find_format_all_copy( - Output, - Input, - ::boost::algorithm::first_finder(Search, is_iequal(Loc)), - ::boost::algorithm::const_formatter(Format) ); - } - - //! Replace all algorithm ( case insensitive ) - /*! - \overload - */ - template - inline SequenceT ireplace_all_copy( - const SequenceT& Input, - const Range1T& Search, - const Range2T& Format, - const std::locale& Loc=std::locale() ) - { - return ::boost::algorithm::find_format_all_copy( - Input, - ::boost::algorithm::first_finder(Search, is_iequal(Loc)), - ::boost::algorithm::const_formatter(Format) ); - } - - //! Replace all algorithm ( case insensitive ) - /*! - Replace all occurrences of the search string in the input - with the format string.The input sequence is modified in-place. - Searching is case insensitive. - - \param Input An input string - \param Search A substring to be searched for - \param Format A substitute string - \param Loc A locale used for case insensitive comparison - */ - template - inline void ireplace_all( - SequenceT& Input, - const Range1T& Search, - const Range2T& Format, - const std::locale& Loc=std::locale() ) - { - ::boost::algorithm::find_format_all( - Input, - ::boost::algorithm::first_finder(Search, is_iequal(Loc)), - ::boost::algorithm::const_formatter(Format) ); - } - -// replace_head --------------------------------------------------------------------// - - //! Replace head algorithm - /*! - Replace the head of the input with the given format string. - The head is a prefix of a string of given size. - If the sequence is shorter then required, whole string if - considered to be the head. - The result is a modified copy of the input. It is returned as a sequence - or copied to the output iterator. - - \param Output An output iterator to which the result will be copied - \param Input An input string - \param N Length of the head. - For N>=0, at most N characters are extracted. - For N<0, size(Input)-|N| characters are extracted. - \param Format A substitute string - \return An output iterator pointing just after the last inserted character or - a modified copy of the input - - \note The second variant of this function provides the strong exception-safety guarantee - */ - template< - typename OutputIteratorT, - typename Range1T, - typename Range2T> - inline OutputIteratorT replace_head_copy( - OutputIteratorT Output, - const Range1T& Input, - int N, - const Range2T& Format ) - { - return ::boost::algorithm::find_format_copy( - Output, - Input, - ::boost::algorithm::head_finder(N), - ::boost::algorithm::const_formatter(Format) ); - } - - //! Replace head algorithm - /*! - \overload - */ - template - inline SequenceT replace_head_copy( - const SequenceT& Input, - int N, - const RangeT& Format ) - { - return ::boost::algorithm::find_format_copy( - Input, - ::boost::algorithm::head_finder(N), - ::boost::algorithm::const_formatter(Format) ); - } - - //! Replace head algorithm - /*! - Replace the head of the input with the given format string. - The head is a prefix of a string of given size. - If the sequence is shorter then required, the whole string is - considered to be the head. The input sequence is modified in-place. - - \param Input An input string - \param N Length of the head. - For N>=0, at most N characters are extracted. - For N<0, size(Input)-|N| characters are extracted. - \param Format A substitute string - */ - template - inline void replace_head( - SequenceT& Input, - int N, - const RangeT& Format ) - { - ::boost::algorithm::find_format( - Input, - ::boost::algorithm::head_finder(N), - ::boost::algorithm::const_formatter(Format) ); - } - -// replace_tail --------------------------------------------------------------------// - - //! Replace tail algorithm - /*! - Replace the tail of the input with the given format string. - The tail is a suffix of a string of given size. - If the sequence is shorter then required, whole string is - considered to be the tail. - The result is a modified copy of the input. It is returned as a sequence - or copied to the output iterator. - - \param Output An output iterator to which the result will be copied - \param Input An input string - \param N Length of the tail. - For N>=0, at most N characters are extracted. - For N<0, size(Input)-|N| characters are extracted. - \param Format A substitute string - \return An output iterator pointing just after the last inserted character or - a modified copy of the input - - \note The second variant of this function provides the strong exception-safety guarantee - */ - template< - typename OutputIteratorT, - typename Range1T, - typename Range2T> - inline OutputIteratorT replace_tail_copy( - OutputIteratorT Output, - const Range1T& Input, - int N, - const Range2T& Format ) - { - return ::boost::algorithm::find_format_copy( - Output, - Input, - ::boost::algorithm::tail_finder(N), - ::boost::algorithm::const_formatter(Format) ); - } - - //! Replace tail algorithm - /*! - \overload - */ - template - inline SequenceT replace_tail_copy( - const SequenceT& Input, - int N, - const RangeT& Format ) - { - return ::boost::algorithm::find_format_copy( - Input, - ::boost::algorithm::tail_finder(N), - ::boost::algorithm::const_formatter(Format) ); - } - - //! Replace tail algorithm - /*! - Replace the tail of the input with the given format sequence. - The tail is a suffix of a string of given size. - If the sequence is shorter then required, the whole string is - considered to be the tail. The input sequence is modified in-place. - - \param Input An input string - \param N Length of the tail. - For N>=0, at most N characters are extracted. - For N<0, size(Input)-|N| characters are extracted. - \param Format A substitute string - */ - template - inline void replace_tail( - SequenceT& Input, - int N, - const RangeT& Format ) - { - ::boost::algorithm::find_format( - Input, - ::boost::algorithm::tail_finder(N), - ::boost::algorithm::const_formatter(Format) ); - } - - } // namespace algorithm - - // pull names to the boost namespace - using algorithm::replace_range_copy; - using algorithm::replace_range; - using algorithm::replace_first_copy; - using algorithm::replace_first; - using algorithm::ireplace_first_copy; - using algorithm::ireplace_first; - using algorithm::replace_last_copy; - using algorithm::replace_last; - using algorithm::ireplace_last_copy; - using algorithm::ireplace_last; - using algorithm::replace_nth_copy; - using algorithm::replace_nth; - using algorithm::ireplace_nth_copy; - using algorithm::ireplace_nth; - using algorithm::replace_all_copy; - using algorithm::replace_all; - using algorithm::ireplace_all_copy; - using algorithm::ireplace_all; - using algorithm::replace_head_copy; - using algorithm::replace_head; - using algorithm::replace_tail_copy; - using algorithm::replace_tail; - -} // namespace boost - -#endif // BOOST_REPLACE_HPP diff --git a/bundled/boost-1.56.0/include/boost/align.hpp b/bundled/boost-1.56.0/include/boost/align.hpp deleted file mode 100644 index 4d60100601..0000000000 --- a/bundled/boost-1.56.0/include/boost/align.hpp +++ /dev/null @@ -1,31 +0,0 @@ -/* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com - - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_ALIGN_HPP -#define BOOST_ALIGN_HPP - -/** - Boost.Align - all headers. - - @note This header includes all public headers - of the Boost.Align library. - - @file - @author Glen Fernandes -*/ - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/bundled/boost-1.56.0/include/boost/align/align.hpp b/bundled/boost-1.56.0/include/boost/align/align.hpp deleted file mode 100644 index 8d29fca466..0000000000 --- a/bundled/boost-1.56.0/include/boost/align/align.hpp +++ /dev/null @@ -1,86 +0,0 @@ -/* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com - - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_ALIGN_ALIGN_HPP -#define BOOST_ALIGN_ALIGN_HPP - -/** - Function align. - - @file - @author Glen Fernandes -*/ - -#include - -/** - @cond -*/ -#if !defined(BOOST_NO_CXX11_STD_ALIGN) -#include -#else -#include -#endif - -#if defined(BOOST_NO_CXX11_STD_ALIGN) -/** - @endcond -*/ - -/** - Boost namespace. -*/ -namespace boost { - /** - Alignment namespace. - */ - namespace alignment { - /** - If it is possible to fit `size` bytes of storage - aligned by `alignment` into the buffer pointed to by - `ptr` with length `space`, the function updates `ptr` - to point to the first possible address of such - storage and decreases `space` by the number of bytes - used for alignment. Otherwise, the function does - nothing. - - @param alignment Shall be a fundamental alignment - value or an extended alignment value, and shall be - a power of two. - - @param size The size in bytes of storage to fit into - the buffer. - - @param ptr Shall point to contiguous storage of at - least `space` bytes. - - @param space The length of the buffer. - - @return A null pointer if the requested aligned - buffer would not fit into the available space, - otherwise the adjusted value of `ptr`. - - @remark **Note:** The function updates its `ptr` and - space arguments so that it can be called repeatedly - with possibly different `alignment` and `size` - arguments for the same buffer. - */ - inline void* align(std::size_t alignment, std::size_t size, - void*& ptr, std::size_t& space); - } -} - -/** - @cond -*/ -#endif -/** - @endcond -*/ - -#endif diff --git a/bundled/boost-1.56.0/include/boost/align/aligned_alloc.hpp b/bundled/boost-1.56.0/include/boost/align/aligned_alloc.hpp deleted file mode 100644 index 07035b7207..0000000000 --- a/bundled/boost-1.56.0/include/boost/align/aligned_alloc.hpp +++ /dev/null @@ -1,100 +0,0 @@ -/* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com - - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_ALIGN_ALIGNED_ALLOC_HPP -#define BOOST_ALIGN_ALIGNED_ALLOC_HPP - -/** - Functions aligned_alloc and aligned_free. - - @file - @author Glen Fernandes -*/ - -#include - -/** - @cond -*/ -#if defined(BOOST_HAS_UNISTD_H) -#include -#endif - -#if defined(__APPLE__) || defined(__APPLE_CC__) || defined(macintosh) -#include -#endif - -#if defined(_MSC_VER) -#include -#elif defined(__MINGW32__) && (__MSVCRT_VERSION__ >= 0x0700) -#include -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= 1090 -#include -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= 1060 -#include -#elif defined(__ANDROID__) -#include -#elif defined(__SunOS_5_11) || defined(__SunOS_5_12) -#include -#elif defined(sun) || defined(__sun) -#include -#elif (_POSIX_C_SOURCE >= 200112L) || (_XOPEN_SOURCE >= 600) -#include -#else -#include -#endif -/** - @endcond -*/ - -/** - Boost namespace. -*/ -namespace boost { - /** - Alignment namespace. - */ - namespace alignment { - /** - Allocates space for an object whose alignment is - specified by `alignment`, whose size is - specified by `size`, and whose value is - indeterminate. - - @param alignment Shall be a power of two. - - @param size Size of space to allocate. - - @return A null pointer or a pointer to the - allocated space. - - @remark **Note:** On certain platforms, the - alignment may be rounded up to `alignof(void*)` - and the space allocated may be slightly larger - than `size` bytes, by an additional - `sizeof(void*)` and `alignment - 1` bytes. - */ - inline void* aligned_alloc(std::size_t alignment, - std::size_t size) BOOST_NOEXCEPT; - - /** - Causes the space pointed to by `ptr` to be - deallocated, that is, made available for further - allocation. If `ptr` is a null pointer, no - action occurs. Otherwise, if the argument does - not match a pointer earlier returned by the - `aligned_alloc` function, or if the space has - been deallocated by a call to `aligned_free`, - the behavior is undefined. - */ - inline void aligned_free(void* ptr) - BOOST_NOEXCEPT; - } -} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/align/aligned_allocator.hpp b/bundled/boost-1.56.0/include/boost/align/aligned_allocator.hpp deleted file mode 100644 index 03b2546274..0000000000 --- a/bundled/boost-1.56.0/include/boost/align/aligned_allocator.hpp +++ /dev/null @@ -1,287 +0,0 @@ -/* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com - - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_ALIGN_ALIGNED_ALLOCATOR_HPP -#define BOOST_ALIGN_ALIGNED_ALLOCATOR_HPP - -/** - Class template aligned_allocator. - - @file - @author Glen Fernandes -*/ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -#include -#endif - -/** - Boost namespace. -*/ -namespace boost { - /** - Alignment namespace. - */ - namespace alignment { - /** - Class template aligned_allocator. - - @tparam Alignment Is the minimum alignment to specify - for allocations, if it is larger than the alignment - of the value type. It shall be a power of two. - - @remark **Note:** Except for the destructor, member - functions of the aligned allocator shall not - introduce data races as a result of concurrent calls - to those member functions from different threads. - Calls to these functions that allocate or deallocate - a particular unit of storage shall occur in a single - total order, and each such deallocation call shall - happen before the next allocation (if any) in this - order. - - @note Specifying minimum alignment is generally only - suitable for containers such as vector and undesirable - with other, node-based, containers. For node-based - containers, such as list, the node object would have - the minimum alignment specified instead of the value - type object. - */ - template - class aligned_allocator { - /** - @cond - */ - BOOST_STATIC_ASSERT(detail:: - is_alignment_const::value); - /** - @endcond - */ - - public: - typedef T value_type; - typedef T* pointer; - typedef const T* const_pointer; - typedef void* void_pointer; - typedef const void* const_void_pointer; - typedef std::size_t size_type; - typedef std::ptrdiff_t difference_type; - typedef T& reference; - typedef const T& const_reference; - - private: - enum { - TypeAlign = alignment_of::value, - - MaxAlign = detail:: - max_align::value - }; - - public: - /** - Rebind allocator. - */ - template - struct rebind { - typedef aligned_allocator other; - }; - -#if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) - aligned_allocator() - BOOST_NOEXCEPT = default; -#else - aligned_allocator() - BOOST_NOEXCEPT { - } -#endif - - template - aligned_allocator(const aligned_allocator&) BOOST_NOEXCEPT { - } - - /** - @return The actual address of the object referenced - by `value`, even in the presence of an overloaded - operator&. - */ - pointer address(reference value) const - BOOST_NOEXCEPT { - return detail::addressof(value); - } - - /** - @return The actual address of the object referenced - by `value`, even in the presence of an overloaded - operator&. - */ - const_pointer address(const_reference value) const - BOOST_NOEXCEPT { - return detail::addressof(value); - } - - /** - @return A pointer to the initial element of an array - of storage of size `n * sizeof(T)`, aligned on the - maximum of the minimum alignment specified and the - alignment of objects of type `T`. - - @remark **Throw:** Throws `std::bad_alloc` if the - storage cannot be obtained. - - @remark **Note:** The storage is obtained by calling - `aligned_alloc(std::size_t, std::size_t)`. - */ - pointer allocate(size_type size, const_void_pointer = 0) { - void* p = aligned_alloc(MaxAlign, sizeof(T) * size); - if (!p && size > 0) { - boost::throw_exception(std::bad_alloc()); - } - return static_cast(p); - } - - /** - Deallocates the storage referenced by `ptr`. - - @param ptr Shall be a pointer value obtained from - `allocate()`. - - @remark **Note:** Uses - `alignment::aligned_free(void*)`. - */ - void deallocate(pointer ptr, size_type) { - alignment::aligned_free(ptr); - } - - /** - @return The largest value `N` for which the call - `allocate(N)` might succeed. - */ - BOOST_CONSTEXPR size_type max_size() const - BOOST_NOEXCEPT { - return detail::max_count_of::value; - } - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - /** - Calls global - `new((void*)ptr) U(std::forward(args)...)`. - */ - template - void construct(U* ptr, Args&&... args) { - void* p = ptr; - ::new(p) U(std::forward(args)...); - } -#else - /** - Calls global - `new((void*)ptr) U(std::forward(value))`. - */ - template - void construct(U* ptr, V&& value) { - void* p = ptr; - ::new(p) U(std::forward(value)); - } -#endif -#else - /** - Calls global `new((void*)ptr) U(value)`. - */ - template - void construct(U* ptr, const V& value) { - void* p = ptr; - ::new(p) U(value); - } -#endif - - /** - Calls global `new((void*)ptr) U()`. - */ - template - void construct(U* ptr) { - void* p = ptr; - ::new(p) U(); - } - - /** - Calls `ptr->~U()`. - */ - template - void destroy(U* ptr) { - (void)ptr; - ptr->~U(); - } - }; - - /** - Class template aligned_allocator - specialization. - */ - template - class aligned_allocator { - /** - @cond - */ - BOOST_STATIC_ASSERT(detail:: - is_alignment_const::value); - /** - @endcond - */ - - public: - typedef void value_type; - typedef void* pointer; - typedef const void* const_pointer; - - /** - Rebind allocator. - */ - template - struct rebind { - typedef aligned_allocator other; - }; - }; - - /** - @return `true`. - */ - template - inline bool operator==(const aligned_allocator&, const aligned_allocator&) BOOST_NOEXCEPT - { - return true; - } - - /** - @return `false`. - */ - template - inline bool operator!=(const aligned_allocator&, const aligned_allocator&) BOOST_NOEXCEPT - { - return false; - } - } -} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/align/aligned_allocator_adaptor.hpp b/bundled/boost-1.56.0/include/boost/align/aligned_allocator_adaptor.hpp deleted file mode 100644 index 2083c949de..0000000000 --- a/bundled/boost-1.56.0/include/boost/align/aligned_allocator_adaptor.hpp +++ /dev/null @@ -1,325 +0,0 @@ -/* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com - - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_ALIGN_ALIGNED_ALLOCATOR_ADAPTOR_HPP -#define BOOST_ALIGN_ALIGNED_ALLOCATOR_ADAPTOR_HPP - -/** - Class template aligned_allocator_adaptor. - - @file - @author Glen Fernandes -*/ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if !defined(BOOST_NO_CXX11_ALLOCATOR) -#include -#endif - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -#include -#endif - -/** - Boost namespace. -*/ -namespace boost { - /** - Alignment namespace. - */ - namespace alignment { - /** - Class template aligned_allocator_adaptor. - - @tparam Alignment Is the minimum alignment to specify - for allocations, if it is larger than the alignment - of the value type. The value of `Alignment` shall be - a fundamental alignment value or an extended alignment - value, and shall be a power of two. - - @note This adaptor can be used with a C++11 allocator - whose pointer type is a smart pointer but the adaptor - will expose only raw pointers. - */ - template - class aligned_allocator_adaptor - : public Allocator { - /** - @cond - */ - BOOST_STATIC_ASSERT(detail:: - is_alignment_const::value); - /** - @endcond - */ - -#if !defined(BOOST_NO_CXX11_ALLOCATOR) - /** - Exposition only. - */ - typedef std::allocator_traits Traits; - - typedef typename Traits:: - template rebind_alloc CharAlloc; - - typedef typename Traits:: - template rebind_traits CharTraits; - - typedef typename CharTraits::pointer CharPtr; -#else - typedef typename Allocator:: - template rebind::other CharAlloc; - - typedef typename CharAlloc::pointer CharPtr; -#endif - - public: -#if !defined(BOOST_NO_CXX11_ALLOCATOR) - typedef typename Traits::value_type value_type; - typedef typename Traits::size_type size_type; -#else - typedef typename Allocator::value_type value_type; - typedef typename Allocator::size_type size_type; -#endif - - typedef value_type* pointer; - typedef const value_type* const_pointer; - typedef void* void_pointer; - typedef const void* const_void_pointer; - typedef std::ptrdiff_t difference_type; - - private: - enum { - TypeAlign = alignment_of::value, - - PtrAlign = alignment_of::value, - - BlockAlign = detail:: - max_align::value, - - MaxAlign = detail:: - max_align::value - }; - - public: - /** - Rebind allocator. - */ - template - struct rebind { -#if !defined(BOOST_NO_CXX11_ALLOCATOR) - typedef aligned_allocator_adaptor, Alignment> other; -#else - typedef aligned_allocator_adaptor::other, Alignment> other; -#endif - }; - -#if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) - /** - Value-initializes the `Allocator` - base class. - */ - aligned_allocator_adaptor() = default; -#else - /** - Value-initializes the `Allocator` - base class. - */ - aligned_allocator_adaptor() - : Allocator() { - } -#endif - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - /** - Initializes the `Allocator` base class with - `std::forward(alloc)`. - - @remark **Require:** `Allocator` shall be - constructible from `A`. - */ - template - explicit aligned_allocator_adaptor(A&& alloc) - BOOST_NOEXCEPT - : Allocator(std::forward(alloc)) { - } -#else - /** - Initializes the `Allocator` base class with - `alloc`. - - @remark **Require:** `Allocator` shall be - constructible from `A`. - */ - template - explicit aligned_allocator_adaptor(const A& alloc) - BOOST_NOEXCEPT - : Allocator(alloc) { - } -#endif - - /** - Initializes the `Allocator` base class with the - base from other. - */ - template - aligned_allocator_adaptor(const - aligned_allocator_adaptor& other) - BOOST_NOEXCEPT - : Allocator(other.base()) { - } - - /** - @return `static_cast(*this)`. - */ - Allocator& base() - BOOST_NOEXCEPT { - return static_cast(*this); - } - - /** - @return `static_cast(*this)`. - */ - const Allocator& base() const - BOOST_NOEXCEPT { - return static_cast(*this); - } - - /** - @param size The size of the value type object to - allocate. - - @return A pointer to the initial element of an - array of storage of size `n * sizeof(value_type)`, - aligned on the maximum of the minimum alignment - specified and the alignment of objects of type - `value_type`. - - @remark **Throw:** Throws an exception thrown from - `A2::allocate` if the storage cannot be obtained. - - @remark **Note:** The storage is obtained by calling - `A2::allocate` on an object `a2`, where `a2` of - type `A2` is a rebound copy of `base()` where its - `value_type` is unspecified. - */ - pointer allocate(size_type size) { - std::size_t n1 = size * sizeof(value_type); - std::size_t n2 = n1 + MaxAlign - 1; - CharAlloc a(base()); - CharPtr p1 = a.allocate(sizeof p1 + n2); - void* p2 = detail::addressof(*p1) + sizeof p1; - (void)align(MaxAlign, n1, p2, n2); - void* p3 = static_cast(p2) - 1; - ::new(p3) CharPtr(p1); - return static_cast(p2); - } - - /** - @param hint is a value obtained by calling - `allocate()` on any equivalent aligned allocator - adaptor object, or else `nullptr`. - - @param size The size of the value type object to - allocate. - - @return A pointer to the initial element of an - array of storage of size `n * sizeof(value_type)`, - aligned on the maximum of the minimum alignment - specified and the alignment of objects of type - `value_type`. - - @remark **Throw:** Throws an exception thrown from - `A2::allocate` if the storage cannot be obtained. - - @remark **Note:** The storage is obtained by calling - `A2::allocate` on an object `a2`, where `a2` of - type `A2` is a rebound copy of `base()` where its - `value_type` is unspecified. - */ - pointer allocate(size_type size, const_void_pointer hint) { - std::size_t n1 = size * sizeof(value_type); - std::size_t n2 = n1 + MaxAlign - 1; - CharPtr h = CharPtr(); - if (hint) { - h = *(static_cast(hint) - 1); - } - CharAlloc a(base()); -#if !defined(BOOST_NO_CXX11_ALLOCATOR) - CharPtr p1 = CharTraits::allocate(a, sizeof p1 + - n2, h); -#else - CharPtr p1 = a.allocate(sizeof p1 + n2, h); -#endif - void* p2 = detail::addressof(*p1) + sizeof p1; - (void)align(MaxAlign, n1, p2, n2); - void* p3 = static_cast(p2) - 1; - ::new(p3) CharPtr(p1); - return static_cast(p2); - } - - /** - Deallocates the storage referenced by `ptr`. - - @param ptr Shall be a pointer value obtained from - `allocate()`. - - @param size Shall equal the value passed as the - first argument to the invocation of `allocate` - which returned `ptr`. - - @remark **Note:** Uses `A2::deallocate` on an object - `a2`, where `a2` of type `A2` is a rebound copy of - `base()` where its `value_type` is unspecified. - */ - void deallocate(pointer ptr, size_type size) { - CharPtr* p1 = reinterpret_cast(ptr) - 1; - CharPtr p2 = *p1; - p1->~CharPtr(); - CharAlloc a(base()); - a.deallocate(p2, size * sizeof(value_type) + - MaxAlign + sizeof p2); - } - }; - - /** - @return `a.base() == b.base()`. - */ - template - inline bool operator==(const aligned_allocator_adaptor& a, const aligned_allocator_adaptor& b) BOOST_NOEXCEPT - { - return a.base() == b.base(); - } - - /** - @return `!(a == b)`. - */ - template - inline bool operator!=(const aligned_allocator_adaptor& a, const aligned_allocator_adaptor& b) BOOST_NOEXCEPT - { - return !(a == b); - } - } -} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/align/aligned_allocator_adaptor_forward.hpp b/bundled/boost-1.56.0/include/boost/align/aligned_allocator_adaptor_forward.hpp deleted file mode 100644 index 524e0676ed..0000000000 --- a/bundled/boost-1.56.0/include/boost/align/aligned_allocator_adaptor_forward.hpp +++ /dev/null @@ -1,38 +0,0 @@ -/* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com - - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_ALIGN_ALIGNED_ALLOCATOR_ADAPTOR_FORWARD_HPP -#define BOOST_ALIGN_ALIGNED_ALLOCATOR_ADAPTOR_FORWARD_HPP - -/** - Class template aligned_allocator_adaptor - forward declaration. - - @note This header provides a forward declaration for - the `aligned_allocator_adaptor` class template. - - @file - @author Glen Fernandes -*/ - -#include - -/** - @cond -*/ -namespace boost { - namespace alignment { - template - class aligned_allocator_adaptor; - } -} -/** - @endcond -*/ - -#endif diff --git a/bundled/boost-1.56.0/include/boost/align/aligned_allocator_forward.hpp b/bundled/boost-1.56.0/include/boost/align/aligned_allocator_forward.hpp deleted file mode 100644 index 6f15423670..0000000000 --- a/bundled/boost-1.56.0/include/boost/align/aligned_allocator_forward.hpp +++ /dev/null @@ -1,38 +0,0 @@ -/* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com - - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_ALIGN_ALIGNED_ALLOCATOR_FORWARD_HPP -#define BOOST_ALIGN_ALIGNED_ALLOCATOR_FORWARD_HPP - -/** - Class template aligned_allocator - forward declaration. - - @note This header provides a forward declaration - for the `aligned_allocator` class template. - - @file - @author Glen Fernandes -*/ - -#include - -/** - @cond -*/ -namespace boost { - namespace alignment { - template - class aligned_allocator; - } -} -/** - @endcond -*/ - -#endif diff --git a/bundled/boost-1.56.0/include/boost/align/aligned_delete.hpp b/bundled/boost-1.56.0/include/boost/align/aligned_delete.hpp deleted file mode 100644 index 05ebb82f72..0000000000 --- a/bundled/boost-1.56.0/include/boost/align/aligned_delete.hpp +++ /dev/null @@ -1,56 +0,0 @@ -/* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com - - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_ALIGN_ALIGNED_DELETE_HPP -#define BOOST_ALIGN_ALIGNED_DELETE_HPP - -/** - Class aligned_delete. - - @file - @author Glen Fernandes -*/ - -#include -#include -#include - -/** - Boost namespace. -*/ -namespace boost { - /** - Alignment namespace. - */ - namespace alignment { - /** - Class aligned_delete. - */ - class aligned_delete { - public: - /** - Calls `~T()` on `ptr` to destroy the object and then - calls `aligned_free` on `ptr` to free the allocated - memory. - - @remark **Note:** If `T` is an incomplete type, the - program is ill-formed. - */ - template - void operator()(T* ptr) const - BOOST_NOEXCEPT_IF(BOOST_NOEXCEPT_EXPR(ptr->~T())) { - if (ptr) { - ptr->~T(); - alignment::aligned_free(ptr); - } - } - }; - } -} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/align/aligned_delete_forward.hpp b/bundled/boost-1.56.0/include/boost/align/aligned_delete_forward.hpp deleted file mode 100644 index efa882274a..0000000000 --- a/bundled/boost-1.56.0/include/boost/align/aligned_delete_forward.hpp +++ /dev/null @@ -1,35 +0,0 @@ -/* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com - - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_ALIGN_ALIGNED_DELETE_FORWARD_HPP -#define BOOST_ALIGN_ALIGNED_DELETE_FORWARD_HPP - -/** - Class aligned_delete - forward declaration. - - @note This header provides a forward declaration - for the `aligned_delete` class. - - @file - @author Glen Fernandes -*/ - -/** - @cond -*/ -namespace boost { - namespace alignment { - class aligned_delete; - } -} -/** - @endcond -*/ - -#endif diff --git a/bundled/boost-1.56.0/include/boost/align/alignment_of.hpp b/bundled/boost-1.56.0/include/boost/align/alignment_of.hpp deleted file mode 100644 index ebd87aab92..0000000000 --- a/bundled/boost-1.56.0/include/boost/align/alignment_of.hpp +++ /dev/null @@ -1,78 +0,0 @@ -/* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com - - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_ALIGN_ALIGNMENT_OF_HPP -#define BOOST_ALIGN_ALIGNMENT_OF_HPP - -/** - Class template alignment_of. - - @file - @author Glen Fernandes -*/ - -#include -#include -#include - -#if !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS) -#include -#elif defined(BOOST_MSVC) -#include -#elif defined(BOOST_CLANG) -#include -#elif defined(__ghs__) && (__GHS_VERSION_NUMBER >= 600) -#include -#elif defined(__CODEGEARC__) -#include -#elif defined(__GNUC__) && defined(__unix__) && !defined(__LP64__) -#include -#elif __GNUC__ > 4 -#include -#elif (__GNUC__ == 4) && (__GNUC_MINOR__ >= 3) -#include -#else -#include -#endif - -/** - Boost namespace. -*/ -namespace boost { - /** - Alignment namespace. - */ - namespace alignment { - /** - Class template alignment_of. - - @remark **Value:** `alignof(T)`. - */ - template - struct alignment_of { - /** - @enum - */ - enum { - /** - @cond - */ - value = detail::alignment_of:: - type>::type>::type>::value - /** - @endcond - */ - }; - }; - } -} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/align/alignment_of_forward.hpp b/bundled/boost-1.56.0/include/boost/align/alignment_of_forward.hpp deleted file mode 100644 index 2abd083866..0000000000 --- a/bundled/boost-1.56.0/include/boost/align/alignment_of_forward.hpp +++ /dev/null @@ -1,36 +0,0 @@ -/* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com - - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_ALIGN_ALIGNMENT_OF_FORWARD_HPP -#define BOOST_ALIGN_ALIGNMENT_OF_FORWARD_HPP - -/** - Class template alignment_of - forward declaration. - - @note This header provides a forward declaration - for the `alignment_of` class template. - - @file - @author Glen Fernandes -*/ - -/** - @cond -*/ -namespace boost { - namespace alignment { - template - struct alignment_of; - } -} -/** - @endcond -*/ - -#endif diff --git a/bundled/boost-1.56.0/include/boost/align/detail/addressof.hpp b/bundled/boost-1.56.0/include/boost/align/detail/addressof.hpp deleted file mode 100644 index 1b9402f324..0000000000 --- a/bundled/boost-1.56.0/include/boost/align/detail/addressof.hpp +++ /dev/null @@ -1,32 +0,0 @@ -/* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com - - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_ALIGN_DETAIL_ADDRESSOF_HPP -#define BOOST_ALIGN_DETAIL_ADDRESSOF_HPP - -#include - -#if !defined(BOOST_NO_CXX11_ADDRESSOF) -#include -#else -#include -#endif - -namespace boost { - namespace alignment { - namespace detail { -#if !defined(BOOST_NO_CXX11_ADDRESSOF) - using std::addressof; -#else - using boost::addressof; -#endif - } - } -} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/align/detail/align.hpp b/bundled/boost-1.56.0/include/boost/align/detail/align.hpp deleted file mode 100644 index d4d4287c58..0000000000 --- a/bundled/boost-1.56.0/include/boost/align/detail/align.hpp +++ /dev/null @@ -1,38 +0,0 @@ -/* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com - - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_ALIGN_DETAIL_ALIGN_HPP -#define BOOST_ALIGN_DETAIL_ALIGN_HPP - -#include -#include -#include -#include - -namespace boost { - namespace alignment { - inline void* align(std::size_t alignment, std::size_t size, - void*& ptr, std::size_t& space) - { - BOOST_ASSERT(detail::is_alignment(alignment)); - std::size_t n = detail::address_t(ptr) & (alignment - 1); - if (n != 0) { - n = alignment - n; - } - void* p = 0; - if (n <= space && size <= space - n) { - p = static_cast(ptr) + n; - ptr = p; - space -= n; - } - return p; - } - } -} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/align/detail/align_cxx11.hpp b/bundled/boost-1.56.0/include/boost/align/detail/align_cxx11.hpp deleted file mode 100644 index b79ea8e8cd..0000000000 --- a/bundled/boost-1.56.0/include/boost/align/detail/align_cxx11.hpp +++ /dev/null @@ -1,20 +0,0 @@ -/* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com - - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_ALIGN_DETAIL_ALIGN_CXX11_HPP -#define BOOST_ALIGN_DETAIL_ALIGN_CXX11_HPP - -#include - -namespace boost { - namespace alignment { - using std::align; - } -} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/align/detail/aligned_alloc.hpp b/bundled/boost-1.56.0/include/boost/align/detail/aligned_alloc.hpp deleted file mode 100644 index 3ed58b5d2f..0000000000 --- a/bundled/boost-1.56.0/include/boost/align/detail/aligned_alloc.hpp +++ /dev/null @@ -1,53 +0,0 @@ -/* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com - - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_HPP -#define BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_HPP - -#include -#include -#include -#include -#include -#include - -namespace boost { - namespace alignment { - inline void* aligned_alloc(std::size_t alignment, - std::size_t size) BOOST_NOEXCEPT - { - BOOST_ASSERT(detail::is_alignment(alignment)); - enum { - void_align = alignment_of::value, - }; - if (alignment < void_align) { - alignment = void_align; - } - std::size_t n = size + alignment - 1; - void* p1 = 0; - void* p2 = std::malloc(n + sizeof p1); - if (p2) { - p1 = static_cast(p2) + sizeof p1; - (void)align(alignment, size, p1, n); - *(static_cast(p1) - 1) = p2; - } - return p1; - } - - inline void aligned_free(void* ptr) - BOOST_NOEXCEPT - { - if (ptr) { - void* p = *(static_cast(ptr) - 1); - std::free(p); - } - } - } -} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/align/detail/aligned_alloc_android.hpp b/bundled/boost-1.56.0/include/boost/align/detail/aligned_alloc_android.hpp deleted file mode 100644 index bad569a9c4..0000000000 --- a/bundled/boost-1.56.0/include/boost/align/detail/aligned_alloc_android.hpp +++ /dev/null @@ -1,35 +0,0 @@ -/* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com - - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_ANDROID_HPP -#define BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_ANDROID_HPP - -#include -#include -#include -#include -#include - -namespace boost { - namespace alignment { - inline void* aligned_alloc(std::size_t alignment, - std::size_t size) BOOST_NOEXCEPT - { - BOOST_ASSERT(detail::is_alignment(alignment)); - return ::memalign(alignment, size); - } - - inline void aligned_free(void* ptr) - BOOST_NOEXCEPT - { - ::free(ptr); - } - } -} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/align/detail/aligned_alloc_macos.hpp b/bundled/boost-1.56.0/include/boost/align/detail/aligned_alloc_macos.hpp deleted file mode 100644 index 99ce60d3df..0000000000 --- a/bundled/boost-1.56.0/include/boost/align/detail/aligned_alloc_macos.hpp +++ /dev/null @@ -1,48 +0,0 @@ -/* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com - - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_MACOS_HPP -#define BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_MACOS_HPP - -#include -#include -#include -#include -#include - -namespace boost { - namespace alignment { - inline void* aligned_alloc(std::size_t alignment, - std::size_t size) BOOST_NOEXCEPT - { - BOOST_ASSERT(detail::is_alignment(alignment)); - enum { - void_size = sizeof(void*) - }; - if (!size) { - return 0; - } - if (alignment < void_size) { - alignment = void_size; - } - void* p; - if (::posix_memalign(&p, alignment, size) != 0) { - p = 0; - } - return p; - } - - inline void aligned_free(void* ptr) - BOOST_NOEXCEPT - { - ::free(ptr); - } - } -} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/align/detail/aligned_alloc_msvc.hpp b/bundled/boost-1.56.0/include/boost/align/detail/aligned_alloc_msvc.hpp deleted file mode 100644 index 93ed594f0b..0000000000 --- a/bundled/boost-1.56.0/include/boost/align/detail/aligned_alloc_msvc.hpp +++ /dev/null @@ -1,35 +0,0 @@ -/* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com - - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_MSVC_HPP -#define BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_MSVC_HPP - -#include -#include -#include -#include -#include - -namespace boost { - namespace alignment { - inline void* aligned_alloc(std::size_t alignment, - std::size_t size) BOOST_NOEXCEPT - { - BOOST_ASSERT(detail::is_alignment(alignment)); - return ::_aligned_malloc(size, alignment); - } - - inline void aligned_free(void* ptr) - BOOST_NOEXCEPT - { - ::_aligned_free(ptr); - } - } -} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/align/detail/aligned_alloc_posix.hpp b/bundled/boost-1.56.0/include/boost/align/detail/aligned_alloc_posix.hpp deleted file mode 100644 index 3663030a17..0000000000 --- a/bundled/boost-1.56.0/include/boost/align/detail/aligned_alloc_posix.hpp +++ /dev/null @@ -1,45 +0,0 @@ -/* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com - - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_POSIX_HPP -#define BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_POSIX_HPP - -#include -#include -#include -#include -#include - -namespace boost { - namespace alignment { - inline void* aligned_alloc(std::size_t alignment, - std::size_t size) BOOST_NOEXCEPT - { - BOOST_ASSERT(detail::is_alignment(alignment)); - enum { - void_size = sizeof(void*) - }; - if (alignment < void_size) { - alignment = void_size; - } - void* p; - if (::posix_memalign(&p, alignment, size) != 0) { - p = 0; - } - return p; - } - - inline void aligned_free(void* ptr) - BOOST_NOEXCEPT - { - ::free(ptr); - } - } -} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/align/detail/aligned_alloc_sunos.hpp b/bundled/boost-1.56.0/include/boost/align/detail/aligned_alloc_sunos.hpp deleted file mode 100644 index aebf1801f3..0000000000 --- a/bundled/boost-1.56.0/include/boost/align/detail/aligned_alloc_sunos.hpp +++ /dev/null @@ -1,35 +0,0 @@ -/* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com - - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_SUNOS_HPP -#define BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_SUNOS_HPP - -#include -#include -#include -#include -#include - -namespace boost { - namespace alignment { - inline void* aligned_alloc(std::size_t alignment, - std::size_t size) BOOST_NOEXCEPT - { - BOOST_ASSERT(detail::is_alignment(alignment)); - return ::memalign(alignment, size); - } - - inline void aligned_free(void* ptr) - BOOST_NOEXCEPT - { - ::free(ptr); - } - } -} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/align/detail/alignment_of.hpp b/bundled/boost-1.56.0/include/boost/align/detail/alignment_of.hpp deleted file mode 100644 index 44745adddf..0000000000 --- a/bundled/boost-1.56.0/include/boost/align/detail/alignment_of.hpp +++ /dev/null @@ -1,29 +0,0 @@ -/* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com - - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_ALIGN_DETAIL_ALIGNMENT_OF_HPP -#define BOOST_ALIGN_DETAIL_ALIGNMENT_OF_HPP - -#include -#include - -namespace boost { - namespace alignment { - namespace detail { - template - struct alignment_of { - enum { - value = detail::min_size) - sizeof(T)>::value - }; - }; - } - } -} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/align/detail/alignment_of_clang.hpp b/bundled/boost-1.56.0/include/boost/align/detail/alignment_of_clang.hpp deleted file mode 100644 index 526ff7b58c..0000000000 --- a/bundled/boost-1.56.0/include/boost/align/detail/alignment_of_clang.hpp +++ /dev/null @@ -1,25 +0,0 @@ -/* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com - - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_ALIGN_DETAIL_ALIGNMENT_OF_CLANG_HPP -#define BOOST_ALIGN_DETAIL_ALIGNMENT_OF_CLANG_HPP - -namespace boost { - namespace alignment { - namespace detail { - template - struct alignment_of { - enum { - value = __alignof(T) - }; - }; - } - } -} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/align/detail/alignment_of_codegear.hpp b/bundled/boost-1.56.0/include/boost/align/detail/alignment_of_codegear.hpp deleted file mode 100644 index 2af47e91d1..0000000000 --- a/bundled/boost-1.56.0/include/boost/align/detail/alignment_of_codegear.hpp +++ /dev/null @@ -1,25 +0,0 @@ -/* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com - - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_ALIGN_DETAIL_ALIGNMENT_OF_CODEGEAR_HPP -#define BOOST_ALIGN_DETAIL_ALIGNMENT_OF_CODEGEAR_HPP - -namespace boost { - namespace alignment { - namespace detail { - template - struct alignment_of { - enum { - value = alignof(T) - }; - }; - } - } -} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/align/detail/alignment_of_cxx11.hpp b/bundled/boost-1.56.0/include/boost/align/detail/alignment_of_cxx11.hpp deleted file mode 100644 index 16327c6f7b..0000000000 --- a/bundled/boost-1.56.0/include/boost/align/detail/alignment_of_cxx11.hpp +++ /dev/null @@ -1,22 +0,0 @@ -/* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com - - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_ALIGN_DETAIL_ALIGNMENT_OF_CXX11_HPP -#define BOOST_ALIGN_DETAIL_ALIGNMENT_OF_CXX11_HPP - -#include - -namespace boost { - namespace alignment { - namespace detail { - using std::alignment_of; - } - } -} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/align/detail/alignment_of_gcc.hpp b/bundled/boost-1.56.0/include/boost/align/detail/alignment_of_gcc.hpp deleted file mode 100644 index 426dbba5e3..0000000000 --- a/bundled/boost-1.56.0/include/boost/align/detail/alignment_of_gcc.hpp +++ /dev/null @@ -1,25 +0,0 @@ -/* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com - - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_ALIGN_DETAIL_ALIGNMENT_OF_GCC_HPP -#define BOOST_ALIGN_DETAIL_ALIGNMENT_OF_GCC_HPP - -namespace boost { - namespace alignment { - namespace detail { - template - struct alignment_of { - enum { - value = __alignof__(T) - }; - }; - } - } -} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/align/detail/alignment_of_msvc.hpp b/bundled/boost-1.56.0/include/boost/align/detail/alignment_of_msvc.hpp deleted file mode 100644 index fcf2b7dba0..0000000000 --- a/bundled/boost-1.56.0/include/boost/align/detail/alignment_of_msvc.hpp +++ /dev/null @@ -1,30 +0,0 @@ -/* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com - - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_ALIGN_DETAIL_ALIGNMENT_OF_MSVC_HPP -#define BOOST_ALIGN_DETAIL_ALIGNMENT_OF_MSVC_HPP - -#include -#include -#include - -namespace boost { - namespace alignment { - namespace detail { - template - struct alignment_of { - enum { - value = detail::min_size, object)>::value - }; - }; - } - } -} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/align/detail/is_aligned.hpp b/bundled/boost-1.56.0/include/boost/align/detail/is_aligned.hpp deleted file mode 100644 index a017e6b83a..0000000000 --- a/bundled/boost-1.56.0/include/boost/align/detail/is_aligned.hpp +++ /dev/null @@ -1,29 +0,0 @@ -/* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com - - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_ALIGN_DETAIL_IS_ALIGNED_HPP -#define BOOST_ALIGN_DETAIL_IS_ALIGNED_HPP - -#include -#include -#include -#include -#include - -namespace boost { - namespace alignment { - inline bool is_aligned(std::size_t alignment, - const void* ptr) BOOST_NOEXCEPT - { - BOOST_ASSERT(detail::is_alignment(alignment)); - return (detail::address_t(ptr) & (alignment - 1)) == 0; - } - } -} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/align/detail/is_alignment.hpp b/bundled/boost-1.56.0/include/boost/align/detail/is_alignment.hpp deleted file mode 100644 index 6e34cacb84..0000000000 --- a/bundled/boost-1.56.0/include/boost/align/detail/is_alignment.hpp +++ /dev/null @@ -1,27 +0,0 @@ -/* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com - - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_ALIGN_DETAIL_IS_ALIGNMENT_HPP -#define BOOST_ALIGN_DETAIL_IS_ALIGNMENT_HPP - -#include -#include - -namespace boost { - namespace alignment { - namespace detail { - BOOST_CONSTEXPR inline bool is_alignment(std::size_t - value) BOOST_NOEXCEPT - { - return (value > 0) && ((value & (value - 1)) == 0); - } - } - } -} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/align/detail/max_align.hpp b/bundled/boost-1.56.0/include/boost/align/detail/max_align.hpp deleted file mode 100644 index 8e64e7bb9c..0000000000 --- a/bundled/boost-1.56.0/include/boost/align/detail/max_align.hpp +++ /dev/null @@ -1,27 +0,0 @@ -/* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com - - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_ALIGN_DETAIL_MAX_ALIGN_HPP -#define BOOST_ALIGN_DETAIL_MAX_ALIGN_HPP - -#include - -namespace boost { - namespace alignment { - namespace detail { - template - struct max_align { - enum { - value = (A > B) ? A : B - }; - }; - } - } -} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/align/detail/min_size.hpp b/bundled/boost-1.56.0/include/boost/align/detail/min_size.hpp deleted file mode 100644 index 20e31fb4b4..0000000000 --- a/bundled/boost-1.56.0/include/boost/align/detail/min_size.hpp +++ /dev/null @@ -1,27 +0,0 @@ -/* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com - - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_ALIGN_DETAIL_MIN_SIZE_HPP -#define BOOST_ALIGN_DETAIL_MIN_SIZE_HPP - -#include - -namespace boost { - namespace alignment { - namespace detail { - template - struct min_size { - enum { - value = (A < B) ? A : B - }; - }; - } - } -} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/align/is_aligned.hpp b/bundled/boost-1.56.0/include/boost/align/is_aligned.hpp deleted file mode 100644 index d59bf8d9b8..0000000000 --- a/bundled/boost-1.56.0/include/boost/align/is_aligned.hpp +++ /dev/null @@ -1,53 +0,0 @@ -/* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com - - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_ALIGN_IS_ALIGNED_HPP -#define BOOST_ALIGN_IS_ALIGNED_HPP - -/** - Function is_aligned. - - @file - @author Glen Fernandes -*/ - -/** - @cond -*/ -#include -/** - @endcond -*/ - -/** - Boost namespace. -*/ -namespace boost { - /** - Alignment namespace. - */ - namespace alignment { - /** - Determines whether the space pointed to by - `ptr` has alignment specified by - `alignment`. - - @param alignment Shall be a power of two. - - @param ptr Pointer to test for alignment. - - @return `true` if and only if `ptr` points - to space that has alignment specified by - `alignment`. - */ - inline bool is_aligned(std::size_t alignment, - const void* ptr) BOOST_NOEXCEPT; - } -} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/aligned_storage.hpp b/bundled/boost-1.56.0/include/boost/aligned_storage.hpp deleted file mode 100644 index b5455f00b6..0000000000 --- a/bundled/boost-1.56.0/include/boost/aligned_storage.hpp +++ /dev/null @@ -1,143 +0,0 @@ -//----------------------------------------------------------------------------- -// boost aligned_storage.hpp header file -// See http://www.boost.org for updates, documentation, and revision history. -//----------------------------------------------------------------------------- -// -// Copyright (c) 2002-2003 -// Eric Friedman, Itay Maman -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ALIGNED_STORAGE_HPP -#define BOOST_ALIGNED_STORAGE_HPP - -#include // for std::size_t - -#include "boost/config.hpp" -#include "boost/detail/workaround.hpp" -#include "boost/type_traits/alignment_of.hpp" -#include "boost/type_traits/type_with_alignment.hpp" -#include "boost/type_traits/is_pod.hpp" - -#include "boost/mpl/eval_if.hpp" -#include "boost/mpl/identity.hpp" - -#include "boost/type_traits/detail/bool_trait_def.hpp" - -namespace boost { - -namespace detail { namespace aligned_storage { - -BOOST_STATIC_CONSTANT( - std::size_t - , alignment_of_max_align = ::boost::alignment_of::value - ); - -// -// To be TR1 conforming this must be a POD type: -// -template < - std::size_t size_ - , std::size_t alignment_ -> -struct aligned_storage_imp -{ - union data_t - { - char buf[size_]; - - typename ::boost::mpl::eval_if_c< - alignment_ == std::size_t(-1) - , ::boost::mpl::identity< ::boost::detail::max_align > - , ::boost::type_with_alignment - >::type align_; - } data_; - void* address() const { return const_cast(this); } -}; - -template< std::size_t alignment_ > -struct aligned_storage_imp<0u,alignment_> -{ - /* intentionally empty */ - void* address() const { return 0; } -}; - -}} // namespace detail::aligned_storage - -template < - std::size_t size_ - , std::size_t alignment_ = std::size_t(-1) -> -class aligned_storage : -#ifndef __BORLANDC__ - private -#else - public -#endif - ::boost::detail::aligned_storage::aligned_storage_imp -{ - -public: // constants - - typedef ::boost::detail::aligned_storage::aligned_storage_imp type; - - BOOST_STATIC_CONSTANT( - std::size_t - , size = size_ - ); - BOOST_STATIC_CONSTANT( - std::size_t - , alignment = ( - alignment_ == std::size_t(-1) - ? ::boost::detail::aligned_storage::alignment_of_max_align - : alignment_ - ) - ); - -private: // noncopyable - - aligned_storage(const aligned_storage&); - aligned_storage& operator=(const aligned_storage&); - -public: // structors - - aligned_storage() - { - } - - ~aligned_storage() - { - } - -public: // accessors - - void* address() - { - return static_cast(this)->address(); - } - - const void* address() const - { - return static_cast(this)->address(); - } -}; - -// -// Make sure that is_pod recognises aligned_storage<>::type -// as a POD (Note that aligned_storage<> itself is not a POD): -// -template -struct is_pod< ::boost::detail::aligned_storage::aligned_storage_imp > - BOOST_TT_AUX_BOOL_C_BASE(true) -{ - BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(true) -}; - - -} // namespace boost - -#include "boost/type_traits/detail/bool_trait_undef.hpp" - -#endif // BOOST_ALIGNED_STORAGE_HPP diff --git a/bundled/boost-1.56.0/include/boost/any.hpp b/bundled/boost-1.56.0/include/boost/any.hpp deleted file mode 100644 index a63fea42ad..0000000000 --- a/bundled/boost-1.56.0/include/boost/any.hpp +++ /dev/null @@ -1,332 +0,0 @@ -// See http://www.boost.org/libs/any for Documentation. - -#ifndef BOOST_ANY_INCLUDED -#define BOOST_ANY_INCLUDED - -#if defined(_MSC_VER) -# pragma once -#endif - -// what: variant type boost::any -// who: contributed by Kevlin Henney, -// with features contributed and bugs found by -// Antony Polukhin, Ed Brey, Mark Rodgers, -// Peter Dimov, and James Curran -// when: July 2001, April 2013 - May 2013 - -#include -#include - -#include "boost/config.hpp" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// See boost/python/type_id.hpp -// TODO: add BOOST_TYPEID_COMPARE_BY_NAME to config.hpp -# if defined(__GNUC__) \ - || defined(_AIX) \ - || ( defined(__sgi) && defined(__host_mips)) \ - || (defined(__hpux) && defined(__HP_aCC)) \ - || (defined(linux) && defined(__INTEL_COMPILER) && defined(__ICC)) -# define BOOST_AUX_ANY_TYPE_ID_NAME -#include -# endif - -namespace boost -{ - class any - { - public: // structors - - any() BOOST_NOEXCEPT - : content(0) - { - } - - template - any(const ValueType & value) - : content(new holder::type>(value)) - { - } - - any(const any & other) - : content(other.content ? other.content->clone() : 0) - { - } - -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - // Move constructor - any(any&& other) BOOST_NOEXCEPT - : content(other.content) - { - other.content = 0; - } - - // Perfect forwarding of ValueType - template - any(ValueType&& value - , typename boost::disable_if >::type* = 0 // disable if value has type `any&` - , typename boost::disable_if >::type* = 0) // disable if value has type `const ValueType&&` - : content(new holder< typename decay::type >(static_cast(value))) - { - } -#endif - - ~any() BOOST_NOEXCEPT - { - delete content; - } - - public: // modifiers - - any & swap(any & rhs) BOOST_NOEXCEPT - { - std::swap(content, rhs.content); - return *this; - } - - -#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES - template - any & operator=(const ValueType & rhs) - { - any(rhs).swap(*this); - return *this; - } - - any & operator=(any rhs) - { - any(rhs).swap(*this); - return *this; - } - -#else - any & operator=(const any& rhs) - { - any(rhs).swap(*this); - return *this; - } - - // move assignement - any & operator=(any&& rhs) BOOST_NOEXCEPT - { - rhs.swap(*this); - any().swap(rhs); - return *this; - } - - // Perfect forwarding of ValueType - template - any & operator=(ValueType&& rhs) - { - any(static_cast(rhs)).swap(*this); - return *this; - } -#endif - - public: // queries - - bool empty() const BOOST_NOEXCEPT - { - return !content; - } - - void clear() BOOST_NOEXCEPT - { - any().swap(*this); - } - - const std::type_info & type() const BOOST_NOEXCEPT - { - return content ? content->type() : typeid(void); - } - -#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS - private: // types -#else - public: // types (public so any_cast can be non-friend) -#endif - - class placeholder - { - public: // structors - - virtual ~placeholder() - { - } - - public: // queries - - virtual const std::type_info & type() const BOOST_NOEXCEPT = 0; - - virtual placeholder * clone() const = 0; - - }; - - template - class holder : public placeholder - { - public: // structors - - holder(const ValueType & value) - : held(value) - { - } - -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - holder(ValueType&& value) - : held(static_cast< ValueType&& >(value)) - { - } -#endif - public: // queries - - virtual const std::type_info & type() const BOOST_NOEXCEPT - { - return typeid(ValueType); - } - - virtual placeholder * clone() const - { - return new holder(held); - } - - public: // representation - - ValueType held; - - private: // intentionally left unimplemented - holder & operator=(const holder &); - }; - -#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS - - private: // representation - - template - friend ValueType * any_cast(any *) BOOST_NOEXCEPT; - - template - friend ValueType * unsafe_any_cast(any *) BOOST_NOEXCEPT; - -#else - - public: // representation (public so any_cast can be non-friend) - -#endif - - placeholder * content; - - }; - - inline void swap(any & lhs, any & rhs) BOOST_NOEXCEPT - { - lhs.swap(rhs); - } - - class BOOST_SYMBOL_VISIBLE bad_any_cast : public std::bad_cast - { - public: - virtual const char * what() const BOOST_NOEXCEPT_OR_NOTHROW - { - return "boost::bad_any_cast: " - "failed conversion using boost::any_cast"; - } - }; - - template - ValueType * any_cast(any * operand) BOOST_NOEXCEPT - { - return operand && -#ifdef BOOST_AUX_ANY_TYPE_ID_NAME - std::strcmp(operand->type().name(), typeid(ValueType).name()) == 0 -#else - operand->type() == typeid(ValueType) -#endif - ? &static_cast *>(operand->content)->held - : 0; - } - - template - inline const ValueType * any_cast(const any * operand) BOOST_NOEXCEPT - { - return any_cast(const_cast(operand)); - } - - template - ValueType any_cast(any & operand) - { - typedef BOOST_DEDUCED_TYPENAME remove_reference::type nonref; - - - nonref * result = any_cast(&operand); - if(!result) - boost::throw_exception(bad_any_cast()); - - // Attempt to avoid construction of a temporary object in cases when - // `ValueType` is not a reference. Example: - // `static_cast(*result);` - // which is equal to `std::string(*result);` - typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_< - boost::is_reference, - ValueType, - BOOST_DEDUCED_TYPENAME boost::add_reference::type - >::type ref_type; - - return static_cast(*result); - } - - template - inline ValueType any_cast(const any & operand) - { - typedef BOOST_DEDUCED_TYPENAME remove_reference::type nonref; - return any_cast(const_cast(operand)); - } - -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - template - inline ValueType any_cast(any&& operand) - { - BOOST_STATIC_ASSERT_MSG( - boost::is_rvalue_reference::value /*true if ValueType is rvalue or just a value*/ - || boost::is_const< typename boost::remove_reference::type >::value, - "boost::any_cast shall not be used for getting nonconst references to temporary objects" - ); - return any_cast(operand); - } -#endif - - - // Note: The "unsafe" versions of any_cast are not part of the - // public interface and may be removed at any time. They are - // required where we know what type is stored in the any and can't - // use typeid() comparison, e.g., when our types may travel across - // different shared libraries. - template - inline ValueType * unsafe_any_cast(any * operand) BOOST_NOEXCEPT - { - return &static_cast *>(operand->content)->held; - } - - template - inline const ValueType * unsafe_any_cast(const any * operand) BOOST_NOEXCEPT - { - return unsafe_any_cast(const_cast(operand)); - } -} - -// Copyright Kevlin Henney, 2000, 2001, 2002. All rights reserved. -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#endif diff --git a/bundled/boost-1.56.0/include/boost/archive/basic_streambuf_locale_saver.hpp b/bundled/boost-1.56.0/include/boost/archive/basic_streambuf_locale_saver.hpp deleted file mode 100644 index 6bf8f715cb..0000000000 --- a/bundled/boost-1.56.0/include/boost/archive/basic_streambuf_locale_saver.hpp +++ /dev/null @@ -1,73 +0,0 @@ -#ifndef BOOST_ARCHIVE_BASIC_STREAMBUF_LOCALE_SAVER_HPP -#define BOOST_ARCHIVE_BASIC_STREAMBUF_LOCALE_SAVER_HPP - -// MS compatible compilers support #pragma once -#if defined(_MSC_VER) -# pragma once -#endif - -/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 -// basic_streambuf_local_saver.hpp - -// (C) Copyright 2005 Robert Ramey - http://www.rrsd.com - -// Use, modification and distribution is subject to the Boost Software -// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for updates, documentation, and revision history. - -// note derived from boost/io/ios_state.hpp -// Copyright 2002, 2005 Daryle Walker. Use, modification, and distribution -// are subject to the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or a copy at .) - -// See for the library's home page. - -#ifndef BOOST_NO_STD_LOCALE - -#include // for std::locale -#include // for std::basic_streambuf - -#include -#include - -#ifdef BOOST_MSVC -# pragma warning(push) -# pragma warning(disable : 4511 4512) -#endif - -namespace boost{ -namespace archive{ - -template < typename Ch, class Tr > -class basic_streambuf_locale_saver : - private boost::noncopyable -{ -public: - typedef ::std::basic_streambuf state_type; - typedef ::std::locale aspect_type; - explicit basic_streambuf_locale_saver( state_type &s ) - : s_save_( s ), a_save_( s.getloc() ) - {} - explicit basic_streambuf_locale_saver( state_type &s, aspect_type const &a ) - : s_save_( s ), a_save_( s.pubimbue(a) ) - {} - ~basic_streambuf_locale_saver() - { this->restore(); } - void restore() - { s_save_.pubimbue( a_save_ ); } -private: - state_type & s_save_; - aspect_type const a_save_; -}; - -} // archive -} // boost - -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#endif // BOOST_NO_STD_LOCALE -#endif // BOOST_ARCHIVE_BASIC_STREAMBUF_LOCALE_SAVER_HPP diff --git a/bundled/boost-1.56.0/include/boost/archive/basic_xml_iarchive.hpp b/bundled/boost-1.56.0/include/boost/archive/basic_xml_iarchive.hpp deleted file mode 100644 index 5047fef26c..0000000000 --- a/bundled/boost-1.56.0/include/boost/archive/basic_xml_iarchive.hpp +++ /dev/null @@ -1,133 +0,0 @@ -#ifndef BOOST_ARCHIVE_BASIC_XML_IARCHIVE_HPP -#define BOOST_ARCHIVE_BASIC_XML_IARCHIVE_HPP - -// MS compatible compilers support #pragma once -#if defined(_MSC_VER) -# pragma once -#endif - -/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 -// basic_xml_iarchive.hpp - -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . -// Use, modification and distribution is subject to the Boost Software -// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for updates, documentation, and revision history. - -#include -#include -#include - -#include - -#include -#include - -#include - -#include // must be the last header - -#ifdef BOOST_MSVC -# pragma warning(push) -# pragma warning(disable : 4511 4512) -#endif - -namespace boost { -namespace archive { - -namespace detail { - template class interface_iarchive; -} // namespace detail - -///////////////////////////////////////////////////////////////////////// -// class xml_iarchive - read serialized objects from a input text stream -template -class basic_xml_iarchive : - public detail::common_iarchive -{ -#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS -public: -#else -protected: - #if BOOST_WORKAROUND(BOOST_MSVC, < 1500) - // for some inexplicable reason insertion of "class" generates compile erro - // on msvc 7.1 - friend detail::interface_iarchive; - #else - friend class detail::interface_iarchive; - #endif -#endif - unsigned int depth; - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) - load_start(const char *name); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) - load_end(const char *name); - - // Anything not an attribute and not a name-value pair is an - // should be trapped here. - template - void load_override(T & t, BOOST_PFTO int) - { - // If your program fails to compile here, its most likely due to - // not specifying an nvp wrapper around the variable to - // be serialized. - BOOST_MPL_ASSERT((serialization::is_wrapper< T >)); - this->detail_common_iarchive::load_override(t, 0); - } - - // Anything not an attribute - see below - should be a name value - // pair and be processed here - typedef detail::common_iarchive detail_common_iarchive; - template - void load_override( - #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING - const - #endif - boost::serialization::nvp< T > & t, - int - ){ - this->This()->load_start(t.name()); - this->detail_common_iarchive::load_override(t.value(), 0); - this->This()->load_end(t.name()); - } - - // specific overrides for attributes - handle as - // primitives. These are not name-value pairs - // so they have to be intercepted here and passed on to load. - // although the class_id is included in the xml text file in order - // to make the file self describing, it isn't used when loading - // an xml archive. So we can skip it here. Note: we MUST override - // it otherwise it will be loaded as a normal primitive w/o tag and - // leaving the archive in an undetermined state - void load_override(class_id_optional_type & /* t */, int){} - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) - load_override(object_id_type & t, int); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) - load_override(version_type & t, int); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) - load_override(class_id_type & t, int); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) - load_override(tracking_type & t, int); - // class_name_type can't be handled here as it depends upon the - // char type used by the stream. So require the derived implementation - // handle this. - // void load_override(class_name_type & t, int); - - BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) - basic_xml_iarchive(unsigned int flags); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) - ~basic_xml_iarchive(); -}; - -} // namespace archive -} // namespace boost - -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#include // pops abi_suffix.hpp pragmas - -#endif // BOOST_ARCHIVE_BASIC_XML_IARCHIVE_HPP diff --git a/bundled/boost-1.56.0/include/boost/archive/basic_xml_oarchive.hpp b/bundled/boost-1.56.0/include/boost/archive/basic_xml_oarchive.hpp deleted file mode 100644 index c986833c27..0000000000 --- a/bundled/boost-1.56.0/include/boost/archive/basic_xml_oarchive.hpp +++ /dev/null @@ -1,150 +0,0 @@ -#ifndef BOOST_ARCHIVE_BASIC_XML_OARCHIVE_HPP -#define BOOST_ARCHIVE_BASIC_XML_OARCHIVE_HPP - -// MS compatible compilers support #pragma once -#if defined(_MSC_VER) -# pragma once -#endif - -/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 -// basic_xml_oarchive.hpp - -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . -// Use, modification and distribution is subject to the Boost Software -// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for updates, documentation, and revision history. - -#include - -#include - -#include -#include -#include - -#include - -#include // must be the last header - -#ifdef BOOST_MSVC -# pragma warning(push) -# pragma warning(disable : 4511 4512) -#endif - -namespace boost { -namespace archive { - -namespace detail { - template class interface_oarchive; -} // namespace detail - -////////////////////////////////////////////////////////////////////// -// class basic_xml_oarchive - write serialized objects to a xml output stream -template -class basic_xml_oarchive : - public detail::common_oarchive -{ -#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS -public: -#else -protected: -#endif -#if BOOST_WORKAROUND(BOOST_MSVC, < 1500) - // for some inexplicable reason insertion of "class" generates compile erro - // on msvc 7.1 - friend detail::interface_oarchive; -#else - friend class detail::interface_oarchive; -#endif - friend class save_access; - // special stuff for xml output - unsigned int depth; - bool indent_next; - bool pending_preamble; - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) - indent(); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) - init(); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) - write_attribute( - const char *attribute_name, - int t, - const char *conjunction = "=\"" - ); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) - write_attribute( - const char *attribute_name, - const char *key - ); - // helpers used below - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) - save_start(const char *name); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) - save_end(const char *name); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) - end_preamble(); - - // Anything not an attribute and not a name-value pair is an - // error and should be trapped here. - template - void save_override(T & t, BOOST_PFTO int) - { - // If your program fails to compile here, its most likely due to - // not specifying an nvp wrapper around the variable to - // be serialized. - BOOST_MPL_ASSERT((serialization::is_wrapper< T >)); - this->detail_common_oarchive::save_override(t, 0); - } - - // special treatment for name-value pairs. - typedef detail::common_oarchive detail_common_oarchive; - template - void save_override( - #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING - const - #endif - ::boost::serialization::nvp< T > & t, - int - ){ - this->This()->save_start(t.name()); - this->detail_common_oarchive::save_override(t.const_value(), 0); - this->This()->save_end(t.name()); - } - - // specific overrides for attributes - not name value pairs so we - // want to trap them before the above "fall through" - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) - save_override(const object_id_type & t, int); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) - save_override(const object_reference_type & t, int); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) - save_override(const version_type & t, int); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) - save_override(const class_id_type & t, int); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) - save_override(const class_id_optional_type & t, int); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) - save_override(const class_id_reference_type & t, int); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) - save_override(const class_name_type & t, int); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) - save_override(const tracking_type & t, int); - - BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) - basic_xml_oarchive(unsigned int flags); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) - ~basic_xml_oarchive(); -}; - -} // namespace archive -} // namespace boost - -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#include // pops abi_suffix.hpp pragmas - -#endif // BOOST_ARCHIVE_BASIC_XML_OARCHIVE_HPP diff --git a/bundled/boost-1.56.0/include/boost/archive/detail/basic_iarchive.hpp b/bundled/boost-1.56.0/include/boost/archive/detail/basic_iarchive.hpp deleted file mode 100644 index fdafbbf841..0000000000 --- a/bundled/boost-1.56.0/include/boost/archive/detail/basic_iarchive.hpp +++ /dev/null @@ -1,105 +0,0 @@ -#ifndef BOOST_ARCHIVE_DETAIL_BASIC_IARCHIVE_HPP -#define BOOST_ARCHIVE_DETAIL_BASIC_IARCHIVE_HPP - -// MS compatible compilers support #pragma once -#if defined(_MSC_VER) -# pragma once -#endif - -/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 -// basic_iarchive.hpp: - -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . -// Use, modification and distribution is subject to the Boost Software -// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for updates, documentation, and revision history. - -// can't use this - much as I'd like to as borland doesn't support it -// #include - -#include -#include - -#include -#include -#include -#include -#include // must be the last header - -namespace boost { -namespace serialization { - class extended_type_info; -} // namespace serialization - -namespace archive { -namespace detail { - -class basic_iarchive_impl; -class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_iserializer; -class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_iserializer; -////////////////////////////////////////////////////////////////////// -// class basic_iarchive - read serialized objects from a input stream -class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_iarchive : - private boost::noncopyable, - public boost::archive::detail::helper_collection -{ - friend class basic_iarchive_impl; - // hide implementation of this class to minimize header conclusion - // in client code. I couldn't used scoped pointer with borland - // boost::scoped_ptr pimpl; - basic_iarchive_impl * pimpl; - - virtual void vload(version_type &t) = 0; - virtual void vload(object_id_type &t) = 0; - virtual void vload(class_id_type &t) = 0; - virtual void vload(class_id_optional_type &t) = 0; - virtual void vload(class_name_type &t) = 0; - virtual void vload(tracking_type &t) = 0; -protected: - basic_iarchive(unsigned int flags); - // account for bogus gcc warning - #if defined(__GNUC__) - virtual - #endif - ~basic_iarchive(); -public: - // note: NOT part of the public API. - void next_object_pointer(void *t); - void register_basic_serializer( - const basic_iserializer & bis - ); - void load_object( - void *t, - const basic_iserializer & bis - ); - const basic_pointer_iserializer * - load_pointer( - void * & t, - const basic_pointer_iserializer * bpis_ptr, - const basic_pointer_iserializer * (*finder)( - const boost::serialization::extended_type_info & eti - ) - - ); - // real public API starts here - void - set_library_version(library_version_type archive_library_version); - library_version_type - get_library_version() const; - unsigned int - get_flags() const; - void - reset_object_address(const void * new_address, const void * old_address); - void - delete_created_pointers(); -}; - -} // namespace detail -} // namespace archive -} // namespace boost - -#include // pops abi_suffix.hpp pragmas - -#endif //BOOST_ARCHIVE_DETAIL_BASIC_IARCHIVE_HPP diff --git a/bundled/boost-1.56.0/include/boost/archive/detail/decl.hpp b/bundled/boost-1.56.0/include/boost/archive/detail/decl.hpp deleted file mode 100644 index 44e22be96b..0000000000 --- a/bundled/boost-1.56.0/include/boost/archive/detail/decl.hpp +++ /dev/null @@ -1,79 +0,0 @@ -#ifndef BOOST_ARCHIVE_DETAIL_DECL_HPP -#define BOOST_ARCHIVE_DETAIL_DECL_HPP - -// MS compatible compilers support #pragma once -#if defined(_MSC_VER) -# pragma once -#endif - -/////////1/////////2///////// 3/////////4/////////5/////////6/////////7/////////8 -// decl.hpp -// -// (c) Copyright Robert Ramey 2004 -// Use, modification, and distribution is subject to the Boost Software -// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See library home page at http://www.boost.org/libs/serialization - -//----------------------------------------------------------------------------// - -// This header implements separate compilation features as described in -// http://www.boost.org/more/separate_compilation.html - -#include -#include - -#if defined(BOOST_HAS_DECLSPEC) - #if (defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SERIALIZATION_DYN_LINK)) - #if defined(BOOST_ARCHIVE_SOURCE) - #if defined(__BORLANDC__) - #define BOOST_ARCHIVE_DECL(T) T __export - #define BOOST_ARCHIVE_OR_WARCHIVE_DECL(T) T __export - #else - #define BOOST_ARCHIVE_DECL(T) __declspec(dllexport) T - #define BOOST_ARCHIVE_OR_WARCHIVE_DECL(T) __declspec(dllexport) T - #endif - #else - #if defined(__BORLANDC__) - #define BOOST_ARCHIVE_DECL(T) T __import - #else - #define BOOST_ARCHIVE_DECL(T) __declspec(dllimport) T - #endif - #endif - #if defined(BOOST_WARCHIVE_SOURCE) - #if defined(__BORLANDC__) - #define BOOST_WARCHIVE_DECL(T) T __export - #define BOOST_ARCHIVE_OR_WARCHIVE_DECL(T) T __export - #else - #define BOOST_WARCHIVE_DECL(T) __declspec(dllexport) T - #define BOOST_ARCHIVE_OR_WARCHIVE_DECL(T) __declspec(dllexport) T - #endif - #else - #if defined(__BORLANDC__) - #define BOOST_WARCHIVE_DECL(T) T __import - #else - #define BOOST_WARCHIVE_DECL(T) __declspec(dllimport) T - #endif - #endif - #if !defined(BOOST_WARCHIVE_SOURCE) && !defined(BOOST_ARCHIVE_SOURCE) - #if defined(__BORLANDC__) - #define BOOST_ARCHIVE_OR_WARCHIVE_DECL(T) T __import - #else - #define BOOST_ARCHIVE_OR_WARCHIVE_DECL(T) __declspec(dllimport) T - #endif - #endif - #endif -#endif // BOOST_HAS_DECLSPEC - -#if ! defined(BOOST_ARCHIVE_DECL) - #define BOOST_ARCHIVE_DECL(T) T -#endif -#if ! defined(BOOST_WARCHIVE_DECL) - #define BOOST_WARCHIVE_DECL(T) T -#endif -#if ! defined(BOOST_ARCHIVE_OR_WARCHIVE_DECL) - #define BOOST_ARCHIVE_OR_WARCHIVE_DECL(T) T -#endif - -#endif // BOOST_ARCHIVE_DETAIL_DECL_HPP diff --git a/bundled/boost-1.56.0/include/boost/archive/detail/helper_collection.hpp b/bundled/boost-1.56.0/include/boost/archive/detail/helper_collection.hpp deleted file mode 100644 index ba3c60cd16..0000000000 --- a/bundled/boost-1.56.0/include/boost/archive/detail/helper_collection.hpp +++ /dev/null @@ -1,111 +0,0 @@ -#ifndef BOOST_ARCHIVE_DETAIL_HELPER_COLLECTION_HPP -#define BOOST_ARCHIVE_DETAIL_HELPER_COLLECTION_HPP - -// MS compatible compilers support #pragma once -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 -// helper_collection.hpp: archive support for run-time helpers - -// (C) Copyright 2002-2008 Robert Ramey and Joaquin M Lopez Munoz -// Use, modification and distribution is subject to the Boost Software -// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for updates, documentation, and revision history. - -#include // NULL -#include -#include -#include -#include -#include - -#include - -#ifdef BOOST_NO_CXX11_SMART_PTR - #include - #include -#endif - -namespace boost { - -namespace archive { -namespace detail { - -class helper_collection -{ - helper_collection(const helper_collection&); // non-copyable - helper_collection& operator = (const helper_collection&); // non-copyable - - // note: we dont' actually "share" the function object pointer - // we only use shared_ptr to make sure that it get's deleted - - #ifndef BOOST_NO_CXX11_SMART_PTR - typedef std::pair< - const std::type_info *, - std::shared_ptr - > helper_value_type; - template - std::shared_ptr make_helper_ptr(){ - return std::make_shared(); - } - #else - typedef std::pair< - const std::type_info *, - boost::shared_ptr - > helper_value_type; - template - boost::shared_ptr make_helper_ptr(){ - return boost::make_shared(); - } - #endif - typedef std::vector collection; - collection m_collection; - - struct predicate { - const std::type_info * m_ti; - bool operator()(helper_value_type const &rhs) const { - return *m_ti == *rhs.first; - } - predicate(const std::type_info * ti) : - m_ti(ti) - {} - }; -protected: - helper_collection(){} - ~helper_collection(){} -public: - template - Helper& get_helper(Helper * = NULL) { - - const std::type_info * eti = & typeid(Helper); - - collection::const_iterator it = - std::find_if( - m_collection.begin(), - m_collection.end(), - predicate(eti) - ); - - void * rval; - if(it == m_collection.end()){ - m_collection.push_back( - std::make_pair(eti, make_helper_ptr()) - ); - rval = m_collection.back().second.get(); - } - else{ - rval = it->second.get(); - } - return *static_cast(rval); - } -}; - -} // namespace detail -} // namespace serialization -} // namespace boost - -#endif // BOOST_ARCHIVE_DETAIL_HELPER_COLLECTION_HPP diff --git a/bundled/boost-1.56.0/include/boost/archive/detail/utf8_codecvt_facet.hpp b/bundled/boost-1.56.0/include/boost/archive/detail/utf8_codecvt_facet.hpp deleted file mode 100644 index b2430d5a43..0000000000 --- a/bundled/boost-1.56.0/include/boost/archive/detail/utf8_codecvt_facet.hpp +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright (c) 2001 Ronald Garcia, Indiana University (garcia@osl.iu.edu) -// Andrew Lumsdaine, Indiana University (lums@osl.iu.edu). -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ARCHIVE_DETAIL_UTF8_CODECVT_FACET_HPP -#define BOOST_ARCHIVE_DETAIL_UTF8_CODECVT_FACET_HPP - -#ifdef BOOST_NO_CXX11_HDR_CODECVT - #define BOOST_UTF8_BEGIN_NAMESPACE \ - namespace boost { namespace archive { namespace detail { - #define BOOST_UTF8_DECL - #define BOOST_UTF8_END_NAMESPACE }}} - - #include - - #undef BOOST_UTF8_END_NAMESPACE - #undef BOOST_UTF8_DECL - #undef BOOST_UTF8_BEGIN_NAMESPACE -#endif // BOOST_NO_CXX11_HDR_CODECVT -#endif // BOOST_ARCHIVE_DETAIL_UTF8_CODECVT_FACET_HPP - diff --git a/bundled/boost-1.56.0/include/boost/archive/impl/basic_binary_iprimitive.ipp b/bundled/boost-1.56.0/include/boost/archive/impl/basic_binary_iprimitive.ipp deleted file mode 100644 index 9e2340eb2d..0000000000 --- a/bundled/boost-1.56.0/include/boost/archive/impl/basic_binary_iprimitive.ipp +++ /dev/null @@ -1,210 +0,0 @@ -/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 -// basic_binary_iprimitive.ipp: - -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . -// Use, modification and distribution is subject to the Boost Software -// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for updates, documentation, and revision history. - -#include -#include // size_t, NULL -#include // memcpy - -#include -#if defined(BOOST_NO_STDC_NAMESPACE) -namespace std{ - using ::size_t; - using ::memcpy; -} // namespace std -#endif - -#include // fixup for RogueWave - -#include -#include - -#include -#include -#include -#include - -namespace boost { -namespace archive { - -////////////////////////////////////////////////////////////////////// -// implementation of basic_binary_iprimitive - -template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) -basic_binary_iprimitive::init() -{ - // Detect attempts to pass native binary archives across - // incompatible platforms. This is not fool proof but its - // better than nothing. - unsigned char size; - this->This()->load(size); - if(sizeof(int) != size) - boost::serialization::throw_exception( - archive_exception( - archive_exception::incompatible_native_format, - "size of int" - ) - ); - this->This()->load(size); - if(sizeof(long) != size) - boost::serialization::throw_exception( - archive_exception( - archive_exception::incompatible_native_format, - "size of long" - ) - ); - this->This()->load(size); - if(sizeof(float) != size) - boost::serialization::throw_exception( - archive_exception( - archive_exception::incompatible_native_format, - "size of float" - ) - ); - this->This()->load(size); - if(sizeof(double) != size) - boost::serialization::throw_exception( - archive_exception( - archive_exception::incompatible_native_format, - "size of double" - ) - ); - - // for checking endian - int i; - this->This()->load(i); - if(1 != i) - boost::serialization::throw_exception( - archive_exception( - archive_exception::incompatible_native_format, - "endian setting" - ) - ); -} - -template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) -basic_binary_iprimitive::load(wchar_t * ws) -{ - std::size_t l; // number of wchar_t !!! - this->This()->load(l); - load_binary(ws, l * sizeof(wchar_t) / sizeof(char)); - ws[l] = L'\0'; -} - -template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) -basic_binary_iprimitive::load(std::string & s) -{ - std::size_t l; - this->This()->load(l); - // borland de-allocator fixup - #if BOOST_WORKAROUND(_RWSTD_VER, BOOST_TESTED_AT(20101)) - if(NULL != s.data()) - #endif - s.resize(l); - // note breaking a rule here - could be a problem on some platform - if(0 < l) - load_binary(&(*s.begin()), l); -} - -#ifndef BOOST_NO_CWCHAR -template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) -basic_binary_iprimitive::load(char * s) -{ - std::size_t l; - this->This()->load(l); - load_binary(s, l); - s[l] = '\0'; -} -#endif - -#ifndef BOOST_NO_STD_WSTRING -template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) -basic_binary_iprimitive::load(std::wstring & ws) -{ - std::size_t l; - this->This()->load(l); - // borland de-allocator fixup - #if BOOST_WORKAROUND(_RWSTD_VER, BOOST_TESTED_AT(20101)) - if(NULL != ws.data()) - #endif - ws.resize(l); - // note breaking a rule here - is could be a problem on some platform - load_binary(const_cast(ws.data()), l * sizeof(wchar_t) / sizeof(char)); -} -#endif - -template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) -basic_binary_iprimitive::basic_binary_iprimitive( - std::basic_streambuf & sb, - bool no_codecvt -) : -#ifndef BOOST_NO_STD_LOCALE - m_sb(sb), - archive_locale(NULL), - locale_saver(m_sb) -{ - if(! no_codecvt){ - archive_locale.reset( - boost::archive::add_facet( - std::locale::classic(), - new codecvt_null - ) - ); - m_sb.pubimbue(* archive_locale); - } -} -#else - m_sb(sb) -{} -#endif - -// some libraries including stl and libcomo fail if the -// buffer isn't flushed before the code_cvt facet is changed. -// I think this is a bug. We explicity invoke sync to when -// we're done with the streambuf to work around this problem. -// Note that sync is a protected member of stream buff so we -// have to invoke it through a contrived derived class. -namespace detail { -// note: use "using" to get past msvc bug -using namespace std; -template -class input_streambuf_access : public std::basic_streambuf { - public: - virtual int sync(){ -#if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3206)) - return this->basic_streambuf::sync(); -#else - return this->basic_streambuf::sync(); -#endif - } -}; -} // detail - -// scoped_ptr requires that archive_locale be a complete type at time of -// destruction so define destructor here rather than in the header -template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) -basic_binary_iprimitive::~basic_binary_iprimitive(){ - // push back unread characters - //destructor can't throw ! - try{ - static_cast &>(m_sb).sync(); - } - catch(...){ - } -} - -} // namespace archive -} // namespace boost diff --git a/bundled/boost-1.56.0/include/boost/archive/impl/basic_binary_oprimitive.ipp b/bundled/boost-1.56.0/include/boost/archive/impl/basic_binary_oprimitive.ipp deleted file mode 100644 index 509decb4e6..0000000000 --- a/bundled/boost-1.56.0/include/boost/archive/impl/basic_binary_oprimitive.ipp +++ /dev/null @@ -1,161 +0,0 @@ -/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 -// basic_binary_oprimitive.ipp: - -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . -// Use, modification and distribution is subject to the Boost Software -// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for updates, documentation, and revision history. - -#include -#include // NULL -#include - -#include - -#if defined(BOOST_NO_STDC_NAMESPACE) && ! defined(__LIBCOMO__) -namespace std{ - using ::strlen; -} // namespace std -#endif - -#ifndef BOOST_NO_CWCHAR -#include -#ifdef BOOST_NO_STDC_NAMESPACE -namespace std{ using ::wcslen; } -#endif -#endif - -#include - -#include -#include -#include - -namespace boost { -namespace archive { - -////////////////////////////////////////////////////////////////////// -// implementation of basic_binary_oprimitive - -template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) -basic_binary_oprimitive::init() -{ - // record native sizes of fundamental types - // this is to permit detection of attempts to pass - // native binary archives accross incompatible machines. - // This is not foolproof but its better than nothing. - this->This()->save(static_cast(sizeof(int))); - this->This()->save(static_cast(sizeof(long))); - this->This()->save(static_cast(sizeof(float))); - this->This()->save(static_cast(sizeof(double))); - // for checking endianness - this->This()->save(int(1)); -} - -template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) -basic_binary_oprimitive::save(const char * s) -{ - std::size_t l = std::strlen(s); - this->This()->save(l); - save_binary(s, l); -} - -template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) -basic_binary_oprimitive::save(const std::string &s) -{ - std::size_t l = static_cast(s.size()); - this->This()->save(l); - save_binary(s.data(), l); -} - -#ifndef BOOST_NO_CWCHAR -template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) -basic_binary_oprimitive::save(const wchar_t * ws) -{ - std::size_t l = std::wcslen(ws); - this->This()->save(l); - save_binary(ws, l * sizeof(wchar_t) / sizeof(char)); -} -#endif - -#ifndef BOOST_NO_STD_WSTRING -template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) -basic_binary_oprimitive::save(const std::wstring &ws) -{ - std::size_t l = ws.size(); - this->This()->save(l); - save_binary(ws.data(), l * sizeof(wchar_t) / sizeof(char)); -} -#endif - -template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) -basic_binary_oprimitive::basic_binary_oprimitive( - std::basic_streambuf & sb, - bool no_codecvt -) : -#ifndef BOOST_NO_STD_LOCALE - m_sb(sb), - archive_locale(NULL), - locale_saver(m_sb) -{ - if(! no_codecvt){ - archive_locale.reset( - add_facet( - std::locale::classic(), - new codecvt_null - ) - ); - m_sb.pubimbue(* archive_locale); - } -} -#else - m_sb(sb) -{} -#endif - -// some libraries including stl and libcomo fail if the -// buffer isn't flushed before the code_cvt facet is changed. -// I think this is a bug. We explicity invoke sync to when -// we're done with the streambuf to work around this problem. -// Note that sync is a protected member of stream buff so we -// have to invoke it through a contrived derived class. -namespace detail { -// note: use "using" to get past msvc bug -using namespace std; -template -class output_streambuf_access : public std::basic_streambuf { - public: - virtual int sync(){ -#if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3206)) - return this->basic_streambuf::sync(); -#else - return this->basic_streambuf::sync(); -#endif - } -}; -} // detail - -// scoped_ptr requires that g be a complete type at time of -// destruction so define destructor here rather than in the header -template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) -basic_binary_oprimitive::~basic_binary_oprimitive(){ - // flush buffer - //destructor can't throw - try{ - static_cast &>(m_sb).sync(); - } - catch(...){ - } -} - -} // namespace archive -} // namespace boost diff --git a/bundled/boost-1.56.0/include/boost/archive/impl/basic_text_oprimitive.ipp b/bundled/boost-1.56.0/include/boost/archive/impl/basic_text_oprimitive.ipp deleted file mode 100644 index 33ab4a8b65..0000000000 --- a/bundled/boost-1.56.0/include/boost/archive/impl/basic_text_oprimitive.ipp +++ /dev/null @@ -1,115 +0,0 @@ -/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 -// basic_text_oprimitive.ipp: - -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . -// Use, modification and distribution is subject to the Boost Software -// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for updates, documentation, and revision history. - -#include // NULL -#include // std::copy -#include - -#include -#include -#include - -#include -#include -#include -#include - -namespace boost { -namespace archive { - -// translate to base64 and copy in to buffer. -template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) -basic_text_oprimitive::save_binary( - const void *address, - std::size_t count -){ - typedef typename OStream::char_type CharType; - - if(0 == count) - return; - - if(os.fail()) - boost::serialization::throw_exception( - archive_exception(archive_exception::output_stream_error) - ); - - os.put('\n'); - - typedef - boost::archive::iterators::insert_linebreaks< - boost::archive::iterators::base64_from_binary< - boost::archive::iterators::transform_width< - const char *, - 6, - 8 - > - > - ,76 - ,const char // cwpro8 needs this - > - base64_text; - - boost::archive::iterators::ostream_iterator oi(os); - std::copy( - base64_text(BOOST_MAKE_PFTO_WRAPPER(static_cast(address))), - base64_text( - BOOST_MAKE_PFTO_WRAPPER(static_cast(address) + count) - ), - oi - ); - - std::size_t tail = count % 3; - if(tail > 0){ - *oi++ = '='; - if(tail < 2) - *oi = '='; - } -} - -template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) -basic_text_oprimitive::basic_text_oprimitive( - OStream & os_, - bool no_codecvt -) : -#ifndef BOOST_NO_STD_LOCALE - os(os_), - flags_saver(os_), - precision_saver(os_), - archive_locale(NULL), - locale_saver(* os_.rdbuf()) -{ - if(! no_codecvt){ - archive_locale.reset( - add_facet( - std::locale::classic(), - new codecvt_null - ) - ); - os.imbue(* archive_locale); - } - os << std::noboolalpha; -} -#else - os(os_), - flags_saver(os_), - precision_saver(os_) -{} -#endif - -template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) -basic_text_oprimitive::~basic_text_oprimitive(){ - os << std::endl; -} - -} //namespace boost -} //namespace archive diff --git a/bundled/boost-1.56.0/include/boost/archive/impl/xml_iarchive_impl.ipp b/bundled/boost-1.56.0/include/boost/archive/impl/xml_iarchive_impl.ipp deleted file mode 100644 index dc62eed331..0000000000 --- a/bundled/boost-1.56.0/include/boost/archive/impl/xml_iarchive_impl.ipp +++ /dev/null @@ -1,204 +0,0 @@ -/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 -// xml_iarchive_impl.cpp: - -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for updates, documentation, and revision history. - -#include -#include // memcpy -#include // NULL -#if defined(BOOST_NO_STDC_NAMESPACE) -namespace std{ - using ::memcpy; -} // namespace std -#endif - -#ifndef BOOST_NO_CWCHAR -#include // mbtowc -#if defined(BOOST_NO_STDC_NAMESPACE) -namespace std{ - using ::mbtowc; - } // namespace std -#endif -#endif // BOOST_NO_CWCHAR - -#include // RogueWave and Dinkumware -#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1) -#include -#endif - -#include - -#include -#include -#include -#include - -#include "basic_xml_grammar.hpp" - -namespace boost { -namespace archive { - -/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 -// implemenations of functions specific to char archives - -// wide char stuff used by char archives - -#ifndef BOOST_NO_CWCHAR -#ifndef BOOST_NO_STD_WSTRING -template -BOOST_ARCHIVE_DECL(void) -xml_iarchive_impl::load(std::wstring &ws){ - std::string s; - bool result = gimpl->parse_string(is, s); - if(! result) - boost::serialization::throw_exception( - xml_archive_exception(xml_archive_exception::xml_archive_parsing_error) - ); - - #if BOOST_WORKAROUND(_RWSTD_VER, BOOST_TESTED_AT(20101)) - if(NULL != ws.data()) - #endif - ws.resize(0); - const char * start = s.data(); - const char * end = start + s.size(); - while(start < end){ - wchar_t wc; - int resultx = std::mbtowc(&wc, start, end - start); - if(0 < resultx){ - start += resultx; - ws += wc; - continue; - } - boost::serialization::throw_exception( - iterators::dataflow_exception( - iterators::dataflow_exception::invalid_conversion - ) - ); - } -} -#endif // BOOST_NO_STD_WSTRING - -#ifndef BOOST_NO_INTRINSIC_WCHAR_T -template -BOOST_ARCHIVE_DECL(void) -xml_iarchive_impl::load(wchar_t * ws){ - std::string s; - bool result = gimpl->parse_string(is, s); - if(! result) - boost::serialization::throw_exception( - xml_archive_exception(xml_archive_exception::xml_archive_parsing_error) - ); - - const char * start = s.data(); - const char * end = start + s.size(); - while(start < end){ - wchar_t wc; - int length = std::mbtowc(&wc, start, end - start); - if(0 < length){ - start += length; - *ws++ = wc; - continue; - } - boost::serialization::throw_exception( - iterators::dataflow_exception( - iterators::dataflow_exception::invalid_conversion - ) - ); - } - *ws = L'\0'; -} -#endif // BOOST_NO_INTRINSIC_WCHAR_T - -#endif // BOOST_NO_CWCHAR - -template -BOOST_ARCHIVE_DECL(void) -xml_iarchive_impl::load(std::string &s){ - bool result = gimpl->parse_string(is, s); - if(! result) - boost::serialization::throw_exception( - xml_archive_exception(xml_archive_exception::xml_archive_parsing_error) - ); -} - -template -BOOST_ARCHIVE_DECL(void) -xml_iarchive_impl::load(char * s){ - std::string tstring; - bool result = gimpl->parse_string(is, tstring); - if(! result) - boost::serialization::throw_exception( - xml_archive_exception(xml_archive_exception::xml_archive_parsing_error) - ); - std::memcpy(s, tstring.data(), tstring.size()); - s[tstring.size()] = 0; -} - -template -BOOST_ARCHIVE_DECL(void) -xml_iarchive_impl::load_override(class_name_type & t, int){ - const std::string & s = gimpl->rv.class_name; - if(s.size() > BOOST_SERIALIZATION_MAX_KEY_SIZE - 1) - boost::serialization::throw_exception( - archive_exception(archive_exception::invalid_class_name) - ); - char * tptr = t; - std::memcpy(tptr, s.data(), s.size()); - tptr[s.size()] = '\0'; -} - -template -BOOST_ARCHIVE_DECL(void) -xml_iarchive_impl::init(){ - gimpl->init(is); - this->set_library_version( - library_version_type(gimpl->rv.version) - ); -} - -template -BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) -xml_iarchive_impl::xml_iarchive_impl( - std::istream &is_, - unsigned int flags -) : - basic_text_iprimitive( - is_, - 0 != (flags & no_codecvt) - ), - basic_xml_iarchive(flags), - gimpl(new xml_grammar()) -{ - if(0 == (flags & no_header)){ - BOOST_TRY{ - init(); - } - BOOST_CATCH(...){ - delete gimpl; - #ifndef BOOST_NO_EXCEPTIONS - throw; // re-throw - #endif - } - BOOST_CATCH_END - } -} - -template -BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) -xml_iarchive_impl::~xml_iarchive_impl(){ - if(0 == (this->get_flags() & no_header)){ - BOOST_TRY{ - gimpl->windup(is); - } - BOOST_CATCH(...){} - BOOST_CATCH_END - } - delete gimpl; -} -} // namespace archive -} // namespace boost diff --git a/bundled/boost-1.56.0/include/boost/archive/impl/xml_wiarchive_impl.ipp b/bundled/boost-1.56.0/include/boost/archive/impl/xml_wiarchive_impl.ipp deleted file mode 100644 index a4665ad4ce..0000000000 --- a/bundled/boost-1.56.0/include/boost/archive/impl/xml_wiarchive_impl.ipp +++ /dev/null @@ -1,211 +0,0 @@ -/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 -// xml_wiarchive_impl.ipp: - -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for updates, documentation, and revision history. - -#include -#if defined(BOOST_NO_STDC_NAMESPACE) -namespace std{ - using ::memcpy; -} //std -#endif - -#include // msvc 6.0 needs this to suppress warnings -#ifndef BOOST_NO_STD_WSTREAMBUF - -#include -#include // std::copy - -#include // Dinkumware and RogueWave -#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1) -#include -#endif - -#include -#include -#include - -#include -#include -#ifndef BOOST_NO_CXX11_HDR_CODECVT - #include - namespace boost { namespace archive { namespace detail { - typedef std::codecvt_utf8 utf8_codecvt_facet; - } } } -#else - #include -#endif - -#include -#include - -#include -#include - -#include "basic_xml_grammar.hpp" - -namespace boost { -namespace archive { - -/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 -// implemenations of functions specific to wide char archives - -namespace { // anonymous - -void copy_to_ptr(char * s, const std::wstring & ws){ - std::copy( - iterators::mb_from_wchar( - BOOST_MAKE_PFTO_WRAPPER(ws.begin()) - ), - iterators::mb_from_wchar( - BOOST_MAKE_PFTO_WRAPPER(ws.end()) - ), - s - ); - s[ws.size()] = 0; -} - -} // anonymous - -template -BOOST_WARCHIVE_DECL(void) -xml_wiarchive_impl::load(std::string & s){ - std::wstring ws; - bool result = gimpl->parse_string(is, ws); - if(! result) - boost::serialization::throw_exception( - xml_archive_exception(xml_archive_exception::xml_archive_parsing_error) - ); - #if BOOST_WORKAROUND(_RWSTD_VER, BOOST_TESTED_AT(20101)) - if(NULL != s.data()) - #endif - s.resize(0); - s.reserve(ws.size()); - std::copy( - iterators::mb_from_wchar( - BOOST_MAKE_PFTO_WRAPPER(ws.begin()) - ), - iterators::mb_from_wchar( - BOOST_MAKE_PFTO_WRAPPER(ws.end()) - ), - std::back_inserter(s) - ); -} - -#ifndef BOOST_NO_STD_WSTRING -template -BOOST_WARCHIVE_DECL(void) -xml_wiarchive_impl::load(std::wstring & ws){ - bool result = gimpl->parse_string(is, ws); - if(! result) - boost::serialization::throw_exception( - xml_archive_exception(xml_archive_exception::xml_archive_parsing_error) - ); -} -#endif - -template -BOOST_WARCHIVE_DECL(void) -xml_wiarchive_impl::load(char * s){ - std::wstring ws; - bool result = gimpl->parse_string(is, ws); - if(! result) - boost::serialization::throw_exception( - xml_archive_exception(xml_archive_exception::xml_archive_parsing_error) - ); - copy_to_ptr(s, ws); -} - -#ifndef BOOST_NO_INTRINSIC_WCHAR_T -template -BOOST_WARCHIVE_DECL(void) -xml_wiarchive_impl::load(wchar_t * ws){ - std::wstring twstring; - bool result = gimpl->parse_string(is, twstring); - if(! result) - boost::serialization::throw_exception( - xml_archive_exception(xml_archive_exception::xml_archive_parsing_error) - ); - std::memcpy(ws, twstring.c_str(), twstring.size()); - ws[twstring.size()] = L'\0'; -} -#endif - -template -BOOST_WARCHIVE_DECL(void) -xml_wiarchive_impl::load_override(class_name_type & t, int){ - const std::wstring & ws = gimpl->rv.class_name; - if(ws.size() > BOOST_SERIALIZATION_MAX_KEY_SIZE - 1) - boost::serialization::throw_exception( - archive_exception(archive_exception::invalid_class_name) - ); - copy_to_ptr(t, ws); -} - -template -BOOST_WARCHIVE_DECL(void) -xml_wiarchive_impl::init(){ - gimpl->init(is); - this->set_library_version( - library_version_type(gimpl->rv.version) - ); -} - -template -BOOST_WARCHIVE_DECL(BOOST_PP_EMPTY()) -xml_wiarchive_impl::xml_wiarchive_impl( - std::wistream &is_, - unsigned int flags -) : - basic_text_iprimitive( - is_, - true // don't change the codecvt - use the one below - ), - basic_xml_iarchive(flags), - gimpl(new xml_wgrammar()) -{ - if(0 == (flags & no_codecvt)){ - archive_locale.reset( - add_facet( - is_.getloc(), - new boost::archive::detail::utf8_codecvt_facet - ) - ); - is.imbue(* archive_locale); - } - if(0 == (flags & no_header)){ - BOOST_TRY{ - this->init(); - } - BOOST_CATCH(...){ - delete gimpl; - #ifndef BOOST_NO_EXCEPTIONS - throw; // re-throw - #endif - } - BOOST_CATCH_END - } -} - -template -BOOST_WARCHIVE_DECL(BOOST_PP_EMPTY()) -xml_wiarchive_impl::~xml_wiarchive_impl(){ - if(0 == (this->get_flags() & no_header)){ - BOOST_TRY{ - gimpl->windup(is); - } - BOOST_CATCH(...){} - BOOST_CATCH_END - } - delete gimpl; -} - -} // namespace archive -} // namespace boost - -#endif // BOOST_NO_STD_WSTREAMBUF diff --git a/bundled/boost-1.56.0/include/boost/archive/impl/xml_woarchive_impl.ipp b/bundled/boost-1.56.0/include/boost/archive/impl/xml_woarchive_impl.ipp deleted file mode 100644 index 6092a91524..0000000000 --- a/bundled/boost-1.56.0/include/boost/archive/impl/xml_woarchive_impl.ipp +++ /dev/null @@ -1,167 +0,0 @@ -/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 -// xml_woarchive_impl.ipp: - -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . -// Distributed under the 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 -#ifndef BOOST_NO_STD_WSTREAMBUF - -#include -#include -#include // std::copy -#include - -#include // strlen -#include // mbtowc -#include // wcslen - -#include -#if defined(BOOST_NO_STDC_NAMESPACE) -namespace std{ - using ::strlen; - #if ! defined(BOOST_NO_INTRINSIC_WCHAR_T) - using ::mbtowc; - using ::wcslen; - #endif -} // namespace std -#endif - -#include -#include - -#include -#include -#include -#include - -#include -#ifndef BOOST_NO_CXX11_HDR_CODECVT - #include - namespace boost { namespace archive { namespace detail { - typedef std::codecvt_utf8 utf8_codecvt_facet; - } } } -#else - #include -#endif - -namespace boost { -namespace archive { - -/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 -// implemenations of functions specific to wide char archives - -// copy chars to output escaping to xml and widening characters as we go -template -void save_iterator(std::wostream &os, InputIterator begin, InputIterator end){ - typedef iterators::wchar_from_mb< - iterators::xml_escape - > xmbtows; - std::copy( - xmbtows(BOOST_MAKE_PFTO_WRAPPER(begin)), - xmbtows(BOOST_MAKE_PFTO_WRAPPER(end)), - boost::archive::iterators::ostream_iterator(os) - ); -} - -template -BOOST_WARCHIVE_DECL(void) -xml_woarchive_impl::save(const std::string & s){ - // note: we don't use s.begin() and s.end() because dinkumware - // doesn't have string::value_type defined. So use a wrapper - // around these values to implement the definitions. - const char * begin = s.data(); - const char * end = begin + s.size(); - save_iterator(os, begin, end); -} - -#ifndef BOOST_NO_STD_WSTRING -template -BOOST_WARCHIVE_DECL(void) -xml_woarchive_impl::save(const std::wstring & ws){ -#if 0 - typedef iterators::xml_escape xmbtows; - std::copy( - xmbtows(BOOST_MAKE_PFTO_WRAPPER(ws.begin())), - xmbtows(BOOST_MAKE_PFTO_WRAPPER(ws.end())), - boost::archive::iterators::ostream_iterator(os) - ); -#endif - typedef iterators::xml_escape xmbtows; - std::copy( - xmbtows(BOOST_MAKE_PFTO_WRAPPER(ws.data())), - xmbtows(BOOST_MAKE_PFTO_WRAPPER(ws.data() + ws.size())), - boost::archive::iterators::ostream_iterator(os) - ); -} -#endif //BOOST_NO_STD_WSTRING - -template -BOOST_WARCHIVE_DECL(void) -xml_woarchive_impl::save(const char * s){ - save_iterator(os, s, s + std::strlen(s)); -} - -#ifndef BOOST_NO_INTRINSIC_WCHAR_T -template -BOOST_WARCHIVE_DECL(void) -xml_woarchive_impl::save(const wchar_t * ws){ - os << ws; - typedef iterators::xml_escape xmbtows; - std::copy( - xmbtows(BOOST_MAKE_PFTO_WRAPPER(ws)), - xmbtows(BOOST_MAKE_PFTO_WRAPPER(ws + std::wcslen(ws))), - boost::archive::iterators::ostream_iterator(os) - ); -} -#endif - -template -BOOST_WARCHIVE_DECL(BOOST_PP_EMPTY()) -xml_woarchive_impl::xml_woarchive_impl( - std::wostream & os_, - unsigned int flags -) : - basic_text_oprimitive( - os_, - true // don't change the codecvt - use the one below - ), - basic_xml_oarchive(flags) -{ - // Standard behavior is that imbue can be called - // a) before output is invoked or - // b) after flush has been called. This prevents one-to-many - // transforms (such as one to many transforms from getting - // mixed up. - if(0 == (flags & no_codecvt)){ - boost::archive::detail::utf8_codecvt_facet *pfacet; - #if defined(__SGI_STL_PORT) - // Unfortunately, STLPort doesn't respect b) above - // so the restoration of the original archive locale done by - // the locale_saver doesn't get processed, - // before the current one is destroyed. - // so the codecvt doesn't get replaced with the orginal - // so closing the stream invokes codecvt::do_unshift - // so it crashes because the corresponding locale that contained - // the codecvt isn't around any more. - // we can hack around this by using a static codecvt that never - // gets destroyed. - static boost::archive::detail::utf8_codecvt_facet - facet(static_cast(1)); - pfacet = & facet; - #else - pfacet = new boost::archive::detail::utf8_codecvt_facet; - #endif - archive_locale.reset(add_facet(os_.getloc(), pfacet)); - os.imbue(* archive_locale); - } - if(0 == (flags & no_header)) - this->init(); -} - -} // namespace archive -} // namespace boost - -#endif //BOOST_NO_STD_WSTREAMBUF diff --git a/bundled/boost-1.56.0/include/boost/archive/iterators/wchar_from_mb.hpp b/bundled/boost-1.56.0/include/boost/archive/iterators/wchar_from_mb.hpp deleted file mode 100644 index ab81f17b68..0000000000 --- a/bundled/boost-1.56.0/include/boost/archive/iterators/wchar_from_mb.hpp +++ /dev/null @@ -1,129 +0,0 @@ -#ifndef BOOST_ARCHIVE_ITERATORS_WCHAR_FROM_MB_HPP -#define BOOST_ARCHIVE_ITERATORS_WCHAR_FROM_MB_HPP - -// MS compatible compilers support #pragma once -#if defined(_MSC_VER) -# pragma once -#endif - -/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 -// wchar_from_mb.hpp - -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . -// Use, modification and distribution is subject to the Boost Software -// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for updates, documentation, and revision history. - -#include -#include -#include // size_t -#include // mblen - -#include -#if defined(BOOST_NO_STDC_NAMESPACE) -namespace std{ - using ::mblen; - using ::mbtowc; -} // namespace std -#endif - -#include -#include - -#include -#include - -namespace boost { -namespace archive { -namespace iterators { - -/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 -// class used by text archives to translate char strings to wchar_t -// strings of the currently selected locale -template -class wchar_from_mb - : public boost::iterator_adaptor< - wchar_from_mb, - Base, - wchar_t, - single_pass_traversal_tag, - wchar_t - > -{ - friend class boost::iterator_core_access; - typedef typename boost::iterator_adaptor< - wchar_from_mb, - Base, - wchar_t, - single_pass_traversal_tag, - wchar_t - > super_t; - - typedef wchar_from_mb this_t; - - wchar_t drain(); - - wchar_t dereference_impl() { - if(! m_full){ - m_current_value = drain(); - m_full = true; - } - return m_current_value; - } - - wchar_t dereference() const { - return const_cast(this)->dereference_impl(); - } - - void increment(){ - dereference_impl(); - m_full = false; - ++(this->base_reference()); - }; - - wchar_t m_current_value; - bool m_full; - -public: - // make composible buy using templated constructor - template - wchar_from_mb(BOOST_PFTO_WRAPPER(T) start) : - super_t(Base(BOOST_MAKE_PFTO_WRAPPER(static_cast< T >(start)))), - m_full(false) - {} - // intel 7.1 doesn't like default copy constructor - wchar_from_mb(const wchar_from_mb & rhs) : - super_t(rhs.base_reference()), - m_full(rhs.m_full) - {} -}; - -template -wchar_t wchar_from_mb::drain(){ - char buffer[9]; - char * bptr = buffer; - char val; - for(std::size_t i = 0; i++ < (unsigned)MB_CUR_MAX;){ - val = * this->base_reference(); - *bptr++ = val; - int result = std::mblen(buffer, i); - if(-1 != result) - break; - ++(this->base_reference()); - } - wchar_t retval; - int result = std::mbtowc(& retval, buffer, MB_CUR_MAX); - if(0 >= result) - boost::serialization::throw_exception(iterators::dataflow_exception( - iterators::dataflow_exception::invalid_conversion - )); - return retval; -} - -} // namespace iterators -} // namespace archive -} // namespace boost - -#endif // BOOST_ARCHIVE_ITERATORS_WCHAR_FROM_MB_HPP diff --git a/bundled/boost-1.56.0/include/boost/archive/text_iarchive.hpp b/bundled/boost-1.56.0/include/boost/archive/text_iarchive.hpp deleted file mode 100644 index 1fd0f608d3..0000000000 --- a/bundled/boost-1.56.0/include/boost/archive/text_iarchive.hpp +++ /dev/null @@ -1,142 +0,0 @@ -#ifndef BOOST_ARCHIVE_TEXT_IARCHIVE_HPP -#define BOOST_ARCHIVE_TEXT_IARCHIVE_HPP - -// MS compatible compilers support #pragma once -#if defined(_MSC_VER) -# pragma once -#endif - -/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 -// text_iarchive.hpp - -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . -// Use, modification and distribution is subject to the Boost Software -// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for updates, documentation, and revision history. - -#include - -#include -#include -#include -#include -#include -#include - -#include // must be the last header - -#ifdef BOOST_MSVC -# pragma warning(push) -# pragma warning(disable : 4511 4512) -#endif - -namespace boost { -namespace archive { - -namespace detail { - template class interface_iarchive; -} // namespace detail - -template -class text_iarchive_impl : - public basic_text_iprimitive, - public basic_text_iarchive -{ -#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS -public: -#else -protected: - #if BOOST_WORKAROUND(BOOST_MSVC, < 1500) - // for some inexplicable reason insertion of "class" generates compile erro - // on msvc 7.1 - friend detail::interface_iarchive; - friend load_access; - #else - friend class detail::interface_iarchive; - friend class load_access; - #endif -#endif - template - void load(T & t){ - basic_text_iprimitive::load(t); - } - void load(version_type & t){ - unsigned int v; - load(v); - t = version_type(v); - } - void load(boost::serialization::item_version_type & t){ - unsigned int v; - load(v); - t = boost::serialization::item_version_type(v); - } - BOOST_ARCHIVE_DECL(void) - load(char * t); - #ifndef BOOST_NO_INTRINSIC_WCHAR_T - BOOST_ARCHIVE_DECL(void) - load(wchar_t * t); - #endif - BOOST_ARCHIVE_DECL(void) - load(std::string &s); - #ifndef BOOST_NO_STD_WSTRING - BOOST_ARCHIVE_DECL(void) - load(std::wstring &ws); - #endif - // note: the following should not needed - but one compiler (vc 7.1) - // fails to compile one test (test_shared_ptr) without it !!! - // make this protected so it can be called from a derived archive - template - void load_override(T & t, BOOST_PFTO int){ - basic_text_iarchive::load_override(t, 0); - } - BOOST_ARCHIVE_DECL(void) - load_override(class_name_type & t, int); - BOOST_ARCHIVE_DECL(void) - init(); - BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) - text_iarchive_impl(std::istream & is, unsigned int flags); - // don't import inline definitions! leave this as a reminder. - //BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) - ~text_iarchive_impl(){}; -}; - -} // namespace archive -} // namespace boost - -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#include // pops abi_suffix.hpp pragmas - -#ifdef BOOST_MSVC -# pragma warning(push) -# pragma warning(disable : 4511 4512) -#endif - -namespace boost { -namespace archive { - -class text_iarchive : - public text_iarchive_impl{ -public: - text_iarchive(std::istream & is_, unsigned int flags = 0) : - // note: added _ to suppress useless gcc warning - text_iarchive_impl(is_, flags) - {} - ~text_iarchive(){} -}; - -} // namespace archive -} // namespace boost - -// required by export -BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::text_iarchive) - -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#endif // BOOST_ARCHIVE_TEXT_IARCHIVE_HPP diff --git a/bundled/boost-1.56.0/include/boost/archive/xml_iarchive.hpp b/bundled/boost-1.56.0/include/boost/archive/xml_iarchive.hpp deleted file mode 100644 index ba50d7cc48..0000000000 --- a/bundled/boost-1.56.0/include/boost/archive/xml_iarchive.hpp +++ /dev/null @@ -1,152 +0,0 @@ -#ifndef BOOST_ARCHIVE_XML_IARCHIVE_HPP -#define BOOST_ARCHIVE_XML_IARCHIVE_HPP - -// MS compatible compilers support #pragma once -#if defined(_MSC_VER) -# pragma once -#endif - -/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 -// xml_iarchive.hpp - -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . -// Use, modification and distribution is subject to the Boost Software -// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for updates, documentation, and revision history. - -#include - -//#include -#include -#include -#include -#include -#include - -#include // must be the last header - -#ifdef BOOST_MSVC -# pragma warning(push) -# pragma warning(disable : 4511 4512) -#endif - -namespace boost { -namespace archive { - -namespace detail { - template class interface_iarchive; -} // namespace detail - -template -class basic_xml_grammar; -typedef basic_xml_grammar xml_grammar; - -template -class xml_iarchive_impl : - public basic_text_iprimitive, - public basic_xml_iarchive -{ -#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS -public: -#else -protected: - #if BOOST_WORKAROUND(BOOST_MSVC, < 1500) - // for some inexplicable reason insertion of "class" generates compile erro - // on msvc 7.1 - friend detail::interface_iarchive; - friend basic_xml_iarchive; - friend load_access; - #else - friend class detail::interface_iarchive; - friend class basic_xml_iarchive; - friend class load_access; - #endif -#endif - // instances of micro xml parser to parse start preambles - // scoped_ptr doesn't play nice with borland - so use a naked pointer - // scoped_ptr gimpl; - xml_grammar *gimpl; - - std::istream & get_is(){ - return is; - } - template - void load(T & t){ - basic_text_iprimitive::load(t); - } - void - load(version_type & t){ - unsigned int v; - load(v); - t = version_type(v); - } - void - load(boost::serialization::item_version_type & t){ - unsigned int v; - load(v); - t = boost::serialization::item_version_type(v); - } - BOOST_ARCHIVE_DECL(void) - load(char * t); - #ifndef BOOST_NO_INTRINSIC_WCHAR_T - BOOST_ARCHIVE_DECL(void) - load(wchar_t * t); - #endif - BOOST_ARCHIVE_DECL(void) - load(std::string &s); - #ifndef BOOST_NO_STD_WSTRING - BOOST_ARCHIVE_DECL(void) - load(std::wstring &ws); - #endif - template - void load_override(T & t, BOOST_PFTO int){ - basic_xml_iarchive::load_override(t, 0); - } - BOOST_ARCHIVE_DECL(void) - load_override(class_name_type & t, int); - BOOST_ARCHIVE_DECL(void) - init(); - BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) - xml_iarchive_impl(std::istream & is, unsigned int flags); - BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) - ~xml_iarchive_impl(); -}; - -} // namespace archive -} // namespace boost - -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#include // pops abi_suffix.hpp pragmas -#ifdef BOOST_MSVC -# pragma warning(push) -# pragma warning(disable : 4511 4512) -#endif - -namespace boost { -namespace archive { - -class xml_iarchive : - public xml_iarchive_impl{ -public: - xml_iarchive(std::istream & is, unsigned int flags = 0) : - xml_iarchive_impl(is, flags) - {} - ~xml_iarchive(){}; -}; - -} // namespace archive -} // namespace boost - -// required by export -BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::xml_iarchive) - -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#endif // BOOST_ARCHIVE_XML_IARCHIVE_HPP diff --git a/bundled/boost-1.56.0/include/boost/archive/xml_oarchive.hpp b/bundled/boost-1.56.0/include/boost/archive/xml_oarchive.hpp deleted file mode 100644 index 2ac4ae1d69..0000000000 --- a/bundled/boost-1.56.0/include/boost/archive/xml_oarchive.hpp +++ /dev/null @@ -1,143 +0,0 @@ -#ifndef BOOST_ARCHIVE_XML_OARCHIVE_HPP -#define BOOST_ARCHIVE_XML_OARCHIVE_HPP - -// MS compatible compilers support #pragma once -#if defined(_MSC_VER) -# pragma once -#endif - -/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 -// xml_oarchive.hpp - -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . -// Use, modification and distribution is subject to the Boost Software -// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for updates, documentation, and revision history. - -#include - -#include // size_t -#include -#if defined(BOOST_NO_STDC_NAMESPACE) -namespace std{ - using ::size_t; -} // namespace std -#endif - -#include -#include -#include -#include -#include - -#include // must be the last header - -#ifdef BOOST_MSVC -# pragma warning(push) -# pragma warning(disable : 4511 4512) -#endif - -namespace boost { -namespace archive { - -namespace detail { - template class interface_oarchive; -} // namespace detail - -template -class xml_oarchive_impl : - public basic_text_oprimitive, - public basic_xml_oarchive -{ -#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS -public: -#else -protected: - #if BOOST_WORKAROUND(BOOST_MSVC, < 1500) - // for some inexplicable reason insertion of "class" generates compile erro - // on msvc 7.1 - friend detail::interface_oarchive; - friend basic_xml_oarchive; - friend save_access; - #else - friend class detail::interface_oarchive; - friend class basic_xml_oarchive; - friend class save_access; - #endif -#endif - //void end_preamble(){ - // basic_xml_oarchive::end_preamble(); - //} - template - void save(const T & t){ - basic_text_oprimitive::save(t); - } - void - save(const version_type & t){ - save(static_cast(t)); - } - void - save(const boost::serialization::item_version_type & t){ - save(static_cast(t)); - } - BOOST_ARCHIVE_DECL(void) - save(const char * t); - #ifndef BOOST_NO_INTRINSIC_WCHAR_T - BOOST_ARCHIVE_DECL(void) - save(const wchar_t * t); - #endif - BOOST_ARCHIVE_DECL(void) - save(const std::string &s); - #ifndef BOOST_NO_STD_WSTRING - BOOST_ARCHIVE_DECL(void) - save(const std::wstring &ws); - #endif - BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) - xml_oarchive_impl(std::ostream & os, unsigned int flags); - ~xml_oarchive_impl(){} -public: - void save_binary(const void *address, std::size_t count){ - this->end_preamble(); - #if ! defined(__MWERKS__) - this->basic_text_oprimitive::save_binary( - #else - this->basic_text_oprimitive::save_binary( - #endif - address, - count - ); - this->indent_next = true; - } -}; - -// we use the following because we can't use -// typedef xml_oarchive_impl > xml_oarchive; - -// do not derive from this class. If you want to extend this functionality -// via inhertance, derived from xml_oarchive_impl instead. This will -// preserve correct static polymorphism. -class xml_oarchive : - public xml_oarchive_impl -{ -public: - xml_oarchive(std::ostream & os, unsigned int flags = 0) : - xml_oarchive_impl(os, flags) - {} - ~xml_oarchive(){} -}; - -} // namespace archive -} // namespace boost - -// required by export -BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::xml_oarchive) - -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#include // pops abi_suffix.hpp pragmas - -#endif // BOOST_ARCHIVE_XML_OARCHIVE_HPP diff --git a/bundled/boost-1.56.0/include/boost/archive/xml_wiarchive.hpp b/bundled/boost-1.56.0/include/boost/archive/xml_wiarchive.hpp deleted file mode 100644 index 31aff88ad0..0000000000 --- a/bundled/boost-1.56.0/include/boost/archive/xml_wiarchive.hpp +++ /dev/null @@ -1,159 +0,0 @@ -#ifndef BOOST_ARCHIVE_XML_WIARCHIVE_HPP -#define BOOST_ARCHIVE_XML_WIARCHIVE_HPP - -// MS compatible compilers support #pragma once -#if defined(_MSC_VER) -# pragma once -#endif - -/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 -// xml_wiarchive.hpp - -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . -// Use, modification and distribution is subject to the Boost Software -// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for updates, documentation, and revision history. - -#include -#ifdef BOOST_NO_STD_WSTREAMBUF -#error "wide char i/o not supported on this platform" -#else - -#include - -//#include -#include -#include -#include -#include -#include - -#include // must be the last header - -#ifdef BOOST_MSVC -# pragma warning(push) -# pragma warning(disable : 4511 4512) -#endif - -namespace boost { -namespace archive { - -namespace detail { - template class interface_iarchive; -} // namespace detail - -template -class basic_xml_grammar; -typedef basic_xml_grammar xml_wgrammar; - -template -class xml_wiarchive_impl : - public basic_text_iprimitive, - public basic_xml_iarchive -{ -#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS -public: -#else -protected: - #if BOOST_WORKAROUND(BOOST_MSVC, < 1500) - // for some inexplicable reason insertion of "class" generates compile erro - // on msvc 7.1 - friend detail::interface_iarchive; - friend basic_xml_iarchive; - friend load_access; - #else - friend class detail::interface_iarchive; - friend class basic_xml_iarchive; - friend class load_access; - #endif -#endif - // instances of micro xml parser to parse start preambles - // scoped_ptr doesn't play nice with borland - so use a naked pointer - // scoped_ptr gimpl; - xml_wgrammar *gimpl; - std::wistream & get_is(){ - return is; - } - template - void - load(T & t){ - basic_text_iprimitive::load(t); - } - void - load(version_type & t){ - unsigned int v; - load(v); - t = version_type(v); - } - void - load(boost::serialization::item_version_type & t){ - unsigned int v; - load(v); - t = boost::serialization::item_version_type(v); - } - BOOST_WARCHIVE_DECL(void) - load(char * t); - #ifndef BOOST_NO_INTRINSIC_WCHAR_T - BOOST_WARCHIVE_DECL(void) - load(wchar_t * t); - #endif - BOOST_WARCHIVE_DECL(void) - load(std::string &s); - #ifndef BOOST_NO_STD_WSTRING - BOOST_WARCHIVE_DECL(void) - load(std::wstring &ws); - #endif - template - void load_override(T & t, BOOST_PFTO int){ - basic_xml_iarchive::load_override(t, 0); - } - BOOST_WARCHIVE_DECL(void) - load_override(class_name_type & t, int); - BOOST_WARCHIVE_DECL(void) - init(); - BOOST_WARCHIVE_DECL(BOOST_PP_EMPTY()) - xml_wiarchive_impl(std::wistream & is, unsigned int flags) ; - BOOST_WARCHIVE_DECL(BOOST_PP_EMPTY()) - ~xml_wiarchive_impl(); -}; - -} // namespace archive -} // namespace boost - -#ifdef BOOST_MSVC -# pragma warning(pop) -#endif - -#include // pops abi_suffix.hpp pragmas - -#ifdef BOOST_MSVC -# pragma warning(push) -# pragma warning(disable : 4511 4512) -#endif - -namespace boost { -namespace archive { - -class xml_wiarchive : - public xml_wiarchive_impl{ -public: - xml_wiarchive(std::wistream & is, unsigned int flags = 0) : - xml_wiarchive_impl(is, flags) - {} - ~xml_wiarchive(){} -}; - -} // namespace archive -} // namespace boost - -// required by export -BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::xml_wiarchive) - -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#endif // BOOST_NO_STD_WSTREAMBUF -#endif // BOOST_ARCHIVE_XML_WIARCHIVE_HPP diff --git a/bundled/boost-1.56.0/include/boost/archive/xml_woarchive.hpp b/bundled/boost-1.56.0/include/boost/archive/xml_woarchive.hpp deleted file mode 100644 index 7fcaeb9634..0000000000 --- a/bundled/boost-1.56.0/include/boost/archive/xml_woarchive.hpp +++ /dev/null @@ -1,151 +0,0 @@ -#ifndef BOOST_ARCHIVE_XML_WOARCHIVE_HPP -#define BOOST_ARCHIVE_XML_WOARCHIVE_HPP - -// MS compatible compilers support #pragma once -#if defined(_MSC_VER) -# pragma once -#endif - -/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 -// xml_woarchive.hpp - -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . -// Use, modification and distribution is subject to the Boost Software -// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for updates, documentation, and revision history. - -#include -#ifdef BOOST_NO_STD_WSTREAMBUF -#error "wide char i/o not supported on this platform" -#else - -#include // size_t -#if defined(BOOST_NO_STDC_NAMESPACE) -namespace std{ - using ::size_t; -} // namespace std -#endif - -#include - -#include -#include -#include -#include -#include - -#include // must be the last header - -#ifdef BOOST_MSVC -# pragma warning(push) -# pragma warning(disable : 4511 4512) -#endif - -namespace boost { -namespace archive { - -namespace detail { - template class interface_oarchive; -} // namespace detail - -template -class xml_woarchive_impl : - public basic_text_oprimitive, - public basic_xml_oarchive -{ -#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS -public: -#else -protected: - #if BOOST_WORKAROUND(BOOST_MSVC, < 1500) - // for some inexplicable reason insertion of "class" generates compile erro - // on msvc 7.1 - friend detail::interface_oarchive; - friend basic_xml_oarchive; - friend save_access; - #else - friend class detail::interface_oarchive; - friend class basic_xml_oarchive; - friend class save_access; - #endif -#endif - - //void end_preamble(){ - // basic_xml_oarchive::end_preamble(); - //} - template - void - save(const T & t){ - basic_text_oprimitive::save(t); - } - void - save(const version_type & t){ - save(static_cast(t)); - } - void - save(const boost::serialization::item_version_type & t){ - save(static_cast(t)); - } - BOOST_WARCHIVE_DECL(void) - save(const char * t); - #ifndef BOOST_NO_INTRINSIC_WCHAR_T - BOOST_WARCHIVE_DECL(void) - save(const wchar_t * t); - #endif - BOOST_WARCHIVE_DECL(void) - save(const std::string &s); - #ifndef BOOST_NO_STD_WSTRING - BOOST_WARCHIVE_DECL(void) - save(const std::wstring &ws); - #endif - BOOST_WARCHIVE_DECL(BOOST_PP_EMPTY()) - xml_woarchive_impl(std::wostream & os, unsigned int flags); - ~xml_woarchive_impl(){} -public: - void - save_binary(const void *address, std::size_t count){ - this->end_preamble(); - #if ! defined(__MWERKS__) - this->basic_text_oprimitive::save_binary( - #else - this->basic_text_oprimitive::save_binary( - #endif - address, - count - ); - this->indent_next = true; - } -}; - -// we use the following because we can't use -// typedef xml_woarchive_impl > xml_woarchive; - -// do not derive from this class. If you want to extend this functionality -// via inhertance, derived from xml_woarchive_impl instead. This will -// preserve correct static polymorphism. -class xml_woarchive : - public xml_woarchive_impl -{ -public: - xml_woarchive(std::wostream & os, unsigned int flags = 0) : - xml_woarchive_impl(os, flags) - {} - ~xml_woarchive(){} -}; - -} // namespace archive -} // namespace boost - -// required by export -BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::xml_woarchive) - -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#include // pops abi_suffix.hpp pragmas - -#endif // BOOST_NO_STD_WSTREAMBUF -#endif // BOOST_ARCHIVE_XML_OARCHIVE_HPP diff --git a/bundled/boost-1.56.0/include/boost/assert.hpp b/bundled/boost-1.56.0/include/boost/assert.hpp deleted file mode 100644 index 1713d9bb1d..0000000000 --- a/bundled/boost-1.56.0/include/boost/assert.hpp +++ /dev/null @@ -1,78 +0,0 @@ -// -// boost/assert.hpp - BOOST_ASSERT(expr) -// BOOST_ASSERT_MSG(expr, msg) -// BOOST_VERIFY(expr) -// BOOST_VERIFY_MSG(expr, msg) -// -// Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd. -// Copyright (c) 2007, 2014 Peter Dimov -// Copyright (c) Beman Dawes 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 -// -// Note: There are no include guards. This is intentional. -// -// See http://www.boost.org/libs/assert/assert.html for documentation. -// - -// -// Stop inspect complaining about use of 'assert': -// -// boostinspect:naassert_macro -// - -// -// BOOST_ASSERT, BOOST_ASSERT_MSG -// - -#undef BOOST_ASSERT -#undef BOOST_ASSERT_MSG - -#if defined(BOOST_DISABLE_ASSERTS) || ( defined(BOOST_ENABLE_ASSERT_DEBUG_HANDLER) && defined(NDEBUG) ) - -# define BOOST_ASSERT(expr) ((void)0) -# define BOOST_ASSERT_MSG(expr, msg) ((void)0) - -#elif defined(BOOST_ENABLE_ASSERT_HANDLER) || ( defined(BOOST_ENABLE_ASSERT_DEBUG_HANDLER) && !defined(NDEBUG) ) - -#include // for BOOST_LIKELY -#include - -namespace boost -{ - void assertion_failed(char const * expr, char const * function, char const * file, long line); // user defined - void assertion_failed_msg(char const * expr, char const * msg, char const * function, char const * file, long line); // user defined -} // namespace boost - -#define BOOST_ASSERT(expr) (BOOST_LIKELY(!!(expr))? ((void)0): ::boost::assertion_failed(#expr, BOOST_CURRENT_FUNCTION, __FILE__, __LINE__)) -#define BOOST_ASSERT_MSG(expr, msg) (BOOST_LIKELY(!!(expr))? ((void)0): ::boost::assertion_failed_msg(#expr, msg, BOOST_CURRENT_FUNCTION, __FILE__, __LINE__)) - -#else - -# include // .h to support old libraries w/o - effect is the same - -# define BOOST_ASSERT(expr) assert(expr) -# define BOOST_ASSERT_MSG(expr, msg) assert((expr)&&(msg)) - -#endif - -// -// BOOST_VERIFY, BOOST_VERIFY_MSG -// - -#undef BOOST_VERIFY -#undef BOOST_VERIFY_MSG - -#if defined(BOOST_DISABLE_ASSERTS) || ( !defined(BOOST_ENABLE_ASSERT_HANDLER) && defined(NDEBUG) ) - -# define BOOST_VERIFY(expr) ((void)(expr)) -# define BOOST_VERIFY_MSG(expr, msg) ((void)(expr)) - -#else - -# define BOOST_VERIFY(expr) BOOST_ASSERT(expr) -# define BOOST_VERIFY_MSG(expr, msg) BOOST_ASSERT_MSG(expr,msg) - -#endif diff --git a/bundled/boost-1.56.0/include/boost/atomic/detail/config.hpp b/bundled/boost-1.56.0/include/boost/atomic/detail/config.hpp deleted file mode 100644 index d03ec6aec6..0000000000 --- a/bundled/boost-1.56.0/include/boost/atomic/detail/config.hpp +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or copy at - * http://www.boost.org/LICENSE_1_0.txt) - * - * Copyright (c) 2012 Hartmut Kaiser - * Copyright (c) 2014 Andrey Semashev - */ -/*! - * \file atomic/detail/config.hpp - * - * This header defines configuraion macros for Boost.Atomic - */ - -#ifndef BOOST_ATOMIC_DETAIL_CONFIG_HPP_INCLUDED_ -#define BOOST_ATOMIC_DETAIL_CONFIG_HPP_INCLUDED_ - -#include - -#ifdef BOOST_HAS_PRAGMA_ONCE -#pragma once -#endif - -#endif // BOOST_ATOMIC_DETAIL_CONFIG_HPP_INCLUDED_ diff --git a/bundled/boost-1.56.0/include/boost/atomic/detail/interlocked.hpp b/bundled/boost-1.56.0/include/boost/atomic/detail/interlocked.hpp deleted file mode 100644 index fa11befe6e..0000000000 --- a/bundled/boost-1.56.0/include/boost/atomic/detail/interlocked.hpp +++ /dev/null @@ -1,451 +0,0 @@ -#ifndef BOOST_ATOMIC_DETAIL_INTERLOCKED_HPP -#define BOOST_ATOMIC_DETAIL_INTERLOCKED_HPP - -// Copyright (c) 2009 Helge Bahmann -// Copyright (c) 2012 - 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) - -#include - -#ifdef BOOST_HAS_PRAGMA_ONCE -#pragma once -#endif - -#if defined(_WIN32_WCE) - -#if _WIN32_WCE >= 0x600 - -extern "C" long __cdecl _InterlockedCompareExchange( long volatile *, long, long ); -extern "C" long __cdecl _InterlockedExchangeAdd( long volatile *, long ); -extern "C" long __cdecl _InterlockedExchange( long volatile *, long ); - -#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE(dest, exchange, compare) _InterlockedCompareExchange((long*)(dest), exchange, compare) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD(dest, addend) _InterlockedExchangeAdd((long*)(dest), (long)(addend)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE(dest, newval) _InterlockedExchange((long*)(dest), (long)(newval)) - -#else // _WIN32_WCE >= 0x600 - -extern "C" long __cdecl InterlockedCompareExchange( long*, long, long ); -extern "C" long __cdecl InterlockedExchangeAdd( long*, long ); -extern "C" long __cdecl InterlockedExchange( long*, long ); - -#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE(dest, exchange, compare) InterlockedCompareExchange((long*)(dest), exchange, compare) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD(dest, addend) InterlockedExchangeAdd((long*)(dest), (long)(addend)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE(dest, newval) InterlockedExchange((long*)(dest), (long)(newval)) - -#endif // _WIN32_WCE >= 0x600 - -#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest, exchange, compare) ((void*)BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE((long*)(dest), (long)(exchange), (long)(compare))) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_POINTER(dest, exchange) ((void*)BOOST_ATOMIC_INTERLOCKED_EXCHANGE((long*)(dest), (long)(exchange))) - -#elif defined(_MSC_VER) && _MSC_VER >= 1310 - -#if _MSC_VER < 1400 - -extern "C" long __cdecl _InterlockedCompareExchange( long volatile *, long, long ); -extern "C" long __cdecl _InterlockedExchangeAdd( long volatile *, long ); -extern "C" long __cdecl _InterlockedExchange( long volatile *, long ); - -#pragma intrinsic(_InterlockedCompareExchange) -#pragma intrinsic(_InterlockedExchangeAdd) -#pragma intrinsic(_InterlockedExchange) - -#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE(dest, exchange, compare) _InterlockedCompareExchange((long*)(dest), exchange, compare) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD(dest, addend) _InterlockedExchangeAdd((long*)(dest), (long)(addend)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE(dest, newval) _InterlockedExchange((long*)(dest), (long)(newval)) - -#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest, exchange, compare) ((void*)BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE((long*)(dest), (long)(exchange), (long)(compare))) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_POINTER(dest, exchange) ((void*)BOOST_ATOMIC_INTERLOCKED_EXCHANGE((long*)(dest), (long)(exchange))) - -#else // _MSC_VER < 1400 - -#include - -#pragma intrinsic(_InterlockedCompareExchange) -#pragma intrinsic(_InterlockedExchangeAdd) -#pragma intrinsic(_InterlockedExchange) -#pragma intrinsic(_InterlockedAnd) -#pragma intrinsic(_InterlockedOr) -#pragma intrinsic(_InterlockedXor) - -#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE(dest, exchange, compare) _InterlockedCompareExchange((long*)(dest), (long)(exchange), (long)(compare)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD(dest, addend) _InterlockedExchangeAdd((long*)(dest), (long)(addend)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE(dest, newval) _InterlockedExchange((long*)(dest), (long)(newval)) -#define BOOST_ATOMIC_INTERLOCKED_AND(dest, arg) _InterlockedAnd((long*)(dest), (long)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_OR(dest, arg) _InterlockedOr((long*)(dest), (long)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_XOR(dest, arg) _InterlockedXor((long*)(dest), (long)(arg)) - -#if (defined(_M_IX86) && _M_IX86 >= 500) || defined(_M_AMD64) || defined(_M_IA64) -#pragma intrinsic(_InterlockedCompareExchange64) -#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE64(dest, exchange, compare) _InterlockedCompareExchange64((__int64*)(dest), (__int64)(exchange), (__int64)(compare)) -#endif - -#if _MSC_VER >= 1500 && defined(_M_AMD64) -#pragma intrinsic(_InterlockedCompareExchange128) -#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE128(dest, exchange, compare) _InterlockedCompareExchange128((__int64*)(dest), ((const __int64*)(&exchange))[1], ((const __int64*)(&exchange))[0], (__int64*)(compare)) -#endif - -#if _MSC_VER >= 1600 - -// MSVC 2010 and later provide intrinsics for 8 and 16 bit integers. -// Note that for each bit count these macros must be either all defined or all not defined. -// Otherwise atomic<> operations will be implemented inconsistently. - -#pragma intrinsic(_InterlockedCompareExchange8) -#pragma intrinsic(_InterlockedExchangeAdd8) -#pragma intrinsic(_InterlockedExchange8) -#pragma intrinsic(_InterlockedAnd8) -#pragma intrinsic(_InterlockedOr8) -#pragma intrinsic(_InterlockedXor8) - -#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE8(dest, exchange, compare) _InterlockedCompareExchange8((char*)(dest), (char)(exchange), (char)(compare)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD8(dest, addend) _InterlockedExchangeAdd8((char*)(dest), (char)(addend)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE8(dest, newval) _InterlockedExchange8((char*)(dest), (char)(newval)) -#define BOOST_ATOMIC_INTERLOCKED_AND8(dest, arg) _InterlockedAnd8((char*)(dest), (char)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_OR8(dest, arg) _InterlockedOr8((char*)(dest), (char)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_XOR8(dest, arg) _InterlockedXor8((char*)(dest), (char)(arg)) - -#pragma intrinsic(_InterlockedCompareExchange16) -#pragma intrinsic(_InterlockedExchangeAdd16) -#pragma intrinsic(_InterlockedExchange16) -#pragma intrinsic(_InterlockedAnd16) -#pragma intrinsic(_InterlockedOr16) -#pragma intrinsic(_InterlockedXor16) - -#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE16(dest, exchange, compare) _InterlockedCompareExchange16((short*)(dest), (short)(exchange), (short)(compare)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD16(dest, addend) _InterlockedExchangeAdd16((short*)(dest), (short)(addend)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE16(dest, newval) _InterlockedExchange16((short*)(dest), (short)(newval)) -#define BOOST_ATOMIC_INTERLOCKED_AND16(dest, arg) _InterlockedAnd16((short*)(dest), (short)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_OR16(dest, arg) _InterlockedOr16((short*)(dest), (short)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_XOR16(dest, arg) _InterlockedXor16((short*)(dest), (short)(arg)) - -#endif // _MSC_VER >= 1600 - -#if defined(_M_AMD64) || defined(_M_IA64) - -#pragma intrinsic(_InterlockedExchangeAdd64) -#pragma intrinsic(_InterlockedExchange64) -#pragma intrinsic(_InterlockedAnd64) -#pragma intrinsic(_InterlockedOr64) -#pragma intrinsic(_InterlockedXor64) - -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD64(dest, addend) _InterlockedExchangeAdd64((__int64*)(dest), (__int64)(addend)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE64(dest, newval) _InterlockedExchange64((__int64*)(dest), (__int64)(newval)) -#define BOOST_ATOMIC_INTERLOCKED_AND64(dest, arg) _InterlockedAnd64((__int64*)(dest), (__int64)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_OR64(dest, arg) _InterlockedOr64((__int64*)(dest), (__int64)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_XOR64(dest, arg) _InterlockedXor64((__int64*)(dest), (__int64)(arg)) - -#pragma intrinsic(_InterlockedCompareExchangePointer) -#pragma intrinsic(_InterlockedExchangePointer) - -#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest, exchange, compare) _InterlockedCompareExchangePointer((void**)(dest), (void*)(exchange), (void*)(compare)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_POINTER(dest, newval) _InterlockedExchangePointer((void**)(dest), (void*)(newval)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD_POINTER(dest, byte_offset) ((void*)BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD64((long*)(dest), byte_offset)) - -#elif defined(_M_IX86) - -#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest, exchange, compare) ((void*)_InterlockedCompareExchange((long*)(dest), (long)(exchange), (long)(compare))) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_POINTER(dest, newval) ((void*)_InterlockedExchange((long*)(dest), (long)(newval))) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD_POINTER(dest, byte_offset) ((void*)BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD((long*)(dest), byte_offset)) - -#endif - -#if _MSC_VER >= 1700 && defined(_M_ARM) - -#pragma intrinsic(_InterlockedExchangeAdd64) -#pragma intrinsic(_InterlockedExchange64) -#pragma intrinsic(_InterlockedAnd64) -#pragma intrinsic(_InterlockedOr64) -#pragma intrinsic(_InterlockedXor64) - -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD64(dest, addend) _InterlockedExchangeAdd64((__int64*)(dest), (__int64)(addend)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE64(dest, newval) _InterlockedExchange64((__int64*)(dest), (__int64)(newval)) -#define BOOST_ATOMIC_INTERLOCKED_AND64(dest, arg) _InterlockedAnd64((__int64*)(dest), (__int64)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_OR64(dest, arg) _InterlockedOr64((__int64*)(dest), (__int64)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_XOR64(dest, arg) _InterlockedXor64((__int64*)(dest), (__int64)(arg)) - -#pragma intrinsic(_InterlockedCompareExchange8_nf) -#pragma intrinsic(_InterlockedCompareExchange8_acq) -#pragma intrinsic(_InterlockedCompareExchange8_rel) -#pragma intrinsic(_InterlockedCompareExchange16_nf) -#pragma intrinsic(_InterlockedCompareExchange16_acq) -#pragma intrinsic(_InterlockedCompareExchange16_rel) -#pragma intrinsic(_InterlockedCompareExchange_nf) -#pragma intrinsic(_InterlockedCompareExchange_acq) -#pragma intrinsic(_InterlockedCompareExchange_rel) -#pragma intrinsic(_InterlockedCompareExchange64) -#pragma intrinsic(_InterlockedCompareExchange64_nf) -#pragma intrinsic(_InterlockedCompareExchange64_acq) -#pragma intrinsic(_InterlockedCompareExchange64_rel) -#pragma intrinsic(_InterlockedCompareExchangePointer) -#pragma intrinsic(_InterlockedCompareExchangePointer_nf) -#pragma intrinsic(_InterlockedCompareExchangePointer_acq) -#pragma intrinsic(_InterlockedCompareExchangePointer_rel) - -#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE8_RELAXED(dest, exchange, compare) _InterlockedCompareExchange8_nf((char*)(dest), (char)(exchange), (char)(compare)) -#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE8_ACQUIRE(dest, exchange, compare) _InterlockedCompareExchange8_acq((char*)(dest), (char)(exchange), (char)(compare)) -#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE8_RELEASE(dest, exchange, compare) _InterlockedCompareExchange8_rel((char*)(dest), (char)(exchange), (char)(compare)) -#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE16_RELAXED(dest, exchange, compare) _InterlockedCompareExchange16_nf((short*)(dest), (short)(exchange), (short)(compare)) -#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE16_ACQUIRE(dest, exchange, compare) _InterlockedCompareExchange16_acq((short*)(dest), (short)(exchange), (short)(compare)) -#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE16_RELEASE(dest, exchange, compare) _InterlockedCompareExchange16_rel((short*)(dest), (short)(exchange), (short)(compare)) -#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE_RELAXED(dest, exchange, compare) _InterlockedCompareExchange_nf((long*)(dest), (long)(exchange), (long)(compare)) -#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE_ACQUIRE(dest, exchange, compare) _InterlockedCompareExchange_acq((long*)(dest), (long)(exchange), (long)(compare)) -#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE_RELEASE(dest, exchange, compare) _InterlockedCompareExchange_rel((long*)(dest), (long)(exchange), (long)(compare)) -#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE64(dest, exchange, compare) _InterlockedCompareExchange64((__int64*)(dest), (__int64)(exchange), (__int64)(compare)) -#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE64_RELAXED(dest, exchange, compare) _InterlockedCompareExchange64_nf((__int64*)(dest), (__int64)(exchange), (__int64)(compare)) -#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE64_ACQUIRE(dest, exchange, compare) _InterlockedCompareExchange64_acq((__int64*)(dest), (__int64)(exchange), (__int64)(compare)) -#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE64_RELEASE(dest, exchange, compare) _InterlockedCompareExchange64_rel((__int64*)(dest), (__int64)(exchange), (__int64)(compare)) -#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest, exchange, compare) _InterlockedCompareExchangePointer((void**)(dest), (void*)(exchange), (void*)(compare)) -#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE_POINTER_RELAXED(dest, exchange, compare) _InterlockedCompareExchangePointer_nf((void**)(dest), (void*)(exchange), (void*)(compare)) -#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE_POINTER_ACQUIRE(dest, exchange, compare) _InterlockedCompareExchangePointer_acq((void**)(dest), (void*)(exchange), (void*)(compare)) -#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE_POINTER_RELEASE(dest, exchange, compare) _InterlockedCompareExchangePointer_rel((void**)(dest), (void*)(exchange), (void*)(compare)) - -#pragma intrinsic(_InterlockedExchangeAdd8_nf) -#pragma intrinsic(_InterlockedExchangeAdd8_acq) -#pragma intrinsic(_InterlockedExchangeAdd8_rel) -#pragma intrinsic(_InterlockedExchangeAdd16_nf) -#pragma intrinsic(_InterlockedExchangeAdd16_acq) -#pragma intrinsic(_InterlockedExchangeAdd16_rel) -#pragma intrinsic(_InterlockedExchangeAdd_nf) -#pragma intrinsic(_InterlockedExchangeAdd_acq) -#pragma intrinsic(_InterlockedExchangeAdd_rel) -#pragma intrinsic(_InterlockedExchangeAdd64_nf) -#pragma intrinsic(_InterlockedExchangeAdd64_acq) -#pragma intrinsic(_InterlockedExchangeAdd64_rel) - -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD8_RELAXED(dest, addend) _InterlockedExchangeAdd8_nf((char*)(dest), (char)(addend)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD8_ACQUIRE(dest, addend) _InterlockedExchangeAdd8_acq((char*)(dest), (char)(addend)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD8_RELEASE(dest, addend) _InterlockedExchangeAdd8_rel((char*)(dest), (char)(addend)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD16_RELAXED(dest, addend) _InterlockedExchangeAdd16_nf((short*)(dest), (short)(addend)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD16_ACQUIRE(dest, addend) _InterlockedExchangeAdd16_acq((short*)(dest), (short)(addend)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD16_RELEASE(dest, addend) _InterlockedExchangeAdd16_rel((short*)(dest), (short)(addend)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD_RELAXED(dest, addend) _InterlockedExchangeAdd_nf((long*)(dest), (long)(addend)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD_ACQUIRE(dest, addend) _InterlockedExchangeAdd_acq((long*)(dest), (long)(addend)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD_RELEASE(dest, addend) _InterlockedExchangeAdd_rel((long*)(dest), (long)(addend)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD64_RELAXED(dest, addend) _InterlockedExchangeAdd64_nf((__int64*)(dest), (__int64)(addend)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD64_ACQUIRE(dest, addend) _InterlockedExchangeAdd64_acq((__int64*)(dest), (__int64)(addend)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD64_RELEASE(dest, addend) _InterlockedExchangeAdd64_rel((__int64*)(dest), (__int64)(addend)) - -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD_POINTER(dest, byte_offset) ((void*)BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD((long*)(dest), byte_offset)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD_POINTER_RELAXED(dest, byte_offset) ((void*)BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD_RELAXED((long*)(dest), byte_offset)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD_POINTER_ACQUIRE(dest, byte_offset) ((void*)BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD_ACQUIRE((long*)(dest), byte_offset)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD_POINTER_RELEASE(dest, byte_offset) ((void*)BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD_RELEASE((long*)(dest), byte_offset)) - -#pragma intrinsic(_InterlockedExchange8_nf) -#pragma intrinsic(_InterlockedExchange8_acq) -#pragma intrinsic(_InterlockedExchange16_nf) -#pragma intrinsic(_InterlockedExchange16_acq) -#pragma intrinsic(_InterlockedExchange_nf) -#pragma intrinsic(_InterlockedExchange_acq) -#pragma intrinsic(_InterlockedExchange64_nf) -#pragma intrinsic(_InterlockedExchange64_acq) -#pragma intrinsic(_InterlockedExchangePointer) -#pragma intrinsic(_InterlockedExchangePointer_nf) -#pragma intrinsic(_InterlockedExchangePointer_acq) -#if _MSC_VER >= 1800 -#pragma intrinsic(_InterlockedExchange8_rel) -#pragma intrinsic(_InterlockedExchange16_rel) -#pragma intrinsic(_InterlockedExchange_rel) -#pragma intrinsic(_InterlockedExchange64_rel) -#pragma intrinsic(_InterlockedExchangePointer_rel) -#endif - -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE8_RELAXED(dest, newval) _InterlockedExchange8_nf((char*)(dest), (char)(newval)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE8_ACQUIRE(dest, newval) _InterlockedExchange8_acq((char*)(dest), (char)(newval)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE16_RELAXED(dest, newval) _InterlockedExchange16_nf((short*)(dest), (short)(newval)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE16_ACQUIRE(dest, newval) _InterlockedExchange16_acq((short*)(dest), (short)(newval)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_RELAXED(dest, newval) _InterlockedExchange_nf((long*)(dest), (long)(newval)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ACQUIRE(dest, newval) _InterlockedExchange_acq((long*)(dest), (long)(newval)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE64_RELAXED(dest, newval) _InterlockedExchange64_nf((__int64*)(dest), (__int64)(newval)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE64_ACQUIRE(dest, newval) _InterlockedExchange64_acq((__int64*)(dest), (__int64)(newval)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_POINTER(dest, newval) _InterlockedExchangePointer((void**)(dest), (void*)(newval)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_POINTER_RELAXED(dest, newval) _InterlockedExchangePointer_nf((void**)(dest), (void*)(newval)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_POINTER_ACQUIRE(dest, newval) _InterlockedExchangePointer_acq((void**)(dest), (void*)(newval)) - -#if _MSC_VER >= 1800 -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE8_RELEASE(dest, newval) _InterlockedExchange8_rel((char*)(dest), (char)(newval)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE16_RELEASE(dest, newval) _InterlockedExchange16_rel((short*)(dest), (short)(newval)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_RELEASE(dest, newval) _InterlockedExchange_rel((long*)(dest), (long)(newval)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE64_RELEASE(dest, newval) _InterlockedExchange64_rel((__int64*)(dest), (__int64)(newval)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_POINTER_RELEASE(dest, newval) _InterlockedExchangePointer_rel((void**)(dest), (void*)(newval)) -#else -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE8_RELEASE(dest, newval) BOOST_ATOMIC_INTERLOCKED_EXCHANGE8(dest, newval) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE16_RELEASE(dest, newval) BOOST_ATOMIC_INTERLOCKED_EXCHANGE16(dest, newval) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_RELEASE(dest, newval) BOOST_ATOMIC_INTERLOCKED_EXCHANGE(dest, newval) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE64_RELEASE(dest, newval) BOOST_ATOMIC_INTERLOCKED_EXCHANGE64(dest, newval) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_POINTER_RELEASE(dest, newval) BOOST_ATOMIC_INTERLOCKED_EXCHANGE_POINTER(dest, newval) -#endif - -#pragma intrinsic(_InterlockedAnd8_nf) -#pragma intrinsic(_InterlockedAnd8_acq) -#pragma intrinsic(_InterlockedAnd8_rel) -#pragma intrinsic(_InterlockedAnd16_nf) -#pragma intrinsic(_InterlockedAnd16_acq) -#pragma intrinsic(_InterlockedAnd16_rel) -#pragma intrinsic(_InterlockedAnd_nf) -#pragma intrinsic(_InterlockedAnd_acq) -#pragma intrinsic(_InterlockedAnd_rel) -#pragma intrinsic(_InterlockedAnd64_nf) -#pragma intrinsic(_InterlockedAnd64_acq) -#pragma intrinsic(_InterlockedAnd64_rel) - -#define BOOST_ATOMIC_INTERLOCKED_AND8_RELAXED(dest, arg) _InterlockedAnd8_nf((char*)(dest), (char)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_AND8_ACQUIRE(dest, arg) _InterlockedAnd8_acq((char*)(dest), (char)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_AND8_RELEASE(dest, arg) _InterlockedAnd8_rel((char*)(dest), (char)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_AND16_RELAXED(dest, arg) _InterlockedAnd16_nf((short*)(dest), (short)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_AND16_ACQUIRE(dest, arg) _InterlockedAnd16_acq((short*)(dest), (short)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_AND16_RELEASE(dest, arg) _InterlockedAnd16_rel((short*)(dest), (short)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_AND_RELAXED(dest, arg) _InterlockedAnd_nf((long*)(dest), (long)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_AND_ACQUIRE(dest, arg) _InterlockedAnd_acq((long*)(dest), (long)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_AND_RELEASE(dest, arg) _InterlockedAnd_rel((long*)(dest), (long)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_AND64_RELAXED(dest, arg) _InterlockedAnd64_nf((__int64*)(dest), (__int64)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_AND64_ACQUIRE(dest, arg) _InterlockedAnd64_acq((__int64*)(dest), (__int64)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_AND64_RELEASE(dest, arg) _InterlockedAnd64_rel((__int64*)(dest), (__int64)(arg)) - -#pragma intrinsic(_InterlockedOr8_nf) -#pragma intrinsic(_InterlockedOr8_acq) -#pragma intrinsic(_InterlockedOr8_rel) -#pragma intrinsic(_InterlockedOr16_nf) -#pragma intrinsic(_InterlockedOr16_acq) -#pragma intrinsic(_InterlockedOr16_rel) -#pragma intrinsic(_InterlockedOr_nf) -#pragma intrinsic(_InterlockedOr_acq) -#pragma intrinsic(_InterlockedOr_rel) -#pragma intrinsic(_InterlockedOr64_nf) -#pragma intrinsic(_InterlockedOr64_acq) -#pragma intrinsic(_InterlockedOr64_rel) - -#define BOOST_ATOMIC_INTERLOCKED_OR8_RELAXED(dest, arg) _InterlockedOr8_nf((char*)(dest), (char)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_OR8_ACQUIRE(dest, arg) _InterlockedOr8_acq((char*)(dest), (char)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_OR8_RELEASE(dest, arg) _InterlockedOr8_rel((char*)(dest), (char)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_OR16_RELAXED(dest, arg) _InterlockedOr16_nf((short*)(dest), (short)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_OR16_ACQUIRE(dest, arg) _InterlockedOr16_acq((short*)(dest), (short)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_OR16_RELEASE(dest, arg) _InterlockedOr16_rel((short*)(dest), (short)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_OR_RELAXED(dest, arg) _InterlockedOr_nf((long*)(dest), (long)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_OR_ACQUIRE(dest, arg) _InterlockedOr_acq((long*)(dest), (long)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_OR_RELEASE(dest, arg) _InterlockedOr_rel((long*)(dest), (long)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_OR64_RELAXED(dest, arg) _InterlockedOr64_nf((__int64*)(dest), (__int64)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_OR64_ACQUIRE(dest, arg) _InterlockedOr64_acq((__int64*)(dest), (__int64)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_OR64_RELEASE(dest, arg) _InterlockedOr64_rel((__int64*)(dest), (__int64)(arg)) - -#pragma intrinsic(_InterlockedXor8_nf) -#pragma intrinsic(_InterlockedXor8_acq) -#pragma intrinsic(_InterlockedXor8_rel) -#pragma intrinsic(_InterlockedXor16_nf) -#pragma intrinsic(_InterlockedXor16_acq) -#pragma intrinsic(_InterlockedXor16_rel) -#pragma intrinsic(_InterlockedXor_nf) -#pragma intrinsic(_InterlockedXor_acq) -#pragma intrinsic(_InterlockedXor_rel) -#pragma intrinsic(_InterlockedXor64_nf) -#pragma intrinsic(_InterlockedXor64_acq) -#pragma intrinsic(_InterlockedXor64_rel) - -#define BOOST_ATOMIC_INTERLOCKED_XOR8_RELAXED(dest, arg) _InterlockedXor8_nf((char*)(dest), (char)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_XOR8_ACQUIRE(dest, arg) _InterlockedXor8_acq((char*)(dest), (char)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_XOR8_RELEASE(dest, arg) _InterlockedXor8_rel((char*)(dest), (char)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_XOR16_RELAXED(dest, arg) _InterlockedXor16_nf((short*)(dest), (short)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_XOR16_ACQUIRE(dest, arg) _InterlockedXor16_acq((short*)(dest), (short)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_XOR16_RELEASE(dest, arg) _InterlockedXor16_rel((short*)(dest), (short)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_XOR_RELAXED(dest, arg) _InterlockedXor_nf((long*)(dest), (long)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_XOR_ACQUIRE(dest, arg) _InterlockedXor_acq((long*)(dest), (long)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_XOR_RELEASE(dest, arg) _InterlockedXor_rel((long*)(dest), (long)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_XOR64_RELAXED(dest, arg) _InterlockedXor64_nf((__int64*)(dest), (__int64)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_XOR64_ACQUIRE(dest, arg) _InterlockedXor64_acq((__int64*)(dest), (__int64)(arg)) -#define BOOST_ATOMIC_INTERLOCKED_XOR64_RELEASE(dest, arg) _InterlockedXor64_rel((__int64*)(dest), (__int64)(arg)) - -#endif // _MSC_VER >= 1700 && defined(_M_ARM) - -#endif // _MSC_VER < 1400 - -#else // defined(_MSC_VER) && _MSC_VER >= 1310 - -#if defined(BOOST_USE_WINDOWS_H) - -#include - -#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE(dest, exchange, compare) InterlockedCompareExchange((long*)(dest), (long)(exchange), (long)(compare)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE(dest, newval) InterlockedExchange((long*)(dest), (long)(newval)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD(dest, addend) InterlockedExchangeAdd((long*)(dest), (long)(addend)) - -#if defined(_WIN64) - -#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE64(dest, exchange, compare) InterlockedCompareExchange64((__int64*)(dest), (__int64)(exchange), (__int64)(compare)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE64(dest, newval) InterlockedExchange64((__int64*)(dest), (__int64)(newval)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD64(dest, addend) InterlockedExchangeAdd64((__int64*)(dest), (__int64)(addend)) - -#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest, exchange, compare) InterlockedCompareExchangePointer((void**)(dest), (void*)(exchange), (void*)(compare)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_POINTER(dest, newval) InterlockedExchangePointer((void**)(dest), (void*)(newval)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD_POINTER(dest, byte_offset) ((void*)BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD64(dest, byte_offset)) - -#else // defined(_WIN64) - -#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest, exchange, compare) ((void*)BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE(dest, exchange, compare)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_POINTER(dest, newval) ((void*)BOOST_ATOMIC_INTERLOCKED_EXCHANGE(dest, newval)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD_POINTER(dest, byte_offset) ((void*)BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD(dest, byte_offset)) - -#endif // defined(_WIN64) - -#else // defined(BOOST_USE_WINDOWS_H) - -#if defined(__MINGW64__) -#define BOOST_ATOMIC_INTERLOCKED_IMPORT -#else -#define BOOST_ATOMIC_INTERLOCKED_IMPORT __declspec(dllimport) -#endif - -namespace boost { -namespace atomics { -namespace detail { - -extern "C" { - -BOOST_ATOMIC_INTERLOCKED_IMPORT long __stdcall InterlockedCompareExchange(long volatile*, long, long); -BOOST_ATOMIC_INTERLOCKED_IMPORT long __stdcall InterlockedExchange(long volatile*, long); -BOOST_ATOMIC_INTERLOCKED_IMPORT long __stdcall InterlockedExchangeAdd(long volatile*, long); - -#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE(dest, exchange, compare) boost::atomics::detail::InterlockedCompareExchange((long*)(dest), (long)(exchange), (long)(compare)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE(dest, newval) boost::atomics::detail::InterlockedExchange((long*)(dest), (long)(newval)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD(dest, addend) boost::atomics::detail::InterlockedExchangeAdd((long*)(dest), (long)(addend)) - -#if defined(_WIN64) - -BOOST_ATOMIC_INTERLOCKED_IMPORT __int64 __stdcall InterlockedCompareExchange64(__int64 volatile*, __int64, __int64); -BOOST_ATOMIC_INTERLOCKED_IMPORT __int64 __stdcall InterlockedExchange64(__int64 volatile*, __int64); -BOOST_ATOMIC_INTERLOCKED_IMPORT __int64 __stdcall InterlockedExchangeAdd64(__int64 volatile*, __int64); - -BOOST_ATOMIC_INTERLOCKED_IMPORT void* __stdcall InterlockedCompareExchangePointer(void* volatile *, void*, void*); -BOOST_ATOMIC_INTERLOCKED_IMPORT void* __stdcall InterlockedExchangePointer(void* volatile *, void*); - -#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE64(dest, exchange, compare) boost::atomics::detail::InterlockedCompareExchange64((__int64*)(dest), (__int64)(exchange), (__int64)(compare)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE64(dest, newval) boost::atomics::detail::InterlockedExchange64((__int64*)(dest), (__int64)(newval)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD64(dest, addend) boost::atomics::detail::InterlockedExchangeAdd64((__int64*)(dest), (__int64)(addend)) - -#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest, exchange, compare) boost::atomics::detail::InterlockedCompareExchangePointer((void**)(dest), (void*)(exchange), (void*)(compare)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_POINTER(dest, newval) boost::atomics::detail::InterlockedExchangePointer((void**)(dest), (void*)(newval)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD_POINTER(dest, byte_offset) ((void*)BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD64(dest, byte_offset)) - -#else // defined(_WIN64) - -#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest, exchange, compare) ((void*)BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE(dest, exchange, compare)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_POINTER(dest, newval) ((void*)BOOST_ATOMIC_INTERLOCKED_EXCHANGE(dest, newval)) -#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD_POINTER(dest, byte_offset) ((void*)BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD(dest, byte_offset)) - -#endif // defined(_WIN64) - -} // extern "C" - -} // namespace detail -} // namespace atomics -} // namespace boost - -#undef BOOST_ATOMIC_INTERLOCKED_IMPORT - -#endif // defined(BOOST_USE_WINDOWS_H) - -#endif // defined(_MSC_VER) - -#endif diff --git a/bundled/boost-1.56.0/include/boost/atomic/detail/operations_fwd.hpp b/bundled/boost-1.56.0/include/boost/atomic/detail/operations_fwd.hpp deleted file mode 100644 index 69049e4630..0000000000 --- a/bundled/boost-1.56.0/include/boost/atomic/detail/operations_fwd.hpp +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or copy at - * http://www.boost.org/LICENSE_1_0.txt) - * - * Copyright (c) 2014 Andrey Semashev - */ -/*! - * \file atomic/detail/operations_fwd.hpp - * - * This header contains forward declaration of the \c operations template. - */ - -#ifndef BOOST_ATOMIC_DETAIL_OPERATIONS_FWD_HPP_INCLUDED_ -#define BOOST_ATOMIC_DETAIL_OPERATIONS_FWD_HPP_INCLUDED_ - -#include - -#ifdef BOOST_HAS_PRAGMA_ONCE -#pragma once -#endif - -namespace boost { -namespace atomics { -namespace detail { - -template< unsigned int Size, bool Signed > -struct operations; - -} // namespace detail -} // namespace atomics -} // namespace boost - -#endif // BOOST_ATOMIC_DETAIL_OPERATIONS_FWD_HPP_INCLUDED_ diff --git a/bundled/boost-1.56.0/include/boost/atomic/detail/ops_gcc_atomic.hpp b/bundled/boost-1.56.0/include/boost/atomic/detail/ops_gcc_atomic.hpp deleted file mode 100644 index 22977910c3..0000000000 --- a/bundled/boost-1.56.0/include/boost/atomic/detail/ops_gcc_atomic.hpp +++ /dev/null @@ -1,238 +0,0 @@ -/* - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or copy at - * http://www.boost.org/LICENSE_1_0.txt) - * - * Copyright (c) 2014 Andrey Semashev - */ -/*! - * \file atomic/detail/ops_gcc_atomic.hpp - * - * This header contains implementation of the \c operations template. - */ - -#ifndef BOOST_ATOMIC_DETAIL_OPS_GCC_ATOMIC_HPP_INCLUDED_ -#define BOOST_ATOMIC_DETAIL_OPS_GCC_ATOMIC_HPP_INCLUDED_ - -#include -#include -#include -#include -#include -#if defined(__clang__) && (defined(BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG8B) || defined(BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG16B)) -#include -#include -#endif - -#ifdef BOOST_HAS_PRAGMA_ONCE -#pragma once -#endif - -#if defined(__INTEL_COMPILER) -// This is used to suppress warning #32013 described below for Intel Compiler. -// In debug builds the compiler does not inline any functions, so basically -// every atomic function call results in this warning. I don't know any other -// way to selectively disable just this one warning. -#pragma system_header -#endif - -namespace boost { -namespace atomics { -namespace detail { - -/*! - * The function converts \c boost::memory_order values to the compiler-specific constants. - * - * NOTE: The intention is that the function is optimized away by the compiler, and the - * compiler-specific constants are passed to the intrinsics. I know constexpr doesn't - * work in this case because the standard atomics interface require memory ordering - * constants to be passed as function arguments, at which point they stop being constexpr. - * However it is crucial that the compiler sees constants and not runtime values, - * because otherwise it just ignores the ordering value and always uses seq_cst. - * This is the case with Intel C++ Compiler 14.0.3 (Composer XE 2013 SP1, update 3) and - * gcc 4.8.2. Intel Compiler issues a warning in this case: - * - * warning #32013: Invalid memory order specified. Defaulting to seq_cst memory order. - * - * while gcc acts silently. - * - * To mitigate the problem ALL functions, including the atomic<> members must be - * declared with BOOST_FORCEINLINE. In this case the compilers are able to see that - * all functions are called with constant orderings and call intrinstcts properly. - * - * Unfortunately, this still doesn't work in debug mode as the compiler doesn't - * inline functions even when marked with BOOST_FORCEINLINE. In this case all atomic - * operaions will be executed with seq_cst semantics. - */ -BOOST_FORCEINLINE BOOST_CONSTEXPR int convert_memory_order_to_gcc(memory_order order) BOOST_NOEXCEPT -{ - return (order == memory_order_relaxed ? __ATOMIC_RELAXED : (order == memory_order_consume ? __ATOMIC_CONSUME : - (order == memory_order_acquire ? __ATOMIC_ACQUIRE : (order == memory_order_release ? __ATOMIC_RELEASE : - (order == memory_order_acq_rel ? __ATOMIC_ACQ_REL : __ATOMIC_SEQ_CST))))); -} - -template< typename T > -struct gcc_atomic_operations -{ - typedef T storage_type; - - static BOOST_FORCEINLINE void store(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT - { - __atomic_store_n(&storage, v, atomics::detail::convert_memory_order_to_gcc(order)); - } - - static BOOST_FORCEINLINE storage_type load(storage_type const volatile& storage, memory_order order) BOOST_NOEXCEPT - { - return __atomic_load_n(&storage, atomics::detail::convert_memory_order_to_gcc(order)); - } - - static BOOST_FORCEINLINE storage_type fetch_add(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT - { - return __atomic_fetch_add(&storage, v, atomics::detail::convert_memory_order_to_gcc(order)); - } - - static BOOST_FORCEINLINE storage_type fetch_sub(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT - { - return __atomic_fetch_sub(&storage, v, atomics::detail::convert_memory_order_to_gcc(order)); - } - - static BOOST_FORCEINLINE storage_type exchange(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT - { - return __atomic_exchange_n(&storage, v, atomics::detail::convert_memory_order_to_gcc(order)); - } - - static BOOST_FORCEINLINE bool compare_exchange_strong( - storage_type volatile& storage, storage_type& expected, storage_type desired, memory_order success_order, memory_order failure_order) BOOST_NOEXCEPT - { - return __atomic_compare_exchange_n - ( - &storage, &expected, desired, false, - atomics::detail::convert_memory_order_to_gcc(success_order), - atomics::detail::convert_memory_order_to_gcc(failure_order) - ); - } - - static BOOST_FORCEINLINE bool compare_exchange_weak( - storage_type volatile& storage, storage_type& expected, storage_type desired, memory_order success_order, memory_order failure_order) BOOST_NOEXCEPT - { - return __atomic_compare_exchange_n - ( - &storage, &expected, desired, true, - atomics::detail::convert_memory_order_to_gcc(success_order), - atomics::detail::convert_memory_order_to_gcc(failure_order) - ); - } - - static BOOST_FORCEINLINE storage_type fetch_and(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT - { - return __atomic_fetch_and(&storage, v, atomics::detail::convert_memory_order_to_gcc(order)); - } - - static BOOST_FORCEINLINE storage_type fetch_or(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT - { - return __atomic_fetch_or(&storage, v, atomics::detail::convert_memory_order_to_gcc(order)); - } - - static BOOST_FORCEINLINE storage_type fetch_xor(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT - { - return __atomic_fetch_xor(&storage, v, atomics::detail::convert_memory_order_to_gcc(order)); - } - - static BOOST_FORCEINLINE bool test_and_set(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT - { - return __atomic_test_and_set(&storage, atomics::detail::convert_memory_order_to_gcc(order)); - } - - static BOOST_FORCEINLINE void clear(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT - { - __atomic_clear(const_cast< storage_type* >(&storage), atomics::detail::convert_memory_order_to_gcc(order)); - } - - static BOOST_FORCEINLINE bool is_lock_free(storage_type const volatile& storage) BOOST_NOEXCEPT - { - return __atomic_is_lock_free(sizeof(storage_type), &storage); - } -}; - -#if BOOST_ATOMIC_INT8_LOCK_FREE > 0 -template< bool Signed > -struct operations< 1u, Signed > : - public gcc_atomic_operations< typename make_storage_type< 1u, Signed >::type > -{ -}; -#endif - -#if BOOST_ATOMIC_INT16_LOCK_FREE > 0 -template< bool Signed > -struct operations< 2u, Signed > : - public gcc_atomic_operations< typename make_storage_type< 2u, Signed >::type > -{ -}; -#endif - -#if BOOST_ATOMIC_INT32_LOCK_FREE > 0 -template< bool Signed > -struct operations< 4u, Signed > : - public gcc_atomic_operations< typename make_storage_type< 4u, Signed >::type > -{ -}; -#endif - -#if BOOST_ATOMIC_INT64_LOCK_FREE > 0 -#if defined(__clang__) && defined(BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG8B) - -// Workaround for clang bug http://llvm.org/bugs/show_bug.cgi?id=19355 -template< bool Signed > -struct operations< 8u, Signed > : - public cas_based_operations< gcc_dcas_x86< Signed > > -{ -}; - -#else - -template< bool Signed > -struct operations< 8u, Signed > : - public gcc_atomic_operations< typename make_storage_type< 8u, Signed >::type > -{ -}; - -#endif -#endif - -#if BOOST_ATOMIC_INT128_LOCK_FREE > 0 -#if defined(__clang__) && defined(BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG16B) - -// Workaround for clang bug: http://llvm.org/bugs/show_bug.cgi?id=19149 -// Clang 3.4 does not implement 128-bit __atomic* intrinsics even though it defines __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 -template< bool Signed > -struct operations< 16u, Signed > : - public cas_based_operations< gcc_dcas_x86_64< Signed > > -{ -}; - -#else - -template< bool Signed > -struct operations< 16u, Signed > : - public gcc_atomic_operations< typename make_storage_type< 16u, Signed >::type > -{ -}; - -#endif -#endif - -BOOST_FORCEINLINE void thread_fence(memory_order order) BOOST_NOEXCEPT -{ - __atomic_thread_fence(atomics::detail::convert_memory_order_to_gcc(order)); -} - -BOOST_FORCEINLINE void signal_fence(memory_order order) BOOST_NOEXCEPT -{ - __atomic_signal_fence(atomics::detail::convert_memory_order_to_gcc(order)); -} - -} // namespace detail -} // namespace atomics -} // namespace boost - -#endif // BOOST_ATOMIC_DETAIL_OPS_GCC_ATOMIC_HPP_INCLUDED_ diff --git a/bundled/boost-1.56.0/include/boost/atomic/detail/ops_gcc_ppc.hpp b/bundled/boost-1.56.0/include/boost/atomic/detail/ops_gcc_ppc.hpp deleted file mode 100644 index 1a1fbb7f94..0000000000 --- a/bundled/boost-1.56.0/include/boost/atomic/detail/ops_gcc_ppc.hpp +++ /dev/null @@ -1,775 +0,0 @@ -/* - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or copy at - * http://www.boost.org/LICENSE_1_0.txt) - * - * Copyright (c) 2009 Helge Bahmann - * Copyright (c) 2013 Tim Blechmann - * Copyright (c) 2014 Andrey Semashev - */ -/*! - * \file atomic/detail/ops_gcc_ppc.hpp - * - * This header contains implementation of the \c operations template. - */ - -#ifndef BOOST_ATOMIC_DETAIL_OPS_GCC_PPC_HPP_INCLUDED_ -#define BOOST_ATOMIC_DETAIL_OPS_GCC_PPC_HPP_INCLUDED_ - -#include -#include -#include -#include -#include - -#ifdef BOOST_HAS_PRAGMA_ONCE -#pragma once -#endif - -namespace boost { -namespace atomics { -namespace detail { - -/* - Refer to: Motorola: "Programming Environments Manual for 32-Bit - Implementations of the PowerPC Architecture", Appendix E: - "Synchronization Programming Examples" for an explanation of what is - going on here (can be found on the web at various places by the - name "MPCFPE32B.pdf", Google is your friend...) - - Most of the atomic operations map to instructions in a relatively - straight-forward fashion, but "load"s may at first glance appear - a bit strange as they map to: - - lwz %rX, addr - cmpw %rX, %rX - bne- 1f - 1: - - That is, the CPU is forced to perform a branch that "formally" depends - on the value retrieved from memory. This scheme has an overhead of - about 1-2 clock cycles per load, but it allows to map "acquire" to - the "isync" instruction instead of "sync" uniformly and for all type - of atomic operations. Since "isync" has a cost of about 15 clock - cycles, while "sync" hast a cost of about 50 clock cycles, the small - penalty to atomic loads more than compensates for this. - - Byte- and halfword-sized atomic values are realized by encoding the - value to be represented into a word, performing sign/zero extension - as appropriate. This means that after add/sub operations the value - needs fixing up to accurately preserve the wrap-around semantic of - the smaller type. (Nothing special needs to be done for the bit-wise - and the "exchange type" operators as the compiler already sees to - it that values carried in registers are extended appropriately and - everything falls into place naturally). - - The register constraint "b" instructs gcc to use any register - except r0; this is sometimes required because the encoding for - r0 is used to signify "constant zero" in a number of instructions, - making r0 unusable in this place. For simplicity this constraint - is used everywhere since I am to lazy to look this up on a - per-instruction basis, and ppc has enough registers for this not - to pose a problem. -*/ - -// A note about memory_order_consume. Technically, this architecture allows to avoid -// unnecessary memory barrier after consume load since it supports data dependency ordering. -// However, some compiler optimizations may break a seemingly valid code relying on data -// dependency tracking by injecting bogus branches to aid out of order execution. -// This may happen not only in Boost.Atomic code but also in user's code, which we have no -// control of. See this thread: http://lists.boost.org/Archives/boost/2014/06/213890.php. -// For this reason we promote memory_order_consume to memory_order_acquire. - -struct gcc_ppc_operations_base -{ - static BOOST_FORCEINLINE void fence_before(memory_order order) BOOST_NOEXCEPT - { -#if defined(__powerpc64__) - if (order == memory_order_seq_cst) - __asm__ __volatile__ ("sync" ::: "memory"); - else if ((order & memory_order_release) != 0) - __asm__ __volatile__ ("lwsync" ::: "memory"); -#else - if ((order & memory_order_release) != 0) - __asm__ __volatile__ ("sync" ::: "memory"); -#endif - } - - static BOOST_FORCEINLINE void fence_after(memory_order order) BOOST_NOEXCEPT - { - if ((order & (memory_order_consume | memory_order_acquire)) != 0) - __asm__ __volatile__ ("isync" ::: "memory"); - } - - static BOOST_FORCEINLINE void fence_after_store(memory_order order) BOOST_NOEXCEPT - { - if (order == memory_order_seq_cst) - __asm__ __volatile__ ("sync" ::: "memory"); - } -}; - - -template< bool Signed > -struct operations< 4u, Signed > : - public gcc_ppc_operations_base -{ - typedef typename make_storage_type< 4u, Signed >::type storage_type; - - static BOOST_FORCEINLINE void store(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT - { - fence_before(order); - __asm__ __volatile__ - ( - "stw %1, %0\n" - : "+m" (storage) - : "r" (v) - ); - fence_after_store(order); - } - - static BOOST_FORCEINLINE storage_type load(storage_type const volatile& storage, memory_order order) BOOST_NOEXCEPT - { - storage_type v; - __asm__ __volatile__ - ( - "lwz %0, %1\n" - "cmpw %0, %0\n" - "bne- 1f\n" - "1:\n" - : "=&r" (v) - : "m" (storage) - : "cr0" - ); - fence_after(order); - return v; - } - - static BOOST_FORCEINLINE storage_type exchange(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT - { - storage_type original; - fence_before(order); - __asm__ __volatile__ - ( - "1:\n" - "lwarx %0,%y1\n" - "stwcx. %2,%y1\n" - "bne- 1b\n" - : "=&b" (original), "+Z" (storage) - : "b" (v) - : "cr0" - ); - fence_after(order); - return original; - } - - static BOOST_FORCEINLINE bool compare_exchange_weak( - storage_type volatile& storage, storage_type& expected, storage_type desired, memory_order success_order, memory_order failure_order) BOOST_NOEXCEPT - { - int success; - fence_before(success_order); - __asm__ __volatile__ - ( - "li %1, 0\n" - "lwarx %0,%y2\n" - "cmpw %0, %3\n" - "bne- 1f\n" - "stwcx. %4,%y2\n" - "bne- 1f\n" - "li %1, 1\n" - "1:" - : "=&b" (expected), "=&b" (success), "+Z" (storage) - : "b" (expected), "b" (desired) - : "cr0" - ); - if (success) - fence_after(success_order); - else - fence_after(failure_order); - return !!success; - } - - static BOOST_FORCEINLINE bool compare_exchange_strong( - storage_type volatile& storage, storage_type& expected, storage_type desired, memory_order success_order, memory_order failure_order) BOOST_NOEXCEPT - { - int success; - fence_before(success_order); - __asm__ __volatile__ - ( - "li %1, 0\n" - "0: lwarx %0,%y2\n" - "cmpw %0, %3\n" - "bne- 1f\n" - "stwcx. %4,%y2\n" - "bne- 0b\n" - "li %1, 1\n" - "1:" - : "=&b" (expected), "=&b" (success), "+Z" (storage) - : "b" (expected), "b" (desired) - : "cr0" - ); - if (success) - fence_after(success_order); - else - fence_after(failure_order); - return !!success; - } - - static BOOST_FORCEINLINE storage_type fetch_add(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT - { - storage_type original, tmp; - fence_before(order); - __asm__ __volatile__ - ( - "1:\n" - "lwarx %0,%y2\n" - "add %1,%0,%3\n" - "stwcx. %1,%y2\n" - "bne- 1b\n" - : "=&b" (original), "=&b" (tmp), "+Z" (storage) - : "b" (v) - : "cc" - ); - fence_after(order); - return original; - } - - static BOOST_FORCEINLINE storage_type fetch_sub(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT - { - storage_type original, tmp; - fence_before(order); - __asm__ __volatile__ - ( - "1:\n" - "lwarx %0,%y2\n" - "sub %1,%0,%3\n" - "stwcx. %1,%y2\n" - "bne- 1b\n" - : "=&b" (original), "=&b" (tmp), "+Z" (storage) - : "b" (v) - : "cc" - ); - fence_after(order); - return original; - } - - static BOOST_FORCEINLINE storage_type fetch_and(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT - { - storage_type original, tmp; - fence_before(order); - __asm__ __volatile__ - ( - "1:\n" - "lwarx %0,%y2\n" - "and %1,%0,%3\n" - "stwcx. %1,%y2\n" - "bne- 1b\n" - : "=&b" (original), "=&b" (tmp), "+Z" (storage) - : "b" (v) - : "cc" - ); - fence_after(order); - return original; - } - - static BOOST_FORCEINLINE storage_type fetch_or(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT - { - storage_type original, tmp; - fence_before(order); - __asm__ __volatile__ - ( - "1:\n" - "lwarx %0,%y2\n" - "or %1,%0,%3\n" - "stwcx. %1,%y2\n" - "bne- 1b\n" - : "=&b" (original), "=&b" (tmp), "+Z" (storage) - : "b" (v) - : "cc" - ); - fence_after(order); - return original; - } - - static BOOST_FORCEINLINE storage_type fetch_xor(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT - { - storage_type original, tmp; - fence_before(order); - __asm__ __volatile__ - ( - "1:\n" - "lwarx %0,%y2\n" - "xor %1,%0,%3\n" - "stwcx. %1,%y2\n" - "bne- 1b\n" - : "=&b" (original), "=&b" (tmp), "+Z" (storage) - : "b" (v) - : "cc" - ); - fence_after(order); - return original; - } - - static BOOST_FORCEINLINE bool test_and_set(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT - { - return !!exchange(storage, (storage_type)1, order); - } - - static BOOST_FORCEINLINE void clear(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT - { - store(storage, 0, order); - } - - static BOOST_FORCEINLINE bool is_lock_free(storage_type const volatile&) BOOST_NOEXCEPT - { - return true; - } -}; - - -template< > -struct operations< 1u, false > : - public operations< 4u, false > -{ - typedef operations< 4u, false > base_type; - typedef base_type::storage_type storage_type; - - static BOOST_FORCEINLINE storage_type fetch_add(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT - { - storage_type original, tmp; - fence_before(order); - __asm__ __volatile__ - ( - "1:\n" - "lwarx %0,%y2\n" - "add %1,%0,%3\n" - "rlwinm %1, %1, 0, 0xff\n" - "stwcx. %1,%y2\n" - "bne- 1b\n" - : "=&b" (original), "=&b" (tmp), "+Z" (storage) - : "b" (v) - : "cc" - ); - fence_after(order); - return original; - } - - static BOOST_FORCEINLINE storage_type fetch_sub(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT - { - storage_type original, tmp; - fence_before(order); - __asm__ __volatile__ - ( - "1:\n" - "lwarx %0,%y2\n" - "sub %1,%0,%3\n" - "rlwinm %1, %1, 0, 0xff\n" - "stwcx. %1,%y2\n" - "bne- 1b\n" - : "=&b" (original), "=&b" (tmp), "+Z" (storage) - : "b" (v) - : "cc" - ); - fence_after(order); - return original; - } -}; - -template< > -struct operations< 1u, true > : - public operations< 4u, true > -{ - typedef operations< 4u, true > base_type; - typedef base_type::storage_type storage_type; - - static BOOST_FORCEINLINE storage_type fetch_add(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT - { - storage_type original, tmp; - fence_before(order); - __asm__ __volatile__ - ( - "1:\n" - "lwarx %0,%y2\n" - "add %1,%0,%3\n" - "extsb %1, %1\n" - "stwcx. %1,%y2\n" - "bne- 1b\n" - : "=&b" (original), "=&b" (tmp), "+Z" (storage) - : "b" (v) - : "cc" - ); - fence_after(order); - return original; - } - - static BOOST_FORCEINLINE storage_type fetch_sub(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT - { - storage_type original, tmp; - fence_before(order); - __asm__ __volatile__ - ( - "1:\n" - "lwarx %0,%y2\n" - "sub %1,%0,%3\n" - "extsb %1, %1\n" - "stwcx. %1,%y2\n" - "bne- 1b\n" - : "=&b" (original), "=&b" (tmp), "+Z" (storage) - : "b" (v) - : "cc" - ); - fence_after(order); - return original; - } -}; - - -template< > -struct operations< 2u, false > : - public operations< 4u, false > -{ - typedef operations< 4u, false > base_type; - typedef base_type::storage_type storage_type; - - static BOOST_FORCEINLINE storage_type fetch_add(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT - { - storage_type original, tmp; - fence_before(order); - __asm__ __volatile__ - ( - "1:\n" - "lwarx %0,%y2\n" - "add %1,%0,%3\n" - "rlwinm %1, %1, 0, 0xffff\n" - "stwcx. %1,%y2\n" - "bne- 1b\n" - : "=&b" (original), "=&b" (tmp), "+Z" (storage) - : "b" (v) - : "cc" - ); - fence_after(order); - return original; - } - - static BOOST_FORCEINLINE storage_type fetch_sub(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT - { - storage_type original, tmp; - fence_before(order); - __asm__ __volatile__ - ( - "1:\n" - "lwarx %0,%y2\n" - "sub %1,%0,%3\n" - "rlwinm %1, %1, 0, 0xffff\n" - "stwcx. %1,%y2\n" - "bne- 1b\n" - : "=&b" (original), "=&b" (tmp), "+Z" (storage) - : "b" (v) - : "cc" - ); - fence_after(order); - return original; - } -}; - -template< > -struct operations< 2u, true > : - public operations< 4u, true > -{ - typedef operations< 4u, true > base_type; - typedef base_type::storage_type storage_type; - - static BOOST_FORCEINLINE storage_type fetch_add(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT - { - storage_type original, tmp; - fence_before(order); - __asm__ __volatile__ - ( - "1:\n" - "lwarx %0,%y2\n" - "add %1,%0,%3\n" - "extsh %1, %1\n" - "stwcx. %1,%y2\n" - "bne- 1b\n" - : "=&b" (original), "=&b" (tmp), "+Z" (storage) - : "b" (v) - : "cc" - ); - fence_after(order); - return original; - } - - static BOOST_FORCEINLINE storage_type fetch_sub(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT - { - storage_type original, tmp; - fence_before(order); - __asm__ __volatile__ - ( - "1:\n" - "lwarx %0,%y2\n" - "sub %1,%0,%3\n" - "extsh %1, %1\n" - "stwcx. %1,%y2\n" - "bne- 1b\n" - : "=&b" (original), "=&b" (tmp), "+Z" (storage) - : "b" (v) - : "cc" - ); - fence_after(order); - return original; - } -}; - - -#if defined(__powerpc64__) - -template< bool Signed > -struct operations< 8u, Signed > : - public gcc_ppc_operations_base -{ - typedef typename make_storage_type< 8u, Signed >::type storage_type; - - static BOOST_FORCEINLINE void store(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT - { - fence_before(order); - __asm__ __volatile__ - ( - "std %1, %0\n" - : "+m" (storage) - : "r" (v) - ); - fence_after_store(order); - } - - static BOOST_FORCEINLINE storage_type load(storage_type const volatile& storage, memory_order order) BOOST_NOEXCEPT - { - storage_type v; - __asm__ __volatile__ - ( - "ld %0, %1\n" - "cmpd %0, %0\n" - "bne- 1f\n" - "1:\n" - : "=&b" (v) - : "m" (storage) - : "cr0" - ); - fence_after(order); - return v; - } - - static BOOST_FORCEINLINE storage_type exchange(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT - { - storage_type original; - fence_before(order); - __asm__ __volatile__ - ( - "1:\n" - "ldarx %0,%y1\n" - "stdcx. %2,%y1\n" - "bne- 1b\n" - : "=&b" (original), "+Z" (storage) - : "b" (v) - : "cr0" - ); - fence_after(order); - return original; - } - - static BOOST_FORCEINLINE bool compare_exchange_weak( - storage_type volatile& storage, storage_type& expected, storage_type desired, memory_order success_order, memory_order failure_order) BOOST_NOEXCEPT - { - int success; - fence_before(success_order); - __asm__ __volatile__ - ( - "li %1, 0\n" - "ldarx %0,%y2\n" - "cmpd %0, %3\n" - "bne- 1f\n" - "stdcx. %4,%y2\n" - "bne- 1f\n" - "li %1, 1\n" - "1:" - : "=&b" (expected), "=&b" (success), "+Z" (storage) - : "b" (expected), "b" (desired) - : "cr0" - ); - if (success) - fence_after(success_order); - else - fence_after(failure_order); - return !!success; - } - - static BOOST_FORCEINLINE bool compare_exchange_strong( - storage_type volatile& storage, storage_type& expected, storage_type desired, memory_order success_order, memory_order failure_order) BOOST_NOEXCEPT - { - int success; - fence_before(success_order); - __asm__ __volatile__ - ( - "li %1, 0\n" - "0: ldarx %0,%y2\n" - "cmpd %0, %3\n" - "bne- 1f\n" - "stdcx. %4,%y2\n" - "bne- 0b\n" - "li %1, 1\n" - "1:" - : "=&b" (expected), "=&b" (success), "+Z" (storage) - : "b" (expected), "b" (desired) - : "cr0" - ); - if (success) - fence_after(success_order); - else - fence_after(failure_order); - return !!success; - } - - static BOOST_FORCEINLINE storage_type fetch_add(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT - { - storage_type original, tmp; - fence_before(order); - __asm__ __volatile__ - ( - "1:\n" - "ldarx %0,%y2\n" - "add %1,%0,%3\n" - "stdcx. %1,%y2\n" - "bne- 1b\n" - : "=&b" (original), "=&b" (tmp), "+Z" (storage) - : "b" (v) - : "cc" - ); - fence_after(order); - return original; - } - - static BOOST_FORCEINLINE storage_type fetch_sub(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT - { - storage_type original, tmp; - fence_before(order); - __asm__ __volatile__ - ( - "1:\n" - "ldarx %0,%y2\n" - "sub %1,%0,%3\n" - "stdcx. %1,%y2\n" - "bne- 1b\n" - : "=&b" (original), "=&b" (tmp), "+Z" (storage) - : "b" (v) - : "cc" - ); - fence_after(order); - return original; - } - - static BOOST_FORCEINLINE storage_type fetch_and(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT - { - storage_type original, tmp; - fence_before(order); - __asm__ __volatile__ - ( - "1:\n" - "ldarx %0,%y2\n" - "and %1,%0,%3\n" - "stdcx. %1,%y2\n" - "bne- 1b\n" - : "=&b" (original), "=&b" (tmp), "+Z" (storage) - : "b" (v) - : "cc" - ); - fence_after(order); - return original; - } - - static BOOST_FORCEINLINE storage_type fetch_or(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT - { - storage_type original, tmp; - fence_before(order); - __asm__ __volatile__ - ( - "1:\n" - "ldarx %0,%y2\n" - "or %1,%0,%3\n" - "stdcx. %1,%y2\n" - "bne- 1b\n" - : "=&b" (original), "=&b" (tmp), "+Z" (storage) - : "b" (v) - : "cc" - ); - fence_after(order); - return original; - } - - static BOOST_FORCEINLINE storage_type fetch_xor(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT - { - storage_type original, tmp; - fence_before(order); - __asm__ __volatile__ - ( - "1:\n" - "ldarx %0,%y2\n" - "xor %1,%0,%3\n" - "stdcx. %1,%y2\n" - "bne- 1b\n" - : "=&b" (original), "=&b" (tmp), "+Z" (storage) - : "b" (v) - : "cc" - ); - fence_after(order); - return original; - } - - static BOOST_FORCEINLINE bool test_and_set(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT - { - return !!exchange(storage, (storage_type)1, order); - } - - static BOOST_FORCEINLINE void clear(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT - { - store(storage, 0, order); - } - - static BOOST_FORCEINLINE bool is_lock_free(storage_type const volatile&) BOOST_NOEXCEPT - { - return true; - } -}; - -#endif // defined(__powerpc64__) - - -BOOST_FORCEINLINE void thread_fence(memory_order order) BOOST_NOEXCEPT -{ - switch (order) - { - case memory_order_consume: - case memory_order_acquire: - __asm__ __volatile__ ("isync" ::: "memory"); - break; - case memory_order_release: -#if defined(__powerpc64__) - __asm__ __volatile__ ("lwsync" ::: "memory"); - break; -#endif - case memory_order_acq_rel: - case memory_order_seq_cst: - __asm__ __volatile__ ("sync" ::: "memory"); - break; - default:; - } -} - -BOOST_FORCEINLINE void signal_fence(memory_order order) BOOST_NOEXCEPT -{ - if (order != memory_order_relaxed) - __asm__ __volatile__ ("" ::: "memory"); -} - -} // namespace detail -} // namespace atomics -} // namespace boost - -#endif // BOOST_ATOMIC_DETAIL_OPS_GCC_PPC_HPP_INCLUDED_ diff --git a/bundled/boost-1.56.0/include/boost/atomic/detail/ops_gcc_x86_dcas.hpp b/bundled/boost-1.56.0/include/boost/atomic/detail/ops_gcc_x86_dcas.hpp deleted file mode 100644 index 5e005359b5..0000000000 --- a/bundled/boost-1.56.0/include/boost/atomic/detail/ops_gcc_x86_dcas.hpp +++ /dev/null @@ -1,308 +0,0 @@ -/* - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or copy at - * http://www.boost.org/LICENSE_1_0.txt) - * - * Copyright (c) 2009 Helge Bahmann - * Copyright (c) 2012 Tim Blechmann - * Copyright (c) 2014 Andrey Semashev - */ -/*! - * \file atomic/detail/ops_gcc_x86_dcas.hpp - * - * This header contains implementation of the double-width CAS primitive for x86. - */ - -#ifndef BOOST_ATOMIC_DETAIL_OPS_GCC_X86_DCAS_HPP_INCLUDED_ -#define BOOST_ATOMIC_DETAIL_OPS_GCC_X86_DCAS_HPP_INCLUDED_ - -#include -#include -#include -#include -#include - -#ifdef BOOST_HAS_PRAGMA_ONCE -#pragma once -#endif - -namespace boost { -namespace atomics { -namespace detail { - -#if defined(BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG8B) - -template< bool Signed > -struct gcc_dcas_x86 -{ - typedef typename make_storage_type< 8u, Signed >::type storage_type; - - static BOOST_FORCEINLINE void store(storage_type volatile& storage, storage_type v, memory_order) BOOST_NOEXCEPT - { - if ((((uint32_t)&storage) & 0x00000007) == 0) - { -#if defined(__SSE2__) - __asm__ __volatile__ - ( -#if defined(__AVX__) - "vmovq %1, %%xmm4\n\t" - "vmovq %%xmm4, %0\n\t" -#else - "movq %1, %%xmm4\n\t" - "movq %%xmm4, %0\n\t" -#endif - : "=m" (storage) - : "m" (v) - : "memory", "xmm4" - ); -#else - __asm__ __volatile__ - ( - "fildll %1\n\t" - "fistpll %0\n\t" - : "=m" (storage) - : "m" (v) - : "memory" - ); -#endif - } - else - { -#if defined(__PIC__) - uint32_t scratch; - __asm__ __volatile__ - ( - "movl %%ebx, %[scratch]\n\t" - "movl %[value_lo], %%ebx\n\t" - "movl 0(%[dest]), %%eax\n\t" - "movl 4(%[dest]), %%edx\n\t" - ".align 16\n\t" - "1: lock; cmpxchg8b 0(%[dest])\n\t" - "jne 1b\n\t" - "movl %[scratch], %%ebx" - : [scratch] "=m,m" (scratch) - : [value_lo] "a,a" ((uint32_t)v), "c,c" ((uint32_t)(v >> 32)), [dest] "D,S" (&storage) - : "cc", "edx", "memory" - ); -#else - __asm__ __volatile__ - ( - "movl 0(%[dest]), %%eax\n\t" - "movl 4(%[dest]), %%edx\n\t" - ".align 16\n\t" - "1: lock; cmpxchg8b 0(%[dest])\n\t" - "jne 1b\n\t" - : - : [value_lo] "b,b" ((uint32_t)v), "c,c" ((uint32_t)(v >> 32)), [dest] "D,S" (&storage) - : "cc", "eax", "edx", "memory" - ); -#endif - } - } - - static BOOST_FORCEINLINE storage_type load(storage_type const volatile& storage, memory_order) BOOST_NOEXCEPT - { - storage_type value; - - if ((((uint32_t)&storage) & 0x00000007) == 0) - { -#if defined(__SSE2__) - __asm__ __volatile__ - ( -#if defined(__AVX__) - "vmovq %1, %%xmm4\n\t" - "vmovq %%xmm4, %0\n\t" -#else - "movq %1, %%xmm4\n\t" - "movq %%xmm4, %0\n\t" -#endif - : "=m" (value) - : "m" (storage) - : "memory", "xmm4" - ); -#else - __asm__ __volatile__ - ( - "fildll %1\n\t" - "fistpll %0\n\t" - : "=m" (value) - : "m" (storage) - : "memory" - ); -#endif - } - else - { -#if defined(__clang__) - // Clang cannot allocate eax:edx register pairs but it has sync intrinsics - value = __sync_val_compare_and_swap(&storage, (storage_type)0, (storage_type)0); -#else - // We don't care for comparison result here; the previous value will be stored into value anyway. - // Also we don't care for ebx and ecx values, they just have to be equal to eax and edx before cmpxchg8b. - __asm__ __volatile__ - ( - "movl %%ebx, %%eax\n\t" - "movl %%ecx, %%edx\n\t" - "lock; cmpxchg8b %[storage]" - : "=&A" (value) - : [storage] "m" (storage) - : "cc", "memory" - ); -#endif - } - - return value; - } - - static BOOST_FORCEINLINE bool compare_exchange_strong( - storage_type volatile& storage, storage_type& expected, storage_type desired, memory_order, memory_order) BOOST_NOEXCEPT - { -#if defined(__clang__) - // Clang cannot allocate eax:edx register pairs but it has sync intrinsics - storage_type old_expected = expected; - expected = __sync_val_compare_and_swap(&storage, old_expected, desired); - return expected == old_expected; -#elif defined(__PIC__) - // Make sure ebx is saved and restored properly in case - // of position independent code. To make this work - // setup register constraints such that ebx can not be - // used by accident e.g. as base address for the variable - // to be modified. Accessing "scratch" should always be okay, - // as it can only be placed on the stack (and therefore - // accessed through ebp or esp only). - // - // In theory, could push/pop ebx onto/off the stack, but movs - // to a prepared stack slot turn out to be faster. - - uint32_t scratch; - bool success; - __asm__ __volatile__ - ( - "movl %%ebx, %[scratch]\n\t" - "movl %[desired_lo], %%ebx\n\t" - "lock; cmpxchg8b %[dest]\n\t" - "movl %[scratch], %%ebx\n\t" - "sete %[success]" - : "+A,A,A,A,A,A" (expected), [dest] "+m,m,m,m,m,m" (storage), [scratch] "=m,m,m,m,m,m" (scratch), [success] "=q,m,q,m,q,m" (success) - : [desired_lo] "S,S,D,D,m,m" ((uint32_t)desired), "c,c,c,c,c,c" ((uint32_t)(desired >> 32)) - : "cc", "memory" - ); - return success; -#else - bool success; - __asm__ __volatile__ - ( - "lock; cmpxchg8b %[dest]\n\t" - "sete %[success]" - : "+A,A" (expected), [dest] "+m,m" (storage), [success] "=q,m" (success) - : "b,b" ((uint32_t)desired), "c,c" ((uint32_t)(desired >> 32)) - : "cc", "memory" - ); - return success; -#endif - } - - static BOOST_FORCEINLINE bool compare_exchange_weak( - storage_type volatile& storage, storage_type& expected, storage_type desired, memory_order success_order, memory_order failure_order) BOOST_NOEXCEPT - { - return compare_exchange_strong(storage, expected, desired, success_order, failure_order); - } - - static BOOST_FORCEINLINE bool is_lock_free(storage_type const volatile&) BOOST_NOEXCEPT - { - return true; - } -}; - -#endif // defined(BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG8B) - -#if defined(BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG16B) - -template< bool Signed > -struct gcc_dcas_x86_64 -{ - typedef typename make_storage_type< 16u, Signed >::type storage_type; - - static BOOST_FORCEINLINE void store(storage_type volatile& storage, storage_type v, memory_order) BOOST_NOEXCEPT - { - uint64_t const* p_value = (uint64_t const*)&v; - __asm__ __volatile__ - ( - "movq 0(%[dest]), %%rax\n\t" - "movq 8(%[dest]), %%rdx\n\t" - ".align 16\n\t" - "1: lock; cmpxchg16b 0(%[dest])\n\t" - "jne 1b" - : - : "b" (p_value[0]), "c" (p_value[1]), [dest] "r" (&storage) - : "cc", "rax", "rdx", "memory" - ); - } - - static BOOST_FORCEINLINE storage_type load(storage_type const volatile& storage, memory_order) BOOST_NOEXCEPT - { -#if defined(__clang__) - // Clang cannot allocate rax:rdx register pairs but it has sync intrinsics - storage_type value = storage_type(); - return __sync_val_compare_and_swap(&storage, value, value); -#else - storage_type value; - - // We don't care for comparison result here; the previous value will be stored into value anyway. - // Also we don't care for rbx and rcx values, they just have to be equal to rax and rdx before cmpxchg16b. - __asm__ __volatile__ - ( - "movq %%rbx, %%rax\n\t" - "movq %%rcx, %%rdx\n\t" - "lock; cmpxchg16b %[storage]" - : "=&A" (value) - : [storage] "m" (storage) - : "cc", "memory" - ); - - return value; -#endif - } - - static BOOST_FORCEINLINE bool compare_exchange_strong( - storage_type volatile& storage, storage_type& expected, storage_type desired, memory_order, memory_order) BOOST_NOEXCEPT - { -#if defined(__clang__) - // Clang cannot allocate rax:rdx register pairs but it has sync intrinsics - storage_type old_expected = expected; - expected = __sync_val_compare_and_swap(&storage, old_expected, desired); - return expected == old_expected; -#else - uint64_t const* p_desired = (uint64_t const*)&desired; - bool success; - __asm__ __volatile__ - ( - "lock; cmpxchg16b %[dest]\n\t" - "sete %[success]" - : "+A,A" (expected), [dest] "+m,m" (storage), [success] "=q,m" (success) - : "b,b" (p_desired[0]), "c,c" (p_desired[1]) - : "cc", "memory" - ); - return success; -#endif - } - - static BOOST_FORCEINLINE bool compare_exchange_weak( - storage_type volatile& storage, storage_type& expected, storage_type desired, memory_order success_order, memory_order failure_order) BOOST_NOEXCEPT - { - return compare_exchange_strong(storage, expected, desired, success_order, failure_order); - } - - static BOOST_FORCEINLINE bool is_lock_free(storage_type const volatile&) BOOST_NOEXCEPT - { - return true; - } -}; - -#endif // defined(BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG16B) - -} // namespace detail -} // namespace atomics -} // namespace boost - -#endif // BOOST_ATOMIC_DETAIL_OPS_GCC_X86_DCAS_HPP_INCLUDED_ diff --git a/bundled/boost-1.56.0/include/boost/atomic/detail/storage_type.hpp b/bundled/boost-1.56.0/include/boost/atomic/detail/storage_type.hpp deleted file mode 100644 index a024f1d327..0000000000 --- a/bundled/boost-1.56.0/include/boost/atomic/detail/storage_type.hpp +++ /dev/null @@ -1,168 +0,0 @@ -/* - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or copy at - * http://www.boost.org/LICENSE_1_0.txt) - * - * Copyright (c) 2009 Helge Bahmann - * Copyright (c) 2012 Tim Blechmann - * Copyright (c) 2013 - 2014 Andrey Semashev - */ -/*! - * \file atomic/detail/storage_type.hpp - * - * This header defines underlying types used as storage - */ - -#ifndef BOOST_ATOMIC_DETAIL_STORAGE_TYPE_HPP_INCLUDED_ -#define BOOST_ATOMIC_DETAIL_STORAGE_TYPE_HPP_INCLUDED_ - -#include -#include -#include - -#ifdef BOOST_HAS_PRAGMA_ONCE -#pragma once -#endif - -namespace boost { -namespace atomics { -namespace detail { - -template< unsigned int Size > -struct buffer_storage -{ - unsigned char data[Size]; - - BOOST_FORCEINLINE bool operator! () const BOOST_NOEXCEPT - { - bool result = true; - for (unsigned int i = 0; i < Size && result; ++i) - { - result &= data[i] == 0; - } - return result; - } - - BOOST_FORCEINLINE bool operator== (buffer_storage const& that) const BOOST_NOEXCEPT - { - return std::memcmp(data, that.data, Size) == 0; - } - - BOOST_FORCEINLINE bool operator!= (buffer_storage const& that) const BOOST_NOEXCEPT - { - return std::memcmp(data, that.data, Size) != 0; - } -}; - -template< unsigned int Size, bool Signed > -struct make_storage_type -{ - typedef buffer_storage< Size > type; -}; - -template< > -struct make_storage_type< 1u, false > -{ - typedef boost::uint8_t type; -}; - -template< > -struct make_storage_type< 1u, true > -{ - typedef boost::int8_t type; -}; - -template< > -struct make_storage_type< 2u, false > -{ - typedef boost::uint16_t type; -}; - -template< > -struct make_storage_type< 2u, true > -{ - typedef boost::int16_t type; -}; - -template< > -struct make_storage_type< 4u, false > -{ - typedef boost::uint32_t type; -}; - -template< > -struct make_storage_type< 4u, true > -{ - typedef boost::int32_t type; -}; - -template< > -struct make_storage_type< 8u, false > -{ - typedef boost::uint64_t type; -}; - -template< > -struct make_storage_type< 8u, true > -{ - typedef boost::int64_t type; -}; - -#if defined(BOOST_HAS_INT128) - -template< > -struct make_storage_type< 16u, false > -{ - typedef boost::uint128_type type; -}; - -template< > -struct make_storage_type< 16u, true > -{ - typedef boost::int128_type type; -}; - -#elif !defined(BOOST_NO_ALIGNMENT) - -struct BOOST_ALIGNMENT(16) storage128_t -{ - boost::uint64_t data[2]; - - BOOST_FORCEINLINE bool operator! () const BOOST_NOEXCEPT - { - return data[0] == 0 && data[1] == 0; - } -}; - -BOOST_FORCEINLINE bool operator== (storage128_t const& left, storage128_t const& right) BOOST_NOEXCEPT -{ - return left.data[0] == right.data[0] && left.data[1] == right.data[1]; -} -BOOST_FORCEINLINE bool operator!= (storage128_t const& left, storage128_t const& right) BOOST_NOEXCEPT -{ - return !(left == right); -} - -template< bool Signed > -struct make_storage_type< 16u, Signed > -{ - typedef storage128_t type; -}; - -#endif - -template< typename T > -struct storage_size_of -{ - enum _ - { - size = sizeof(T), - value = (size == 3 ? 4 : (size >= 5 && size <= 7 ? 8 : (size >= 9 && size <= 15 ? 16 : size))) - }; -}; - -} // namespace detail -} // namespace atomics -} // namespace boost - -#endif // BOOST_ATOMIC_DETAIL_STORAGE_TYPE_HPP_INCLUDED_ diff --git a/bundled/boost-1.56.0/include/boost/bind.hpp b/bundled/boost-1.56.0/include/boost/bind.hpp deleted file mode 100644 index fd3421ea5a..0000000000 --- a/bundled/boost-1.56.0/include/boost/bind.hpp +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef BOOST_BIND_HPP_INCLUDED -#define BOOST_BIND_HPP_INCLUDED - -// MS compatible compilers support #pragma once - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -// -// bind.hpp - binds function objects to arguments -// -// Copyright (c) 2009 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 -// -// See http://www.boost.org/libs/bind/bind.html for documentation. -// - -#include - -#endif // #ifndef BOOST_BIND_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/bind/bind.hpp b/bundled/boost-1.56.0/include/boost/bind/bind.hpp deleted file mode 100644 index fb670979d3..0000000000 --- a/bundled/boost-1.56.0/include/boost/bind/bind.hpp +++ /dev/null @@ -1,1751 +0,0 @@ -#ifndef BOOST_BIND_BIND_HPP_INCLUDED -#define BOOST_BIND_BIND_HPP_INCLUDED - -// MS compatible compilers support #pragma once - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -// -// bind.hpp - binds function objects to arguments -// -// Copyright (c) 2001-2004 Peter Dimov and Multi Media Ltd. -// Copyright (c) 2001 David Abrahams -// Copyright (c) 2005 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) -// -// See http://www.boost.org/libs/bind/bind.html for documentation. -// - -#include -#include -#include -#include -#include -#include -#include -#include - -// Borland-specific bug, visit_each() silently fails to produce code - -#if defined(__BORLANDC__) -# define BOOST_BIND_VISIT_EACH boost::visit_each -#else -# define BOOST_BIND_VISIT_EACH visit_each -#endif - -#include - -#ifdef BOOST_MSVC -# pragma warning(push) -# pragma warning(disable: 4512) // assignment operator could not be generated -#endif - -namespace boost -{ - -template class weak_ptr; - -namespace _bi // implementation details -{ - -// result_traits - -template struct result_traits -{ - typedef R type; -}; - -#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) - -struct unspecified {}; - -template struct result_traits -{ - typedef typename F::result_type type; -}; - -template struct result_traits< unspecified, reference_wrapper > -{ - typedef typename F::result_type type; -}; - -#endif - -// ref_compare - -template bool ref_compare( T const & a, T const & b, long ) -{ - return a == b; -} - -template bool ref_compare( arg const &, arg const &, int ) -{ - return true; -} - -template bool ref_compare( arg (*) (), arg (*) (), int ) -{ - return true; -} - -template bool ref_compare( reference_wrapper const & a, reference_wrapper const & b, int ) -{ - return a.get_pointer() == b.get_pointer(); -} - -// bind_t forward declaration for listN - -template class bind_t; - -template bool ref_compare( bind_t const & a, bind_t const & b, int ) -{ - return a.compare( b ); -} - -// value - -template class value -{ -public: - - value(T const & t): t_(t) {} - - T & get() { return t_; } - T const & get() const { return t_; } - - bool operator==(value const & rhs) const - { - return t_ == rhs.t_; - } - -private: - - T t_; -}; - -// ref_compare for weak_ptr - -template bool ref_compare( value< weak_ptr > const & a, value< weak_ptr > const & b, int ) -{ - return !(a.get() < b.get()) && !(b.get() < a.get()); -} - -// type - -template class type {}; - -// unwrap - -template struct unwrapper -{ - static inline F & unwrap( F & f, long ) - { - return f; - } - - template static inline F2 & unwrap( reference_wrapper rf, int ) - { - return rf.get(); - } - - template static inline _mfi::dm unwrap( R T::* pm, int ) - { - return _mfi::dm( pm ); - } -}; - -// listN - -class list0 -{ -public: - - list0() {} - - template T & operator[] (_bi::value & v) const { return v.get(); } - - template T const & operator[] (_bi::value const & v) const { return v.get(); } - - template T & operator[] (reference_wrapper const & v) const { return v.get(); } - - template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } - - template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } - - template R operator()(type, F & f, A &, long) - { - return unwrapper::unwrap(f, 0)(); - } - - template R operator()(type, F const & f, A &, long) const - { - return unwrapper::unwrap(f, 0)(); - } - - template void operator()(type, F & f, A &, int) - { - unwrapper::unwrap(f, 0)(); - } - - template void operator()(type, F const & f, A &, int) const - { - unwrapper::unwrap(f, 0)(); - } - - template void accept(V &) const - { - } - - bool operator==(list0 const &) const - { - return true; - } -}; - -#ifdef BOOST_MSVC -// MSVC is bright enough to realise that the parameter rhs -// in operator==may be unused for some template argument types: -#pragma warning(push) -#pragma warning(disable:4100) -#endif - -template< class A1 > class list1: private storage1< A1 > -{ -private: - - typedef storage1< A1 > base_type; - -public: - - explicit list1( A1 a1 ): base_type( a1 ) {} - - A1 operator[] (boost::arg<1>) const { return base_type::a1_; } - - A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; } - - template T & operator[] ( _bi::value & v ) const { return v.get(); } - - template T const & operator[] ( _bi::value const & v ) const { return v.get(); } - - template T & operator[] (reference_wrapper const & v) const { return v.get(); } - - template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } - - template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } - - template R operator()(type, F & f, A & a, long) - { - return unwrapper::unwrap(f, 0)(a[base_type::a1_]); - } - - template R operator()(type, F const & f, A & a, long) const - { - return unwrapper::unwrap(f, 0)(a[base_type::a1_]); - } - - template void operator()(type, F & f, A & a, int) - { - unwrapper::unwrap(f, 0)(a[base_type::a1_]); - } - - template void operator()(type, F const & f, A & a, int) const - { - unwrapper::unwrap(f, 0)(a[base_type::a1_]); - } - - template void accept(V & v) const - { - base_type::accept(v); - } - - bool operator==(list1 const & rhs) const - { - return ref_compare(base_type::a1_, rhs.a1_, 0); - } -}; - -struct logical_and; -struct logical_or; - -template< class A1, class A2 > class list2: private storage2< A1, A2 > -{ -private: - - typedef storage2< A1, A2 > base_type; - -public: - - list2( A1 a1, A2 a2 ): base_type( a1, a2 ) {} - - A1 operator[] (boost::arg<1>) const { return base_type::a1_; } - A2 operator[] (boost::arg<2>) const { return base_type::a2_; } - - A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; } - A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; } - - template T & operator[] (_bi::value & v) const { return v.get(); } - - template T const & operator[] (_bi::value const & v) const { return v.get(); } - - template T & operator[] (reference_wrapper const & v) const { return v.get(); } - - template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } - - template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } - - template R operator()(type, F & f, A & a, long) - { - return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]); - } - - template R operator()(type, F const & f, A & a, long) const - { - return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]); - } - - template void operator()(type, F & f, A & a, int) - { - unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]); - } - - template void operator()(type, F const & f, A & a, int) const - { - unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]); - } - - template bool operator()( type, logical_and & /*f*/, A & a, int ) - { - return a[ base_type::a1_ ] && a[ base_type::a2_ ]; - } - - template bool operator()( type, logical_and const & /*f*/, A & a, int ) const - { - return a[ base_type::a1_ ] && a[ base_type::a2_ ]; - } - - template bool operator()( type, logical_or & /*f*/, A & a, int ) - { - return a[ base_type::a1_ ] || a[ base_type::a2_ ]; - } - - template bool operator()( type, logical_or const & /*f*/, A & a, int ) const - { - return a[ base_type::a1_ ] || a[ base_type::a2_ ]; - } - - template void accept(V & v) const - { - base_type::accept(v); - } - - bool operator==(list2 const & rhs) const - { - return ref_compare(base_type::a1_, rhs.a1_, 0) && ref_compare(base_type::a2_, rhs.a2_, 0); - } -}; - -template< class A1, class A2, class A3 > class list3: private storage3< A1, A2, A3 > -{ -private: - - typedef storage3< A1, A2, A3 > base_type; - -public: - - list3( A1 a1, A2 a2, A3 a3 ): base_type( a1, a2, a3 ) {} - - A1 operator[] (boost::arg<1>) const { return base_type::a1_; } - A2 operator[] (boost::arg<2>) const { return base_type::a2_; } - A3 operator[] (boost::arg<3>) const { return base_type::a3_; } - - A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; } - A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; } - A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; } - - template T & operator[] (_bi::value & v) const { return v.get(); } - - template T const & operator[] (_bi::value const & v) const { return v.get(); } - - template T & operator[] (reference_wrapper const & v) const { return v.get(); } - - template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } - - template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } - - template R operator()(type, F & f, A & a, long) - { - return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]); - } - - template R operator()(type, F const & f, A & a, long) const - { - return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]); - } - - template void operator()(type, F & f, A & a, int) - { - unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]); - } - - template void operator()(type, F const & f, A & a, int) const - { - unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]); - } - - template void accept(V & v) const - { - base_type::accept(v); - } - - bool operator==(list3 const & rhs) const - { - return - - ref_compare( base_type::a1_, rhs.a1_, 0 ) && - ref_compare( base_type::a2_, rhs.a2_, 0 ) && - ref_compare( base_type::a3_, rhs.a3_, 0 ); - } -}; - -template< class A1, class A2, class A3, class A4 > class list4: private storage4< A1, A2, A3, A4 > -{ -private: - - typedef storage4< A1, A2, A3, A4 > base_type; - -public: - - list4( A1 a1, A2 a2, A3 a3, A4 a4 ): base_type( a1, a2, a3, a4 ) {} - - A1 operator[] (boost::arg<1>) const { return base_type::a1_; } - A2 operator[] (boost::arg<2>) const { return base_type::a2_; } - A3 operator[] (boost::arg<3>) const { return base_type::a3_; } - A4 operator[] (boost::arg<4>) const { return base_type::a4_; } - - A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; } - A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; } - A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; } - A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; } - - template T & operator[] (_bi::value & v) const { return v.get(); } - - template T const & operator[] (_bi::value const & v) const { return v.get(); } - - template T & operator[] (reference_wrapper const & v) const { return v.get(); } - - template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } - - template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } - - template R operator()(type, F & f, A & a, long) - { - return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]); - } - - template R operator()(type, F const & f, A & a, long) const - { - return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]); - } - - template void operator()(type, F & f, A & a, int) - { - unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]); - } - - template void operator()(type, F const & f, A & a, int) const - { - unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]); - } - - template void accept(V & v) const - { - base_type::accept(v); - } - - bool operator==(list4 const & rhs) const - { - return - - ref_compare( base_type::a1_, rhs.a1_, 0 ) && - ref_compare( base_type::a2_, rhs.a2_, 0 ) && - ref_compare( base_type::a3_, rhs.a3_, 0 ) && - ref_compare( base_type::a4_, rhs.a4_, 0 ); - } -}; - -template< class A1, class A2, class A3, class A4, class A5 > class list5: private storage5< A1, A2, A3, A4, A5 > -{ -private: - - typedef storage5< A1, A2, A3, A4, A5 > base_type; - -public: - - list5( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5 ): base_type( a1, a2, a3, a4, a5 ) {} - - A1 operator[] (boost::arg<1>) const { return base_type::a1_; } - A2 operator[] (boost::arg<2>) const { return base_type::a2_; } - A3 operator[] (boost::arg<3>) const { return base_type::a3_; } - A4 operator[] (boost::arg<4>) const { return base_type::a4_; } - A5 operator[] (boost::arg<5>) const { return base_type::a5_; } - - A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; } - A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; } - A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; } - A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; } - A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; } - - template T & operator[] (_bi::value & v) const { return v.get(); } - - template T const & operator[] (_bi::value const & v) const { return v.get(); } - - template T & operator[] (reference_wrapper const & v) const { return v.get(); } - - template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } - - template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } - - template R operator()(type, F & f, A & a, long) - { - return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]); - } - - template R operator()(type, F const & f, A & a, long) const - { - return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]); - } - - template void operator()(type, F & f, A & a, int) - { - unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]); - } - - template void operator()(type, F const & f, A & a, int) const - { - unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]); - } - - template void accept(V & v) const - { - base_type::accept(v); - } - - bool operator==(list5 const & rhs) const - { - return - - ref_compare( base_type::a1_, rhs.a1_, 0 ) && - ref_compare( base_type::a2_, rhs.a2_, 0 ) && - ref_compare( base_type::a3_, rhs.a3_, 0 ) && - ref_compare( base_type::a4_, rhs.a4_, 0 ) && - ref_compare( base_type::a5_, rhs.a5_, 0 ); - } -}; - -template class list6: private storage6< A1, A2, A3, A4, A5, A6 > -{ -private: - - typedef storage6< A1, A2, A3, A4, A5, A6 > base_type; - -public: - - list6( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6 ): base_type( a1, a2, a3, a4, a5, a6 ) {} - - A1 operator[] (boost::arg<1>) const { return base_type::a1_; } - A2 operator[] (boost::arg<2>) const { return base_type::a2_; } - A3 operator[] (boost::arg<3>) const { return base_type::a3_; } - A4 operator[] (boost::arg<4>) const { return base_type::a4_; } - A5 operator[] (boost::arg<5>) const { return base_type::a5_; } - A6 operator[] (boost::arg<6>) const { return base_type::a6_; } - - A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; } - A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; } - A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; } - A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; } - A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; } - A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; } - - template T & operator[] (_bi::value & v) const { return v.get(); } - - template T const & operator[] (_bi::value const & v) const { return v.get(); } - - template T & operator[] (reference_wrapper const & v) const { return v.get(); } - - template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } - - template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } - - template R operator()(type, F & f, A & a, long) - { - return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_]); - } - - template R operator()(type, F const & f, A & a, long) const - { - return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_]); - } - - template void operator()(type, F & f, A & a, int) - { - unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_]); - } - - template void operator()(type, F const & f, A & a, int) const - { - unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_]); - } - - template void accept(V & v) const - { - base_type::accept(v); - } - - bool operator==(list6 const & rhs) const - { - return - - ref_compare( base_type::a1_, rhs.a1_, 0 ) && - ref_compare( base_type::a2_, rhs.a2_, 0 ) && - ref_compare( base_type::a3_, rhs.a3_, 0 ) && - ref_compare( base_type::a4_, rhs.a4_, 0 ) && - ref_compare( base_type::a5_, rhs.a5_, 0 ) && - ref_compare( base_type::a6_, rhs.a6_, 0 ); - } -}; - -template class list7: private storage7< A1, A2, A3, A4, A5, A6, A7 > -{ -private: - - typedef storage7< A1, A2, A3, A4, A5, A6, A7 > base_type; - -public: - - list7( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7 ): base_type( a1, a2, a3, a4, a5, a6, a7 ) {} - - A1 operator[] (boost::arg<1>) const { return base_type::a1_; } - A2 operator[] (boost::arg<2>) const { return base_type::a2_; } - A3 operator[] (boost::arg<3>) const { return base_type::a3_; } - A4 operator[] (boost::arg<4>) const { return base_type::a4_; } - A5 operator[] (boost::arg<5>) const { return base_type::a5_; } - A6 operator[] (boost::arg<6>) const { return base_type::a6_; } - A7 operator[] (boost::arg<7>) const { return base_type::a7_; } - - A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; } - A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; } - A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; } - A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; } - A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; } - A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; } - A7 operator[] (boost::arg<7> (*) ()) const { return base_type::a7_; } - - template T & operator[] (_bi::value & v) const { return v.get(); } - - template T const & operator[] (_bi::value const & v) const { return v.get(); } - - template T & operator[] (reference_wrapper const & v) const { return v.get(); } - - template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } - - template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } - - template R operator()(type, F & f, A & a, long) - { - return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_]); - } - - template R operator()(type, F const & f, A & a, long) const - { - return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_]); - } - - template void operator()(type, F & f, A & a, int) - { - unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_]); - } - - template void operator()(type, F const & f, A & a, int) const - { - unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_]); - } - - template void accept(V & v) const - { - base_type::accept(v); - } - - bool operator==(list7 const & rhs) const - { - return - - ref_compare( base_type::a1_, rhs.a1_, 0 ) && - ref_compare( base_type::a2_, rhs.a2_, 0 ) && - ref_compare( base_type::a3_, rhs.a3_, 0 ) && - ref_compare( base_type::a4_, rhs.a4_, 0 ) && - ref_compare( base_type::a5_, rhs.a5_, 0 ) && - ref_compare( base_type::a6_, rhs.a6_, 0 ) && - ref_compare( base_type::a7_, rhs.a7_, 0 ); - } -}; - -template< class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8 > class list8: private storage8< A1, A2, A3, A4, A5, A6, A7, A8 > -{ -private: - - typedef storage8< A1, A2, A3, A4, A5, A6, A7, A8 > base_type; - -public: - - list8( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8 ): base_type( a1, a2, a3, a4, a5, a6, a7, a8 ) {} - - A1 operator[] (boost::arg<1>) const { return base_type::a1_; } - A2 operator[] (boost::arg<2>) const { return base_type::a2_; } - A3 operator[] (boost::arg<3>) const { return base_type::a3_; } - A4 operator[] (boost::arg<4>) const { return base_type::a4_; } - A5 operator[] (boost::arg<5>) const { return base_type::a5_; } - A6 operator[] (boost::arg<6>) const { return base_type::a6_; } - A7 operator[] (boost::arg<7>) const { return base_type::a7_; } - A8 operator[] (boost::arg<8>) const { return base_type::a8_; } - - A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; } - A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; } - A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; } - A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; } - A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; } - A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; } - A7 operator[] (boost::arg<7> (*) ()) const { return base_type::a7_; } - A8 operator[] (boost::arg<8> (*) ()) const { return base_type::a8_; } - - template T & operator[] (_bi::value & v) const { return v.get(); } - - template T const & operator[] (_bi::value const & v) const { return v.get(); } - - template T & operator[] (reference_wrapper const & v) const { return v.get(); } - - template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } - - template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } - - template R operator()(type, F & f, A & a, long) - { - return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_]); - } - - template R operator()(type, F const & f, A & a, long) const - { - return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_]); - } - - template void operator()(type, F & f, A & a, int) - { - unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_]); - } - - template void operator()(type, F const & f, A & a, int) const - { - unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_]); - } - - template void accept(V & v) const - { - base_type::accept(v); - } - - bool operator==(list8 const & rhs) const - { - return - - ref_compare( base_type::a1_, rhs.a1_, 0 ) && - ref_compare( base_type::a2_, rhs.a2_, 0 ) && - ref_compare( base_type::a3_, rhs.a3_, 0 ) && - ref_compare( base_type::a4_, rhs.a4_, 0 ) && - ref_compare( base_type::a5_, rhs.a5_, 0 ) && - ref_compare( base_type::a6_, rhs.a6_, 0 ) && - ref_compare( base_type::a7_, rhs.a7_, 0 ) && - ref_compare( base_type::a8_, rhs.a8_, 0 ); - } -}; - -template class list9: private storage9< A1, A2, A3, A4, A5, A6, A7, A8, A9 > -{ -private: - - typedef storage9< A1, A2, A3, A4, A5, A6, A7, A8, A9 > base_type; - -public: - - list9( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9 ): base_type( a1, a2, a3, a4, a5, a6, a7, a8, a9 ) {} - - A1 operator[] (boost::arg<1>) const { return base_type::a1_; } - A2 operator[] (boost::arg<2>) const { return base_type::a2_; } - A3 operator[] (boost::arg<3>) const { return base_type::a3_; } - A4 operator[] (boost::arg<4>) const { return base_type::a4_; } - A5 operator[] (boost::arg<5>) const { return base_type::a5_; } - A6 operator[] (boost::arg<6>) const { return base_type::a6_; } - A7 operator[] (boost::arg<7>) const { return base_type::a7_; } - A8 operator[] (boost::arg<8>) const { return base_type::a8_; } - A9 operator[] (boost::arg<9>) const { return base_type::a9_; } - - A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; } - A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; } - A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; } - A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; } - A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; } - A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; } - A7 operator[] (boost::arg<7> (*) ()) const { return base_type::a7_; } - A8 operator[] (boost::arg<8> (*) ()) const { return base_type::a8_; } - A9 operator[] (boost::arg<9> (*) ()) const { return base_type::a9_; } - - template T & operator[] (_bi::value & v) const { return v.get(); } - - template T const & operator[] (_bi::value const & v) const { return v.get(); } - - template T & operator[] (reference_wrapper const & v) const { return v.get(); } - - template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } - - template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } - - template R operator()(type, F & f, A & a, long) - { - return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_], a[base_type::a9_]); - } - - template R operator()(type, F const & f, A & a, long) const - { - return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_], a[base_type::a9_]); - } - - template void operator()(type, F & f, A & a, int) - { - unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_], a[base_type::a9_]); - } - - template void operator()(type, F const & f, A & a, int) const - { - unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_], a[base_type::a9_]); - } - - template void accept(V & v) const - { - base_type::accept(v); - } - - bool operator==(list9 const & rhs) const - { - return - - ref_compare( base_type::a1_, rhs.a1_, 0 ) && - ref_compare( base_type::a2_, rhs.a2_, 0 ) && - ref_compare( base_type::a3_, rhs.a3_, 0 ) && - ref_compare( base_type::a4_, rhs.a4_, 0 ) && - ref_compare( base_type::a5_, rhs.a5_, 0 ) && - ref_compare( base_type::a6_, rhs.a6_, 0 ) && - ref_compare( base_type::a7_, rhs.a7_, 0 ) && - ref_compare( base_type::a8_, rhs.a8_, 0 ) && - ref_compare( base_type::a9_, rhs.a9_, 0 ); - } -}; - -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -// bind_t - -#ifndef BOOST_NO_VOID_RETURNS - -template class bind_t -{ -public: - - typedef bind_t this_type; - - bind_t(F f, L const & l): f_(f), l_(l) {} - -#define BOOST_BIND_RETURN return -#include -#undef BOOST_BIND_RETURN - -}; - -#else - -template struct bind_t_generator -{ - -template class implementation -{ -public: - - typedef implementation this_type; - - implementation(F f, L const & l): f_(f), l_(l) {} - -#define BOOST_BIND_RETURN return -#include -#undef BOOST_BIND_RETURN - -}; - -}; - -template<> struct bind_t_generator -{ - -template class implementation -{ -private: - - typedef void R; - -public: - - typedef implementation this_type; - - implementation(F f, L const & l): f_(f), l_(l) {} - -#define BOOST_BIND_RETURN -#include -#undef BOOST_BIND_RETURN - -}; - -}; - -template class bind_t: public bind_t_generator::BOOST_NESTED_TEMPLATE implementation -{ -public: - - bind_t(F f, L const & l): bind_t_generator::BOOST_NESTED_TEMPLATE implementation(f, l) {} - -}; - -#endif - -// function_equal - -#ifndef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP - -// put overloads in _bi, rely on ADL - -# ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING - -template bool function_equal( bind_t const & a, bind_t const & b ) -{ - return a.compare(b); -} - -# else - -template bool function_equal_impl( bind_t const & a, bind_t const & b, int ) -{ - return a.compare(b); -} - -# endif // #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING - -#else // BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP - -// put overloads in boost - -} // namespace _bi - -# ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING - -template bool function_equal( _bi::bind_t const & a, _bi::bind_t const & b ) -{ - return a.compare(b); -} - -# else - -template bool function_equal_impl( _bi::bind_t const & a, _bi::bind_t const & b, int ) -{ - return a.compare(b); -} - -# endif // #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING - -namespace _bi -{ - -#endif // BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP - -// add_value - -#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) || (__SUNPRO_CC >= 0x530) - -#if defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x582) ) - -template struct add_value -{ - typedef _bi::value type; -}; - -#else - -template< class T, int I > struct add_value_2 -{ - typedef boost::arg type; -}; - -template< class T > struct add_value_2< T, 0 > -{ - typedef _bi::value< T > type; -}; - -template struct add_value -{ - typedef typename add_value_2< T, boost::is_placeholder< T >::value >::type type; -}; - -#endif - -template struct add_value< value > -{ - typedef _bi::value type; -}; - -template struct add_value< reference_wrapper > -{ - typedef reference_wrapper type; -}; - -template struct add_value< arg > -{ - typedef boost::arg type; -}; - -template struct add_value< arg (*) () > -{ - typedef boost::arg (*type) (); -}; - -template struct add_value< bind_t > -{ - typedef bind_t type; -}; - -#else - -template struct _avt_0; - -template<> struct _avt_0<1> -{ - template struct inner - { - typedef T type; - }; -}; - -template<> struct _avt_0<2> -{ - template struct inner - { - typedef value type; - }; -}; - -typedef char (&_avt_r1) [1]; -typedef char (&_avt_r2) [2]; - -template _avt_r1 _avt_f(value); -template _avt_r1 _avt_f(reference_wrapper); -template _avt_r1 _avt_f(arg); -template _avt_r1 _avt_f(arg (*) ()); -template _avt_r1 _avt_f(bind_t); - -_avt_r2 _avt_f(...); - -template struct add_value -{ - static T t(); - typedef typename _avt_0::template inner::type type; -}; - -#endif - -// list_av_N - -template struct list_av_1 -{ - typedef typename add_value::type B1; - typedef list1 type; -}; - -template struct list_av_2 -{ - typedef typename add_value::type B1; - typedef typename add_value::type B2; - typedef list2 type; -}; - -template struct list_av_3 -{ - typedef typename add_value::type B1; - typedef typename add_value::type B2; - typedef typename add_value::type B3; - typedef list3 type; -}; - -template struct list_av_4 -{ - typedef typename add_value::type B1; - typedef typename add_value::type B2; - typedef typename add_value::type B3; - typedef typename add_value::type B4; - typedef list4 type; -}; - -template struct list_av_5 -{ - typedef typename add_value::type B1; - typedef typename add_value::type B2; - typedef typename add_value::type B3; - typedef typename add_value::type B4; - typedef typename add_value::type B5; - typedef list5 type; -}; - -template struct list_av_6 -{ - typedef typename add_value::type B1; - typedef typename add_value::type B2; - typedef typename add_value::type B3; - typedef typename add_value::type B4; - typedef typename add_value::type B5; - typedef typename add_value::type B6; - typedef list6 type; -}; - -template struct list_av_7 -{ - typedef typename add_value::type B1; - typedef typename add_value::type B2; - typedef typename add_value::type B3; - typedef typename add_value::type B4; - typedef typename add_value::type B5; - typedef typename add_value::type B6; - typedef typename add_value::type B7; - typedef list7 type; -}; - -template struct list_av_8 -{ - typedef typename add_value::type B1; - typedef typename add_value::type B2; - typedef typename add_value::type B3; - typedef typename add_value::type B4; - typedef typename add_value::type B5; - typedef typename add_value::type B6; - typedef typename add_value::type B7; - typedef typename add_value::type B8; - typedef list8 type; -}; - -template struct list_av_9 -{ - typedef typename add_value::type B1; - typedef typename add_value::type B2; - typedef typename add_value::type B3; - typedef typename add_value::type B4; - typedef typename add_value::type B5; - typedef typename add_value::type B6; - typedef typename add_value::type B7; - typedef typename add_value::type B8; - typedef typename add_value::type B9; - typedef list9 type; -}; - -// operator! - -struct logical_not -{ - template bool operator()(V const & v) const { return !v; } -}; - -template - bind_t< bool, logical_not, list1< bind_t > > - operator! (bind_t const & f) -{ - typedef list1< bind_t > list_type; - return bind_t ( logical_not(), list_type(f) ); -} - -// relational operators - -#define BOOST_BIND_OPERATOR( op, name ) \ -\ -struct name \ -{ \ - template bool operator()(V const & v, W const & w) const { return v op w; } \ -}; \ - \ -template \ - bind_t< bool, name, list2< bind_t, typename add_value::type > > \ - operator op (bind_t const & f, A2 a2) \ -{ \ - typedef typename add_value::type B2; \ - typedef list2< bind_t, B2> list_type; \ - return bind_t ( name(), list_type(f, a2) ); \ -} - -BOOST_BIND_OPERATOR( ==, equal ) -BOOST_BIND_OPERATOR( !=, not_equal ) - -BOOST_BIND_OPERATOR( <, less ) -BOOST_BIND_OPERATOR( <=, less_equal ) - -BOOST_BIND_OPERATOR( >, greater ) -BOOST_BIND_OPERATOR( >=, greater_equal ) - -BOOST_BIND_OPERATOR( &&, logical_and ) -BOOST_BIND_OPERATOR( ||, logical_or ) - -#undef BOOST_BIND_OPERATOR - -#if defined(__GNUC__) && BOOST_WORKAROUND(__GNUC__, < 3) - -// resolve ambiguity with rel_ops - -#define BOOST_BIND_OPERATOR( op, name ) \ -\ -template \ - bind_t< bool, name, list2< bind_t, bind_t > > \ - operator op (bind_t const & f, bind_t const & g) \ -{ \ - typedef list2< bind_t, bind_t > list_type; \ - return bind_t ( name(), list_type(f, g) ); \ -} - -BOOST_BIND_OPERATOR( !=, not_equal ) -BOOST_BIND_OPERATOR( <=, less_equal ) -BOOST_BIND_OPERATOR( >, greater ) -BOOST_BIND_OPERATOR( >=, greater_equal ) - -#endif - -// visit_each, ADL - -#if !defined( BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ) && !defined( __BORLANDC__ ) \ - && !(defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3) - -template void visit_each( V & v, value const & t, int ) -{ - using boost::visit_each; - BOOST_BIND_VISIT_EACH( v, t.get(), 0 ); -} - -template void visit_each( V & v, bind_t const & t, int ) -{ - t.accept( v ); -} - -#endif - -} // namespace _bi - -// visit_each, no ADL - -#if defined( BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ) || defined( __BORLANDC__ ) \ - || (defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3) - -template void visit_each( V & v, _bi::value const & t, int ) -{ - BOOST_BIND_VISIT_EACH( v, t.get(), 0 ); -} - -template void visit_each( V & v, _bi::bind_t const & t, int ) -{ - t.accept( v ); -} - -#endif - -// is_bind_expression - -template< class T > struct is_bind_expression -{ - enum _vt { value = 0 }; -}; - -#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) - -template< class R, class F, class L > struct is_bind_expression< _bi::bind_t< R, F, L > > -{ - enum _vt { value = 1 }; -}; - -#endif - -// bind - -#ifndef BOOST_BIND -#define BOOST_BIND bind -#endif - -// generic function objects - -template - _bi::bind_t - BOOST_BIND(F f) -{ - typedef _bi::list0 list_type; - return _bi::bind_t (f, list_type()); -} - -template - _bi::bind_t::type> - BOOST_BIND(F f, A1 a1) -{ - typedef typename _bi::list_av_1::type list_type; - return _bi::bind_t (f, list_type(a1)); -} - -template - _bi::bind_t::type> - BOOST_BIND(F f, A1 a1, A2 a2) -{ - typedef typename _bi::list_av_2::type list_type; - return _bi::bind_t (f, list_type(a1, a2)); -} - -template - _bi::bind_t::type> - BOOST_BIND(F f, A1 a1, A2 a2, A3 a3) -{ - typedef typename _bi::list_av_3::type list_type; - return _bi::bind_t(f, list_type(a1, a2, a3)); -} - -template - _bi::bind_t::type> - BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4) -{ - typedef typename _bi::list_av_4::type list_type; - return _bi::bind_t(f, list_type(a1, a2, a3, a4)); -} - -template - _bi::bind_t::type> - BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) -{ - typedef typename _bi::list_av_5::type list_type; - return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5)); -} - -template - _bi::bind_t::type> - BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) -{ - typedef typename _bi::list_av_6::type list_type; - return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6)); -} - -template - _bi::bind_t::type> - BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) -{ - typedef typename _bi::list_av_7::type list_type; - return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6, a7)); -} - -template - _bi::bind_t::type> - BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) -{ - typedef typename _bi::list_av_8::type list_type; - return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8)); -} - -template - _bi::bind_t::type> - BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) -{ - typedef typename _bi::list_av_9::type list_type; - return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9)); -} - -// generic function objects, alternative syntax - -template - _bi::bind_t - BOOST_BIND(boost::type, F f) -{ - typedef _bi::list0 list_type; - return _bi::bind_t (f, list_type()); -} - -template - _bi::bind_t::type> - BOOST_BIND(boost::type, F f, A1 a1) -{ - typedef typename _bi::list_av_1::type list_type; - return _bi::bind_t (f, list_type(a1)); -} - -template - _bi::bind_t::type> - BOOST_BIND(boost::type, F f, A1 a1, A2 a2) -{ - typedef typename _bi::list_av_2::type list_type; - return _bi::bind_t (f, list_type(a1, a2)); -} - -template - _bi::bind_t::type> - BOOST_BIND(boost::type, F f, A1 a1, A2 a2, A3 a3) -{ - typedef typename _bi::list_av_3::type list_type; - return _bi::bind_t(f, list_type(a1, a2, a3)); -} - -template - _bi::bind_t::type> - BOOST_BIND(boost::type, F f, A1 a1, A2 a2, A3 a3, A4 a4) -{ - typedef typename _bi::list_av_4::type list_type; - return _bi::bind_t(f, list_type(a1, a2, a3, a4)); -} - -template - _bi::bind_t::type> - BOOST_BIND(boost::type, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) -{ - typedef typename _bi::list_av_5::type list_type; - return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5)); -} - -template - _bi::bind_t::type> - BOOST_BIND(boost::type, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) -{ - typedef typename _bi::list_av_6::type list_type; - return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6)); -} - -template - _bi::bind_t::type> - BOOST_BIND(boost::type, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) -{ - typedef typename _bi::list_av_7::type list_type; - return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6, a7)); -} - -template - _bi::bind_t::type> - BOOST_BIND(boost::type, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) -{ - typedef typename _bi::list_av_8::type list_type; - return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8)); -} - -template - _bi::bind_t::type> - BOOST_BIND(boost::type, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) -{ - typedef typename _bi::list_av_9::type list_type; - return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9)); -} - -#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) - -// adaptable function objects - -template - _bi::bind_t<_bi::unspecified, F, _bi::list0> - BOOST_BIND(F f) -{ - typedef _bi::list0 list_type; - return _bi::bind_t<_bi::unspecified, F, list_type> (f, list_type()); -} - -template - _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_1::type> - BOOST_BIND(F f, A1 a1) -{ - typedef typename _bi::list_av_1::type list_type; - return _bi::bind_t<_bi::unspecified, F, list_type> (f, list_type(a1)); -} - -template - _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_2::type> - BOOST_BIND(F f, A1 a1, A2 a2) -{ - typedef typename _bi::list_av_2::type list_type; - return _bi::bind_t<_bi::unspecified, F, list_type> (f, list_type(a1, a2)); -} - -template - _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_3::type> - BOOST_BIND(F f, A1 a1, A2 a2, A3 a3) -{ - typedef typename _bi::list_av_3::type list_type; - return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3)); -} - -template - _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_4::type> - BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4) -{ - typedef typename _bi::list_av_4::type list_type; - return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4)); -} - -template - _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_5::type> - BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) -{ - typedef typename _bi::list_av_5::type list_type; - return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5)); -} - -template - _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_6::type> - BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) -{ - typedef typename _bi::list_av_6::type list_type; - return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6)); -} - -template - _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_7::type> - BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) -{ - typedef typename _bi::list_av_7::type list_type; - return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7)); -} - -template - _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_8::type> - BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) -{ - typedef typename _bi::list_av_8::type list_type; - return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8)); -} - -template - _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_9::type> - BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) -{ - typedef typename _bi::list_av_9::type list_type; - return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9)); -} - -#endif // !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) - -// function pointers - -#define BOOST_BIND_CC -#define BOOST_BIND_ST - -#include - -#undef BOOST_BIND_CC -#undef BOOST_BIND_ST - -#ifdef BOOST_BIND_ENABLE_STDCALL - -#define BOOST_BIND_CC __stdcall -#define BOOST_BIND_ST - -#include - -#undef BOOST_BIND_CC -#undef BOOST_BIND_ST - -#endif - -#ifdef BOOST_BIND_ENABLE_FASTCALL - -#define BOOST_BIND_CC __fastcall -#define BOOST_BIND_ST - -#include - -#undef BOOST_BIND_CC -#undef BOOST_BIND_ST - -#endif - -#ifdef BOOST_BIND_ENABLE_PASCAL - -#define BOOST_BIND_ST pascal -#define BOOST_BIND_CC - -#include - -#undef BOOST_BIND_ST -#undef BOOST_BIND_CC - -#endif - -// member function pointers - -#define BOOST_BIND_MF_NAME(X) X -#define BOOST_BIND_MF_CC - -#include -#include - -#undef BOOST_BIND_MF_NAME -#undef BOOST_BIND_MF_CC - -#ifdef BOOST_MEM_FN_ENABLE_CDECL - -#define BOOST_BIND_MF_NAME(X) X##_cdecl -#define BOOST_BIND_MF_CC __cdecl - -#include -#include - -#undef BOOST_BIND_MF_NAME -#undef BOOST_BIND_MF_CC - -#endif - -#ifdef BOOST_MEM_FN_ENABLE_STDCALL - -#define BOOST_BIND_MF_NAME(X) X##_stdcall -#define BOOST_BIND_MF_CC __stdcall - -#include -#include - -#undef BOOST_BIND_MF_NAME -#undef BOOST_BIND_MF_CC - -#endif - -#ifdef BOOST_MEM_FN_ENABLE_FASTCALL - -#define BOOST_BIND_MF_NAME(X) X##_fastcall -#define BOOST_BIND_MF_CC __fastcall - -#include -#include - -#undef BOOST_BIND_MF_NAME -#undef BOOST_BIND_MF_CC - -#endif - -// data member pointers - -#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) || defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \ - || ( defined(__BORLANDC__) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT( 0x620 ) ) ) - -template -_bi::bind_t< R, _mfi::dm, typename _bi::list_av_1::type > - BOOST_BIND(R T::*f, A1 a1) -{ - typedef _mfi::dm F; - typedef typename _bi::list_av_1::type list_type; - return _bi::bind_t( F(f), list_type(a1) ); -} - -#else - -namespace _bi -{ - -template< class Pm, int I > struct add_cref; - -template< class M, class T > struct add_cref< M T::*, 0 > -{ - typedef M type; -}; - -template< class M, class T > struct add_cref< M T::*, 1 > -{ -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable:4180) -#endif - typedef M const & type; -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif -}; - -template< class R, class T > struct add_cref< R (T::*) (), 1 > -{ - typedef void type; -}; - -#if !defined(__IBMCPP__) || __IBMCPP_FUNC_CV_TMPL_ARG_DEDUCTION - -template< class R, class T > struct add_cref< R (T::*) () const, 1 > -{ - typedef void type; -}; - -#endif // __IBMCPP__ - -template struct isref -{ - enum value_type { value = 0 }; -}; - -template struct isref< R& > -{ - enum value_type { value = 1 }; -}; - -template struct isref< R* > -{ - enum value_type { value = 1 }; -}; - -template struct dm_result -{ - typedef typename add_cref< Pm, 1 >::type type; -}; - -template struct dm_result< Pm, bind_t > -{ - typedef typename bind_t::result_type result_type; - typedef typename add_cref< Pm, isref< result_type >::value >::type type; -}; - -} // namespace _bi - -template< class A1, class M, class T > - -_bi::bind_t< - typename _bi::dm_result< M T::*, A1 >::type, - _mfi::dm, - typename _bi::list_av_1::type -> - -BOOST_BIND( M T::*f, A1 a1 ) -{ - typedef typename _bi::dm_result< M T::*, A1 >::type result_type; - typedef _mfi::dm F; - typedef typename _bi::list_av_1::type list_type; - return _bi::bind_t< result_type, F, list_type >( F( f ), list_type( a1 ) ); -} - -#endif - -} // namespace boost - -#ifndef BOOST_BIND_NO_PLACEHOLDERS - -# include - -#endif - -#ifdef BOOST_MSVC -# pragma warning(default: 4512) // assignment operator could not be generated -# pragma warning(pop) -#endif - -#endif // #ifndef BOOST_BIND_BIND_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/bind/bind_mf_cc.hpp b/bundled/boost-1.56.0/include/boost/bind/bind_mf_cc.hpp deleted file mode 100644 index 88be8222f3..0000000000 --- a/bundled/boost-1.56.0/include/boost/bind/bind_mf_cc.hpp +++ /dev/null @@ -1,227 +0,0 @@ -// -// bind/bind_mf_cc.hpp - support for different calling conventions -// -// Do not include this header directly. -// -// Copyright (c) 2001 Peter Dimov and Multi Media Ltd. -// -// Distributed under the 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/bind/bind.html for documentation. -// - -// 0 - -template - _bi::bind_t, typename _bi::list_av_1::type> - BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (), A1 a1) -{ - typedef _mfi::BOOST_BIND_MF_NAME(mf0) F; - typedef typename _bi::list_av_1::type list_type; - return _bi::bind_t(F(f), list_type(a1)); -} - -template - _bi::bind_t, typename _bi::list_av_1::type> - BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) () const, A1 a1) -{ - typedef _mfi::BOOST_BIND_MF_NAME(cmf0) F; - typedef typename _bi::list_av_1::type list_type; - return _bi::bind_t(F(f), list_type(a1)); -} - -// 1 - -template - _bi::bind_t, typename _bi::list_av_2::type> - BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1), A1 a1, A2 a2) -{ - typedef _mfi::BOOST_BIND_MF_NAME(mf1) F; - typedef typename _bi::list_av_2::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2)); -} - -template - _bi::bind_t, typename _bi::list_av_2::type> - BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1) const, A1 a1, A2 a2) -{ - typedef _mfi::BOOST_BIND_MF_NAME(cmf1) F; - typedef typename _bi::list_av_2::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2)); -} - -// 2 - -template - _bi::bind_t, typename _bi::list_av_3::type> - BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2), A1 a1, A2 a2, A3 a3) -{ - typedef _mfi::BOOST_BIND_MF_NAME(mf2) F; - typedef typename _bi::list_av_3::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3)); -} - -template - _bi::bind_t, typename _bi::list_av_3::type> - BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2) const, A1 a1, A2 a2, A3 a3) -{ - typedef _mfi::BOOST_BIND_MF_NAME(cmf2) F; - typedef typename _bi::list_av_3::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3)); -} - -// 3 - -template - _bi::bind_t, typename _bi::list_av_4::type> - BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3), A1 a1, A2 a2, A3 a3, A4 a4) -{ - typedef _mfi::BOOST_BIND_MF_NAME(mf3) F; - typedef typename _bi::list_av_4::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4)); -} - -template - _bi::bind_t, typename _bi::list_av_4::type> - BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3) const, A1 a1, A2 a2, A3 a3, A4 a4) -{ - typedef _mfi::BOOST_BIND_MF_NAME(cmf3) F; - typedef typename _bi::list_av_4::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4)); -} - -// 4 - -template - _bi::bind_t, typename _bi::list_av_5::type> - BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) -{ - typedef _mfi::BOOST_BIND_MF_NAME(mf4) F; - typedef typename _bi::list_av_5::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5)); -} - -template - _bi::bind_t, typename _bi::list_av_5::type> - BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) -{ - typedef _mfi::BOOST_BIND_MF_NAME(cmf4) F; - typedef typename _bi::list_av_5::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5)); -} - -// 5 - -template - _bi::bind_t, typename _bi::list_av_6::type> - BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) -{ - typedef _mfi::BOOST_BIND_MF_NAME(mf5) F; - typedef typename _bi::list_av_6::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6)); -} - -template - _bi::bind_t, typename _bi::list_av_6::type> - BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) -{ - typedef _mfi::BOOST_BIND_MF_NAME(cmf5) F; - typedef typename _bi::list_av_6::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6)); -} - -// 6 - -template - _bi::bind_t, typename _bi::list_av_7::type> - BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) -{ - typedef _mfi::BOOST_BIND_MF_NAME(mf6) F; - typedef typename _bi::list_av_7::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7)); -} - -template - _bi::bind_t, typename _bi::list_av_7::type> - BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) -{ - typedef _mfi::BOOST_BIND_MF_NAME(cmf6) F; - typedef typename _bi::list_av_7::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7)); -} - -// 7 - -template - _bi::bind_t, typename _bi::list_av_8::type> - BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) -{ - typedef _mfi::BOOST_BIND_MF_NAME(mf7) F; - typedef typename _bi::list_av_8::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8)); -} - -template - _bi::bind_t, typename _bi::list_av_8::type> - BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) -{ - typedef _mfi::BOOST_BIND_MF_NAME(cmf7) F; - typedef typename _bi::list_av_8::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8)); -} - -// 8 - -template - _bi::bind_t, typename _bi::list_av_9::type> - BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) -{ - typedef _mfi::BOOST_BIND_MF_NAME(mf8) F; - typedef typename _bi::list_av_9::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9)); -} - -template - _bi::bind_t, typename _bi::list_av_9::type> - BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) -{ - typedef _mfi::BOOST_BIND_MF_NAME(cmf8) F; - typedef typename _bi::list_av_9::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9)); -} diff --git a/bundled/boost-1.56.0/include/boost/bind/placeholders.hpp b/bundled/boost-1.56.0/include/boost/bind/placeholders.hpp deleted file mode 100644 index 3b098b14f8..0000000000 --- a/bundled/boost-1.56.0/include/boost/bind/placeholders.hpp +++ /dev/null @@ -1,69 +0,0 @@ -#ifndef BOOST_BIND_PLACEHOLDERS_HPP_INCLUDED -#define BOOST_BIND_PLACEHOLDERS_HPP_INCLUDED - -// MS compatible compilers support #pragma once - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -// -// bind/placeholders.hpp - _N definitions -// -// Copyright (c) 2002 Peter Dimov and Multi Media Ltd. -// -// Distributed under the 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/bind/bind.html for documentation. -// - -#include -#include - -namespace -{ - -#if defined(__BORLANDC__) || defined(__GNUC__) && (__GNUC__ < 4) - -static inline boost::arg<1> _1() { return boost::arg<1>(); } -static inline boost::arg<2> _2() { return boost::arg<2>(); } -static inline boost::arg<3> _3() { return boost::arg<3>(); } -static inline boost::arg<4> _4() { return boost::arg<4>(); } -static inline boost::arg<5> _5() { return boost::arg<5>(); } -static inline boost::arg<6> _6() { return boost::arg<6>(); } -static inline boost::arg<7> _7() { return boost::arg<7>(); } -static inline boost::arg<8> _8() { return boost::arg<8>(); } -static inline boost::arg<9> _9() { return boost::arg<9>(); } - -#elif defined(BOOST_MSVC) || (defined(__DECCXX_VER) && __DECCXX_VER <= 60590031) || defined(__MWERKS__) || \ - defined(__GNUC__) && (__GNUC__ == 4 && __GNUC_MINOR__ < 2) - -static boost::arg<1> _1; -static boost::arg<2> _2; -static boost::arg<3> _3; -static boost::arg<4> _4; -static boost::arg<5> _5; -static boost::arg<6> _6; -static boost::arg<7> _7; -static boost::arg<8> _8; -static boost::arg<9> _9; - -#else - -boost::arg<1> _1; -boost::arg<2> _2; -boost::arg<3> _3; -boost::arg<4> _4; -boost::arg<5> _5; -boost::arg<6> _6; -boost::arg<7> _7; -boost::arg<8> _8; -boost::arg<9> _9; - -#endif - -} // unnamed namespace - -#endif // #ifndef BOOST_BIND_PLACEHOLDERS_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/chrono/detail/inlined/chrono.hpp b/bundled/boost-1.56.0/include/boost/chrono/detail/inlined/chrono.hpp deleted file mode 100644 index 027884365e..0000000000 --- a/bundled/boost-1.56.0/include/boost/chrono/detail/inlined/chrono.hpp +++ /dev/null @@ -1,44 +0,0 @@ -// chrono.cpp --------------------------------------------------------------// - -// Copyright Beman Dawes 2008 -// Copyright Vicente J. Botet Escriba 2009 - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - -#ifndef BOOST_CHRONO_DETAIL_INLINED_CHRONO_HPP -#define BOOST_CHRONO_DETAIL_INLINED_CHRONO_HPP - -#include -#include -#include -#include -#include - -//----------------------------------------------------------------------------// -// // -// Platform-specific Implementations // -// // -//----------------------------------------------------------------------------// - -//----------------------------------------------------------------------------// -// Windows // -//----------------------------------------------------------------------------// -#if defined(BOOST_CHRONO_WINDOWS_API) -#include - -//----------------------------------------------------------------------------// -// Mac // -//----------------------------------------------------------------------------// -#elif defined(BOOST_CHRONO_MAC_API) -#include - -//----------------------------------------------------------------------------// -// POSIX // -//----------------------------------------------------------------------------// -#elif defined(BOOST_CHRONO_POSIX_API) -#include - -#endif // POSIX - -#endif diff --git a/bundled/boost-1.56.0/include/boost/chrono/detail/inlined/mac/chrono.hpp b/bundled/boost-1.56.0/include/boost/chrono/detail/inlined/mac/chrono.hpp deleted file mode 100644 index bf20ae924b..0000000000 --- a/bundled/boost-1.56.0/include/boost/chrono/detail/inlined/mac/chrono.hpp +++ /dev/null @@ -1,241 +0,0 @@ -// mac/chrono.cpp --------------------------------------------------------------// - -// Copyright Beman Dawes 2008 -// Copyright 2009-2010 Vicente J. Botet Escriba - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - - -//----------------------------------------------------------------------------// -// Mac // -//----------------------------------------------------------------------------// - -#include //for gettimeofday and timeval -#include // mach_absolute_time, mach_timebase_info_data_t - -namespace boost -{ -namespace chrono -{ - -// system_clock - -// gettimeofday is the most precise "system time" available on this platform. -// It returns the number of microseconds since New Years 1970 in a struct called timeval -// which has a field for seconds and a field for microseconds. -// Fill in the timeval and then convert that to the time_point -system_clock::time_point -system_clock::now() BOOST_NOEXCEPT -{ - timeval tv; - gettimeofday(&tv, 0); - return time_point(seconds(tv.tv_sec) + microseconds(tv.tv_usec)); -} - -#if !defined BOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING -system_clock::time_point -system_clock::now(system::error_code & ec) -{ - timeval tv; - gettimeofday(&tv, 0); - if (!BOOST_CHRONO_IS_THROWS(ec)) - { - ec.clear(); - } - return time_point(seconds(tv.tv_sec) + microseconds(tv.tv_usec)); -} -#endif -// Take advantage of the fact that on this platform time_t is nothing but -// an integral count of seconds since New Years 1970 (same epoch as timeval). -// Just get the duration out of the time_point and truncate it to seconds. -time_t -system_clock::to_time_t(const time_point& t) BOOST_NOEXCEPT -{ - return time_t(duration_cast(t.time_since_epoch()).count()); -} - -// Just turn the time_t into a count of seconds and construct a time_point with it. -system_clock::time_point -system_clock::from_time_t(time_t t) BOOST_NOEXCEPT -{ - return system_clock::time_point(seconds(t)); -} - -namespace chrono_detail -{ - -// steady_clock - -// Note, in this implementation steady_clock and high_resolution_clock -// are the same clock. They are both based on mach_absolute_time(). -// mach_absolute_time() * MachInfo.numer / MachInfo.denom is the number of -// nanoseconds since the computer booted up. MachInfo.numer and MachInfo.denom -// are run time constants supplied by the OS. This clock has no relationship -// to the Gregorian calendar. It's main use is as a high resolution timer. - -// MachInfo.numer / MachInfo.denom is often 1 on the latest equipment. Specialize -// for that case as an optimization. -BOOST_CHRONO_STATIC -steady_clock::rep -steady_simplified() -{ - return mach_absolute_time(); -} - -#if !defined BOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING -BOOST_CHRONO_STATIC -steady_clock::rep -steady_simplified_ec(system::error_code & ec) -{ - if (!BOOST_CHRONO_IS_THROWS(ec)) - { - ec.clear(); - } - return mach_absolute_time(); -} -#endif - -BOOST_CHRONO_STATIC -double -compute_steady_factor(kern_return_t& err) -{ - mach_timebase_info_data_t MachInfo; - err = mach_timebase_info(&MachInfo); - if ( err != 0 ) { - return 0; - } - return static_cast(MachInfo.numer) / MachInfo.denom; -} - -BOOST_CHRONO_STATIC -steady_clock::rep -steady_full() -{ - static kern_return_t err; - static const double factor = chrono_detail::compute_steady_factor(err); - if (err != 0) - { - BOOST_ASSERT(0 && "Boost::Chrono - Internal Error"); - } - return static_cast(mach_absolute_time() * factor); -} - -#if !defined BOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING -BOOST_CHRONO_STATIC -steady_clock::rep -steady_full_ec(system::error_code & ec) -{ - static kern_return_t err; - static const double factor = chrono_detail::compute_steady_factor(err); - if (err != 0) - { - if (BOOST_CHRONO_IS_THROWS(ec)) - { - boost::throw_exception( - system::system_error( - err, - BOOST_CHRONO_SYSTEM_CATEGORY, - "chrono::steady_clock" )); - } - else - { - ec.assign( errno, BOOST_CHRONO_SYSTEM_CATEGORY ); - return steady_clock::rep(); - } - } - if (!BOOST_CHRONO_IS_THROWS(ec)) - { - ec.clear(); - } - return static_cast(mach_absolute_time() * factor); -} -#endif - -typedef steady_clock::rep (*FP)(); -#if !defined BOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING -typedef steady_clock::rep (*FP_ec)(system::error_code &); -#endif - -BOOST_CHRONO_STATIC -FP -init_steady_clock(kern_return_t & err) -{ - mach_timebase_info_data_t MachInfo; - err = mach_timebase_info(&MachInfo); - if ( err != 0 ) - { - return 0; - } - - if (MachInfo.numer == MachInfo.denom) - { - return &chrono_detail::steady_simplified; - } - return &chrono_detail::steady_full; -} - -#if !defined BOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING -BOOST_CHRONO_STATIC -FP_ec -init_steady_clock_ec(kern_return_t & err) -{ - mach_timebase_info_data_t MachInfo; - err = mach_timebase_info(&MachInfo); - if ( err != 0 ) - { - return 0; - } - - if (MachInfo.numer == MachInfo.denom) - { - return &chrono_detail::steady_simplified_ec; - } - return &chrono_detail::steady_full_ec; -} -#endif -} - -steady_clock::time_point -steady_clock::now() BOOST_NOEXCEPT -{ - static kern_return_t err; - static chrono_detail::FP fp = chrono_detail::init_steady_clock(err); - if ( err != 0 ) - { - BOOST_ASSERT(0 && "Boost::Chrono - Internal Error"); - } - return time_point(duration(fp())); -} - -#if !defined BOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING -steady_clock::time_point -steady_clock::now(system::error_code & ec) -{ - static kern_return_t err; - static chrono_detail::FP_ec fp = chrono_detail::init_steady_clock_ec(err); - if ( err != 0 ) - { - if (BOOST_CHRONO_IS_THROWS(ec)) - { - boost::throw_exception( - system::system_error( - err, - BOOST_CHRONO_SYSTEM_CATEGORY, - "chrono::steady_clock" )); - } - else - { - ec.assign( err, BOOST_CHRONO_SYSTEM_CATEGORY ); - return time_point(); - } - } - if (!BOOST_CHRONO_IS_THROWS(ec)) - { - ec.clear(); - } - return time_point(duration(fp(ec))); -} -#endif -} // namespace chrono -} // namespace boost diff --git a/bundled/boost-1.56.0/include/boost/chrono/detail/inlined/mac/process_cpu_clocks.hpp b/bundled/boost-1.56.0/include/boost/chrono/detail/inlined/mac/process_cpu_clocks.hpp deleted file mode 100644 index 6d09e2cb3a..0000000000 --- a/bundled/boost-1.56.0/include/boost/chrono/detail/inlined/mac/process_cpu_clocks.hpp +++ /dev/null @@ -1,356 +0,0 @@ -// boost process_cpu_clocks.cpp -----------------------------------------------------------// - -// Copyright Beman Dawes 1994, 2006, 2008 -// Copyright Vicente J. Botet Escriba 2009 - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - -// See http://www.boost.org/libs/chrono for documentation. - -//--------------------------------------------------------------------------------------// - -#include -#include -#include - -#include //for gettimeofday and timeval -#include //for times -# include - -namespace boost -{ - namespace chrono - { - namespace chrono_detail - { - - inline long tick_factor() // multiplier to convert ticks - // to nanoseconds; -1 if unknown - { - static long factor = 0; - if (!factor) - { - if ((factor = ::sysconf(_SC_CLK_TCK)) <= 0) - factor = -1; - else - { - BOOST_ASSERT(factor <= 1000000000l); // doesn't handle large ticks - factor = 1000000000l / factor; // compute factor - if (!factor) - factor = -1; - } - } - return factor; - } - } - - - process_real_cpu_clock::time_point process_real_cpu_clock::now() BOOST_NOEXCEPT - { -#if 1 - tms tm; - clock_t c = ::times(&tm); - if (c == clock_t(-1)) // error - { - BOOST_ASSERT(0 && "Boost::Chrono - Internal Error"); - } else - { - long factor = chrono_detail::tick_factor(); - if (factor != -1) - { - return time_point(nanoseconds(c * factor)); - } else - { - BOOST_ASSERT(0 && "Boost::Chrono - Internal Error"); - } - } - return time_point(); -#else - clock_t c = ::clock(); - if (c == clock_t(-1)) // error - { - BOOST_ASSERT(0 && "Boost::Chrono - Internal Error"); - } else - { - long factor = chrono_detail::tick_factor(); - if (factor != -1) - { - return time_point(nanoseconds(c * factor)); - } else - { - BOOST_ASSERT(0 && "Boost::Chrono - Internal Error"); - } - } - return time_point(); -#endif - } - -#if !defined BOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING - process_real_cpu_clock::time_point process_real_cpu_clock::now(system::error_code & ec) - { - -#if 1 - tms tm; - clock_t c = ::times(&tm); - if (c == clock_t(-1)) // error - { - if (BOOST_CHRONO_IS_THROWS(ec)) - { - boost::throw_exception(system::system_error(errno, BOOST_CHRONO_SYSTEM_CATEGORY, "chrono::process_real_cpu_clock")); - } else - { - ec.assign(errno, BOOST_CHRONO_SYSTEM_CATEGORY); - return time_point(); - } - } else - { - long factor = chrono_detail::tick_factor(); - if (factor != -1) - { - if (!BOOST_CHRONO_IS_THROWS(ec)) - { - ec.clear(); - } - return time_point(nanoseconds(c * factor)); - } else - { - if (BOOST_CHRONO_IS_THROWS(ec)) - { - boost::throw_exception(system::system_error(errno, BOOST_CHRONO_SYSTEM_CATEGORY, "chrono::process_real_cpu_clock")); - } else - { - ec.assign(errno, BOOST_CHRONO_SYSTEM_CATEGORY); - return time_point(); - } - } - } -#else - clock_t c = ::clock(); - if (c == clock_t(-1)) // error - { - if (BOOST_CHRONO_IS_THROWS(ec)) - { - boost::throw_exception(system::system_error(errno, BOOST_CHRONO_SYSTEM_CATEGORY, "chrono::process_real_cpu_clock")); - } else - { - ec.assign(errno, BOOST_CHRONO_SYSTEM_CATEGORY); - return time_point(); - } - } else - { - long factor = chrono_detail::tick_factor(); - if (factor != -1) - { - if (!BOOST_CHRONO_IS_THROWS(ec)) - { - ec.clear(); - } - return time_point(nanoseconds(c * factor)); - } else - { - if (BOOST_CHRONO_IS_THROWS(ec)) - { - boost::throw_exception(system::system_error(errno, BOOST_CHRONO_SYSTEM_CATEGORY, "chrono::process_real_cpu_clock")); - } else - { - ec.assign(errno, BOOST_CHRONO_SYSTEM_CATEGORY); - return time_point(); - } - } - } -#endif - - } -#endif - -#if !defined BOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING - process_user_cpu_clock::time_point process_user_cpu_clock::now(system::error_code & ec) - { - tms tm; - clock_t c = ::times(&tm); - if (c == clock_t(-1)) // error - { - if (BOOST_CHRONO_IS_THROWS(ec)) - { - boost::throw_exception(system::system_error(errno, BOOST_CHRONO_SYSTEM_CATEGORY, "chrono::process_user_cpu_clock")); - } else - { - ec.assign(errno, BOOST_CHRONO_SYSTEM_CATEGORY); - return time_point(); - } - } else - { - long factor = chrono_detail::tick_factor(); - if (factor != -1) - { - if (!BOOST_CHRONO_IS_THROWS(ec)) - { - ec.clear(); - } - return time_point(nanoseconds((tm.tms_utime + tm.tms_cutime) * factor)); - } else - { - if (BOOST_CHRONO_IS_THROWS(ec)) - { - boost::throw_exception(system::system_error(errno, BOOST_CHRONO_SYSTEM_CATEGORY, "chrono::process_user_cpu_clock")); - } else - { - ec.assign(errno, BOOST_CHRONO_SYSTEM_CATEGORY); - return time_point(); - } - } - } - } -#endif - - process_user_cpu_clock::time_point process_user_cpu_clock::now() BOOST_NOEXCEPT - { - tms tm; - clock_t c = ::times(&tm); - if (c == clock_t(-1)) // error - { - BOOST_ASSERT(0 && "Boost::Chrono - Internal Error"); - } else - { - long factor = chrono_detail::tick_factor(); - if (factor != -1) - { - return time_point(nanoseconds((tm.tms_utime + tm.tms_cutime) - * factor)); - } else - { - BOOST_ASSERT(0 && "Boost::Chrono - Internal Error"); - } - } - return time_point(); - } - process_system_cpu_clock::time_point process_system_cpu_clock::now() BOOST_NOEXCEPT - { - tms tm; - clock_t c = ::times(&tm); - if (c == clock_t(-1)) // error - { - BOOST_ASSERT(0 && "Boost::Chrono - Internal Error"); - } else - { - long factor = chrono_detail::tick_factor(); - if (factor != -1) - { - return time_point(nanoseconds((tm.tms_stime + tm.tms_cstime) - * factor)); - } else - { - BOOST_ASSERT(0 && "Boost::Chrono - Internal Error"); - } - } - return time_point(); - } - -#if !defined BOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING - process_system_cpu_clock::time_point process_system_cpu_clock::now(system::error_code & ec) - { - tms tm; - clock_t c = ::times(&tm); - if (c == clock_t(-1)) // error - { - if (BOOST_CHRONO_IS_THROWS(ec)) - { - boost::throw_exception(system::system_error(errno, BOOST_CHRONO_SYSTEM_CATEGORY, "chrono::process_system_cpu_clock")); - } else - { - ec.assign(errno, BOOST_CHRONO_SYSTEM_CATEGORY); - return time_point(); - } - } else - { - long factor = chrono_detail::tick_factor(); - if (factor != -1) - { - if (!BOOST_CHRONO_IS_THROWS(ec)) - { - ec.clear(); - } - return time_point(nanoseconds((tm.tms_stime + tm.tms_cstime) * factor)); - } else - { - if (BOOST_CHRONO_IS_THROWS(ec)) - { - boost::throw_exception(system::system_error(errno, BOOST_CHRONO_SYSTEM_CATEGORY, "chrono::process_system_cpu_clock")); - } else - { - ec.assign(errno, BOOST_CHRONO_SYSTEM_CATEGORY); - return time_point(); - } - } - } - } -#endif - - process_cpu_clock::time_point process_cpu_clock::now() BOOST_NOEXCEPT - { - tms tm; - clock_t c = ::times(&tm); - if (c == clock_t(-1)) // error - { - BOOST_ASSERT(0 && "Boost::Chrono - Internal Error"); - } else - { - long factor = chrono_detail::tick_factor(); - if (factor != -1) - { - time_point::rep - r(c * factor, (tm.tms_utime + tm.tms_cutime) * factor, (tm.tms_stime - + tm.tms_cstime) * factor); - return time_point(duration(r)); - } else - { - BOOST_ASSERT(0 && "Boost::Chrono - Internal Error"); - } - } - return time_point(); - } - -#if !defined BOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING - process_cpu_clock::time_point process_cpu_clock::now(system::error_code & ec) - { - - tms tm; - clock_t c = ::times(&tm); - if (c == clock_t(-1)) // error - { - if (BOOST_CHRONO_IS_THROWS(ec)) - { - boost::throw_exception(system::system_error(errno, BOOST_CHRONO_SYSTEM_CATEGORY, "chrono::process_clock")); - } else - { - ec.assign(errno, BOOST_CHRONO_SYSTEM_CATEGORY); - return time_point(); - } - } else - { - long factor = chrono_detail::tick_factor(); - if (factor != -1) - { - time_point::rep - r(c * factor, (tm.tms_utime + tm.tms_cutime) * factor, (tm.tms_stime - + tm.tms_cstime) * factor); - return time_point(duration(r)); - } else - { - if (BOOST_CHRONO_IS_THROWS(ec)) - { - boost::throw_exception(system::system_error(errno, BOOST_CHRONO_SYSTEM_CATEGORY, "chrono::process_clock")); - } else - { - ec.assign(errno, BOOST_CHRONO_SYSTEM_CATEGORY); - return time_point(); - } - } - } - - } -#endif - - } -} diff --git a/bundled/boost-1.56.0/include/boost/chrono/detail/inlined/mac/thread_clock.hpp b/bundled/boost-1.56.0/include/boost/chrono/detail/inlined/mac/thread_clock.hpp deleted file mode 100644 index 1a4406b83d..0000000000 --- a/bundled/boost-1.56.0/include/boost/chrono/detail/inlined/mac/thread_clock.hpp +++ /dev/null @@ -1,91 +0,0 @@ -// boost thread_clock.cpp -----------------------------------------------------------// - -// Copyright Beman Dawes 1994, 2006, 2008 -// Copyright Vicente J. Botet Escriba 2009-2011 -// Copyright Christopher Brown 2013 - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - -// See http://www.boost.org/libs/chrono for documentation. - -//--------------------------------------------------------------------------------------// - -#include -#include -#include - -# include -# include - -namespace boost { namespace chrono { - - thread_clock::time_point thread_clock::now( ) BOOST_NOEXCEPT - { - // get the thread port (borrowing pthread's reference) - mach_port_t port = pthread_mach_thread_np(pthread_self()); - - // get the thread info - thread_basic_info_data_t info; - mach_msg_type_number_t count = THREAD_BASIC_INFO_COUNT; - if ( thread_info(port, THREAD_BASIC_INFO, (thread_info_t)&info, &count) != KERN_SUCCESS ) - { - BOOST_ASSERT(0 && "Boost::Chrono - Internal Error"); - return time_point(); - } - - // convert to nanoseconds - duration user = duration( - static_cast( info.user_time.seconds ) * 1000000000 - + static_cast(info.user_time.microseconds ) * 1000); - - duration system = duration( - static_cast( info.system_time.seconds ) * 1000000000 - + static_cast( info.system_time.microseconds ) * 1000); - - return time_point( user + system ); - } - -#if !defined BOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING - thread_clock::time_point thread_clock::now( system::error_code & ec ) - { - // get the thread port (borrowing pthread's reference) - mach_port_t port = pthread_mach_thread_np(pthread_self()); - - // get the thread info - thread_basic_info_data_t info; - mach_msg_type_number_t count = THREAD_BASIC_INFO_COUNT; - if ( thread_info(port, THREAD_BASIC_INFO, (thread_info_t)&info, &count) != KERN_SUCCESS ) - { - if (BOOST_CHRONO_IS_THROWS(ec)) - { - boost::throw_exception( - system::system_error( - EINVAL, - BOOST_CHRONO_SYSTEM_CATEGORY, - "chrono::thread_clock" )); - } - else - { - ec.assign( errno, BOOST_CHRONO_SYSTEM_CATEGORY ); - return time_point(); - } - } - if (!BOOST_CHRONO_IS_THROWS(ec)) - { - ec.clear(); - } - - // convert to nanoseconds - duration user = duration( - static_cast( info.user_time.seconds ) * 1000000000 - + static_cast(info.user_time.microseconds ) * 1000); - - duration system = duration( - static_cast( info.system_time.seconds ) * 1000000000 - + static_cast( info.system_time.microseconds ) * 1000); - - return time_point( user + system ); - } -#endif -} } diff --git a/bundled/boost-1.56.0/include/boost/chrono/detail/inlined/posix/chrono.hpp b/bundled/boost-1.56.0/include/boost/chrono/detail/inlined/posix/chrono.hpp deleted file mode 100644 index e35a7ce267..0000000000 --- a/bundled/boost-1.56.0/include/boost/chrono/detail/inlined/posix/chrono.hpp +++ /dev/null @@ -1,120 +0,0 @@ -// posix/chrono.cpp --------------------------------------------------------------// - -// Copyright Beman Dawes 2008 -// Copyright Vicente J. Botet Escriba 2009 - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - -//----------------------------------------------------------------------------// -// POSIX // -//----------------------------------------------------------------------------// - -#include // for clock_gettime - -namespace boost -{ -namespace chrono -{ - - system_clock::time_point system_clock::now() BOOST_NOEXCEPT - { - timespec ts; - if ( ::clock_gettime( CLOCK_REALTIME, &ts ) ) - { - BOOST_ASSERT(0 && "Boost::Chrono - Internal Error"); - } - - return time_point(duration( - static_cast( ts.tv_sec ) * 1000000000 + ts.tv_nsec)); - } - -#if !defined BOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING - system_clock::time_point system_clock::now(system::error_code & ec) - { - timespec ts; - if ( ::clock_gettime( CLOCK_REALTIME, &ts ) ) - { - if (BOOST_CHRONO_IS_THROWS(ec)) - { - boost::throw_exception( - system::system_error( - errno, - BOOST_CHRONO_SYSTEM_CATEGORY, - "chrono::system_clock" )); - } - else - { - ec.assign( errno, BOOST_CHRONO_SYSTEM_CATEGORY ); - return time_point(); - } - } - - if (!BOOST_CHRONO_IS_THROWS(ec)) - { - ec.clear(); - } - return time_point(duration( - static_cast( ts.tv_sec ) * 1000000000 + ts.tv_nsec)); - } -#endif - - std::time_t system_clock::to_time_t(const system_clock::time_point& t) BOOST_NOEXCEPT - { - return static_cast( t.time_since_epoch().count() / 1000000000 ); - } - - system_clock::time_point system_clock::from_time_t(std::time_t t) BOOST_NOEXCEPT - { - return time_point(duration(static_cast(t) * 1000000000)); - } - -#ifdef BOOST_CHRONO_HAS_CLOCK_STEADY - - steady_clock::time_point steady_clock::now() BOOST_NOEXCEPT - { - timespec ts; - if ( ::clock_gettime( CLOCK_MONOTONIC, &ts ) ) - { - BOOST_ASSERT(0 && "Boost::Chrono - Internal Error"); - } - - return time_point(duration( - static_cast( ts.tv_sec ) * 1000000000 + ts.tv_nsec)); - } - -#if !defined BOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING - steady_clock::time_point steady_clock::now(system::error_code & ec) - { - timespec ts; - if ( ::clock_gettime( CLOCK_MONOTONIC, &ts ) ) - { - if (BOOST_CHRONO_IS_THROWS(ec)) - { - boost::throw_exception( - system::system_error( - errno, - BOOST_CHRONO_SYSTEM_CATEGORY, - "chrono::steady_clock" )); - } - else - { - ec.assign( errno, BOOST_CHRONO_SYSTEM_CATEGORY ); - return time_point(); - } - } - - if (!BOOST_CHRONO_IS_THROWS(ec)) - { - ec.clear(); - } - return time_point(duration( - static_cast( ts.tv_sec ) * 1000000000 + ts.tv_nsec)); - } -#endif -#endif - -} // namespace chrono -} // namespace boost - - diff --git a/bundled/boost-1.56.0/include/boost/chrono/detail/inlined/posix/process_cpu_clocks.hpp b/bundled/boost-1.56.0/include/boost/chrono/detail/inlined/posix/process_cpu_clocks.hpp deleted file mode 100644 index 0476f590c9..0000000000 --- a/bundled/boost-1.56.0/include/boost/chrono/detail/inlined/posix/process_cpu_clocks.hpp +++ /dev/null @@ -1,354 +0,0 @@ -// boost process_cpu_clocks.cpp -----------------------------------------------------------// - -// Copyright Beman Dawes 1994, 2006, 2008 -// Copyright Vicente J. Botet Escriba 2009 - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - -// See http://www.boost.org/libs/chrono for documentation. - -//--------------------------------------------------------------------------------------// - -#include -#include -#include - -#include -#include -#include // for clock_gettime - - -namespace boost { namespace chrono { -namespace chrono_detail -{ - inline nanoseconds::rep tick_factor() // multiplier to convert ticks - // to nanoseconds; -1 if unknown - { - static long factor = 0; - if ( !factor ) - { - if ( (factor = ::sysconf( _SC_CLK_TCK )) <= 0 ) - factor = -1; - else - { - BOOST_ASSERT( factor <= 1000000000l ); // doesn't handle large ticks - factor = 1000000000l / factor; // compute factor - if ( !factor ) factor = -1; - } - } - return factor; - } -} - -process_real_cpu_clock::time_point process_real_cpu_clock::now() BOOST_NOEXCEPT -{ - tms tm; - clock_t c = ::times( &tm ); - if ( c == clock_t(-1) ) // error - { - BOOST_ASSERT(0 && "Boost::Chrono - Internal Error"); - } - else - { - if ( chrono_detail::tick_factor() != -1 ) - { - return time_point( - nanoseconds(c*chrono_detail::tick_factor())); - } - else - { - BOOST_ASSERT(0 && "Boost::Chrono - Internal Error"); - } - } - return time_point(); -} - -#if !defined BOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING -process_real_cpu_clock::time_point process_real_cpu_clock::now( - system::error_code & ec) -{ - - tms tm; - clock_t c = ::times( &tm ); - if ( c == clock_t(-1) ) // error - { - if (BOOST_CHRONO_IS_THROWS(ec)) - { - boost::throw_exception( - system::system_error( - errno, - BOOST_CHRONO_SYSTEM_CATEGORY, - "chrono::process_real_cpu_clock" )); - } - else - { - ec.assign( errno, BOOST_CHRONO_SYSTEM_CATEGORY ); - return time_point(); - } - } - else - { - if ( chrono_detail::tick_factor() != -1 ) - { - if (!BOOST_CHRONO_IS_THROWS(ec)) - { - ec.clear(); - } - return time_point( - nanoseconds(c*chrono_detail::tick_factor())); - } - else - { - if (BOOST_CHRONO_IS_THROWS(ec)) - { - boost::throw_exception( - system::system_error( - errno, - BOOST_CHRONO_SYSTEM_CATEGORY, - "chrono::process_real_cpu_clock" )); - } - else - { - ec.assign( errno, BOOST_CHRONO_SYSTEM_CATEGORY ); - return time_point(); - } - } - } -} -#endif - -process_user_cpu_clock::time_point process_user_cpu_clock::now() BOOST_NOEXCEPT -{ - tms tm; - clock_t c = ::times( &tm ); - if ( c == clock_t(-1) ) // error - { - BOOST_ASSERT(0 && "Boost::Chrono - Internal Error"); - } - else - { - if ( chrono_detail::tick_factor() != -1 ) - { - return time_point( - nanoseconds((tm.tms_utime + tm.tms_cutime)*chrono_detail::tick_factor())); - } - else - { - BOOST_ASSERT(0 && "Boost::Chrono - Internal Error"); - } - } - return time_point(); -} - -#if !defined BOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING -process_user_cpu_clock::time_point process_user_cpu_clock::now( - system::error_code & ec) -{ - tms tm; - clock_t c = ::times( &tm ); - if ( c == clock_t(-1) ) // error - { - if (BOOST_CHRONO_IS_THROWS(ec)) - { - boost::throw_exception( - system::system_error( - errno, - BOOST_CHRONO_SYSTEM_CATEGORY, - "chrono::process_user_cpu_clock" )); - } - else - { - ec.assign( errno, BOOST_CHRONO_SYSTEM_CATEGORY ); - return time_point(); - } - } - else - { - if ( chrono_detail::tick_factor() != -1 ) - { - if (!BOOST_CHRONO_IS_THROWS(ec)) - { - ec.clear(); - } - return time_point( - nanoseconds((tm.tms_utime + tm.tms_cutime)*chrono_detail::tick_factor())); - } - else - { - if (BOOST_CHRONO_IS_THROWS(ec)) - { - boost::throw_exception( - system::system_error( - errno, - BOOST_CHRONO_SYSTEM_CATEGORY, - "chrono::process_user_cpu_clock" )); - } - else - { - ec.assign( errno, BOOST_CHRONO_SYSTEM_CATEGORY ); - return time_point(); - } - } - } -} -#endif - -process_system_cpu_clock::time_point process_system_cpu_clock::now() BOOST_NOEXCEPT -{ - tms tm; - clock_t c = ::times( &tm ); - if ( c == clock_t(-1) ) // error - { - BOOST_ASSERT(0 && "Boost::Chrono - Internal Error"); - return time_point(); - } - else - { - if ( chrono_detail::tick_factor() != -1 ) - { - return time_point( - nanoseconds((tm.tms_stime + tm.tms_cstime)*chrono_detail::tick_factor())); - } - else - { - BOOST_ASSERT(0 && "Boost::Chrono - Internal Error"); - return time_point(); - } - } -} - -#if !defined BOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING -process_system_cpu_clock::time_point process_system_cpu_clock::now( - system::error_code & ec) -{ - tms tm; - clock_t c = ::times( &tm ); - if ( c == clock_t(-1) ) // error - { - if (BOOST_CHRONO_IS_THROWS(ec)) - { - boost::throw_exception( - system::system_error( - errno, - BOOST_CHRONO_SYSTEM_CATEGORY, - "chrono::process_system_cpu_clock" )); - } - else - { - ec.assign( errno, BOOST_CHRONO_SYSTEM_CATEGORY ); - return time_point(); - } - } - else - { - if ( chrono_detail::tick_factor() != -1 ) - { - if (!BOOST_CHRONO_IS_THROWS(ec)) - { - ec.clear(); - } - return time_point( - nanoseconds((tm.tms_stime + tm.tms_cstime)*chrono_detail::tick_factor())); - } - else - { - if (BOOST_CHRONO_IS_THROWS(ec)) - { - boost::throw_exception( - system::system_error( - errno, - BOOST_CHRONO_SYSTEM_CATEGORY, - "chrono::process_system_cpu_clock" )); - } - else - { - ec.assign( errno, BOOST_CHRONO_SYSTEM_CATEGORY ); - return time_point(); - } - } - } -} -#endif - -process_cpu_clock::time_point process_cpu_clock::now() BOOST_NOEXCEPT -{ - tms tm; - clock_t c = ::times( &tm ); - if ( c == clock_t(-1) ) // error - { - BOOST_ASSERT(0 && "Boost::Chrono - Internal Error"); - } - else - { - nanoseconds::rep factor = chrono_detail::tick_factor(); - if ( factor != -1 ) - { - time_point::rep r( - c*factor, - (tm.tms_utime + tm.tms_cutime)*factor, - (tm.tms_stime + tm.tms_cstime)*factor); - return time_point(duration(r)); - } - else - { - BOOST_ASSERT(0 && "Boost::Chrono - Internal Error"); - } - } - return time_point(); -} - -#if !defined BOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING -process_cpu_clock::time_point process_cpu_clock::now( - system::error_code & ec ) -{ - tms tm; - clock_t c = ::times( &tm ); - if ( c == clock_t(-1) ) // error - { - if (BOOST_CHRONO_IS_THROWS(ec)) - { - boost::throw_exception( - system::system_error( - errno, - BOOST_CHRONO_SYSTEM_CATEGORY, - "chrono::process_clock" )); - } - else - { - ec.assign( errno, BOOST_CHRONO_SYSTEM_CATEGORY ); - return time_point(); - } - } - else - { - if ( chrono_detail::tick_factor() != -1 ) - { - time_point::rep r( - c*chrono_detail::tick_factor(), - (tm.tms_utime + tm.tms_cutime)*chrono_detail::tick_factor(), - (tm.tms_stime + tm.tms_cstime)*chrono_detail::tick_factor()); - return time_point(duration(r)); - } - else - { - if (BOOST_CHRONO_IS_THROWS(ec)) - { - boost::throw_exception( - system::system_error( - errno, - BOOST_CHRONO_SYSTEM_CATEGORY, - "chrono::process_clock" )); - } - else - { - ec.assign( errno, BOOST_CHRONO_SYSTEM_CATEGORY ); - return time_point(); - } - } - } - -} -#endif - -} } diff --git a/bundled/boost-1.56.0/include/boost/chrono/detail/inlined/posix/thread_clock.hpp b/bundled/boost-1.56.0/include/boost/chrono/detail/inlined/posix/thread_clock.hpp deleted file mode 100644 index a1012240ec..0000000000 --- a/bundled/boost-1.56.0/include/boost/chrono/detail/inlined/posix/thread_clock.hpp +++ /dev/null @@ -1,91 +0,0 @@ -// boost thread_clock.cpp -----------------------------------------------------------// - -// Copyright Beman Dawes 1994, 2006, 2008 -// Copyright Vicente J. Botet Escriba 2009-2011 - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - -// See http://www.boost.org/libs/chrono for documentation. - -//--------------------------------------------------------------------------------------// - -#include -#include -#include - -#if !defined(__VXWORKS__) -# include -#endif -# include -# include - -namespace boost { namespace chrono { - - thread_clock::time_point thread_clock::now( ) BOOST_NOEXCEPT - { - struct timespec ts; -#if defined CLOCK_THREAD_CPUTIME_ID - // get the timespec associated to the thread clock - if ( ::clock_gettime( CLOCK_THREAD_CPUTIME_ID, &ts ) ) -#else - // get the current thread - pthread_t pth=pthread_self(); - // get the clock_id associated to the current thread - clockid_t clock_id; - pthread_getcpuclockid(pth, &clock_id); - // get the timespec associated to the thread clock - if ( ::clock_gettime( clock_id, &ts ) ) -#endif - { - BOOST_ASSERT(0 && "Boost::Chrono - Internal Error"); - } - - // transform to nanoseconds - return time_point(duration( - static_cast( ts.tv_sec ) * 1000000000 + ts.tv_nsec)); - - } - -#if !defined BOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING - thread_clock::time_point thread_clock::now( system::error_code & ec ) - { - struct timespec ts; -#if defined CLOCK_THREAD_CPUTIME_ID - // get the timespec associated to the thread clock - if ( ::clock_gettime( CLOCK_THREAD_CPUTIME_ID, &ts ) ) -#else - // get the current thread - pthread_t pth=pthread_self(); - // get the clock_id associated to the current thread - clockid_t clock_id; - pthread_getcpuclockid(pth, &clock_id); - // get the timespec associated to the thread clock - if ( ::clock_gettime( clock_id, &ts ) ) -#endif - { - if (BOOST_CHRONO_IS_THROWS(ec)) - { - boost::throw_exception( - system::system_error( - errno, - BOOST_CHRONO_SYSTEM_CATEGORY, - "chrono::thread_clock" )); - } - else - { - ec.assign( errno, BOOST_CHRONO_SYSTEM_CATEGORY ); - return time_point(); - } - } - if (!BOOST_CHRONO_IS_THROWS(ec)) - { - ec.clear(); - } - // transform to nanoseconds - return time_point(duration( - static_cast( ts.tv_sec ) * 1000000000 + ts.tv_nsec)); - - } -#endif -} } diff --git a/bundled/boost-1.56.0/include/boost/chrono/detail/inlined/process_cpu_clocks.hpp b/bundled/boost-1.56.0/include/boost/chrono/detail/inlined/process_cpu_clocks.hpp deleted file mode 100644 index d37f6754cb..0000000000 --- a/bundled/boost-1.56.0/include/boost/chrono/detail/inlined/process_cpu_clocks.hpp +++ /dev/null @@ -1,45 +0,0 @@ -// boost process_cpu_clocks.cpp -----------------------------------------------------------// - -// Copyright 2009-2010 Vicente J. Botet Escriba - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - -// See http://www.boost.org/libs/chrono for documentation. - -//--------------------------------------------------------------------------------------// -#ifndef BOOST_CHRONO_DETAIL_INLINED_PROCESS_CPU_CLOCKS_HPP -#define BOOST_CHRONO_DETAIL_INLINED_PROCESS_CPU_CLOCKS_HPP - - -#include -#if defined(BOOST_CHRONO_HAS_PROCESS_CLOCKS) - -#include -#include -#include -#include - -//----------------------------------------------------------------------------// -// Windows // -//----------------------------------------------------------------------------// -#if defined(BOOST_CHRONO_WINDOWS_API) -#include - -//----------------------------------------------------------------------------// -// Mac // -//----------------------------------------------------------------------------// -#elif defined(BOOST_CHRONO_MAC_API) -#include - -//----------------------------------------------------------------------------// -// POSIX // -//----------------------------------------------------------------------------// -#elif defined(BOOST_CHRONO_POSIX_API) -#include - -#endif // POSIX - -#endif - -#endif diff --git a/bundled/boost-1.56.0/include/boost/chrono/detail/inlined/thread_clock.hpp b/bundled/boost-1.56.0/include/boost/chrono/detail/inlined/thread_clock.hpp deleted file mode 100644 index 16d19ef488..0000000000 --- a/bundled/boost-1.56.0/include/boost/chrono/detail/inlined/thread_clock.hpp +++ /dev/null @@ -1,44 +0,0 @@ -// boost thread_clock.cpp -----------------------------------------------------------// - -// Copyright 2010 Vicente J. Botet Escriba - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - -// See http://www.boost.org/libs/chrono for documentation. - -//--------------------------------------------------------------------------------------// -#ifndef BOOST_CHRONO_DETAIL_INLINED_THREAD_CLOCK_HPP -#define BOOST_CHRONO_DETAIL_INLINED_THREAD_CLOCK_HPP - -#include -#include -#if defined(BOOST_CHRONO_HAS_THREAD_CLOCK) -#include -#include -#include -#include -#include - -//----------------------------------------------------------------------------// -// Windows // -//----------------------------------------------------------------------------// -#if defined(BOOST_CHRONO_WINDOWS_API) -#include - -//----------------------------------------------------------------------------// -// Mac // -//----------------------------------------------------------------------------// -#elif defined(BOOST_CHRONO_MAC_API) -#include - -//----------------------------------------------------------------------------// -// POSIX // -//----------------------------------------------------------------------------// -#elif defined(BOOST_CHRONO_POSIX_API) -#include - -#endif // POSIX - -#endif -#endif diff --git a/bundled/boost-1.56.0/include/boost/chrono/detail/inlined/win/chrono.hpp b/bundled/boost-1.56.0/include/boost/chrono/detail/inlined/win/chrono.hpp deleted file mode 100644 index 16e8c51426..0000000000 --- a/bundled/boost-1.56.0/include/boost/chrono/detail/inlined/win/chrono.hpp +++ /dev/null @@ -1,149 +0,0 @@ -// win/chrono.cpp --------------------------------------------------------------// - -// Copyright Beman Dawes 2008 -// Copyright 2009-2010 Vicente J. Botet Escriba - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - -//----------------------------------------------------------------------------// -// Windows // -//----------------------------------------------------------------------------// -#ifndef BOOST_CHRONO_DETAIL_INLINED_WIN_CHRONO_HPP -#define BOOST_CHRONO_DETAIL_INLINED_WIN_CHRONO_HPP - -#include -#include -#include - -namespace boost -{ -namespace chrono -{ -namespace chrono_detail -{ - - BOOST_CHRONO_INLINE double get_nanosecs_per_tic() BOOST_NOEXCEPT - { - boost::detail::winapi::LARGE_INTEGER_ freq; - if ( !boost::detail::winapi::QueryPerformanceFrequency( &freq ) ) - return 0.0L; - return double(1000000000.0L / freq.QuadPart); - } - -} - - steady_clock::time_point steady_clock::now() BOOST_NOEXCEPT - { - double nanosecs_per_tic = chrono_detail::get_nanosecs_per_tic(); - - boost::detail::winapi::LARGE_INTEGER_ pcount; - if ( nanosecs_per_tic <= 0.0L ) - { - BOOST_ASSERT(0 && "Boost::Chrono - get_nanosecs_per_tic Internal Error"); - return steady_clock::time_point(); - } - unsigned times=0; - while ( ! boost::detail::winapi::QueryPerformanceCounter( &pcount ) ) - { - if ( ++times > 3 ) - { - BOOST_ASSERT(0 && "Boost::Chrono - QueryPerformanceCounter Internal Error"); - return steady_clock::time_point(); - } - } - - return steady_clock::time_point(steady_clock::duration( - static_cast((nanosecs_per_tic) * pcount.QuadPart))); - } - - -#if !defined BOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING - steady_clock::time_point steady_clock::now( system::error_code & ec ) - { - double nanosecs_per_tic = chrono_detail::get_nanosecs_per_tic(); - - boost::detail::winapi::LARGE_INTEGER_ pcount; - if ( (nanosecs_per_tic <= 0.0L) - || (!boost::detail::winapi::QueryPerformanceCounter( &pcount )) ) - { - boost::detail::winapi::DWORD_ cause = - ((nanosecs_per_tic <= 0.0L) - ? ERROR_NOT_SUPPORTED - : boost::detail::winapi::GetLastError()); - if (BOOST_CHRONO_IS_THROWS(ec)) { - boost::throw_exception( - system::system_error( - cause, - BOOST_CHRONO_SYSTEM_CATEGORY, - "chrono::steady_clock" )); - } - else - { - ec.assign( cause, BOOST_CHRONO_SYSTEM_CATEGORY ); - return steady_clock::time_point(duration(0)); - } - } - - if (!BOOST_CHRONO_IS_THROWS(ec)) - { - ec.clear(); - } - return time_point(duration( - static_cast(nanosecs_per_tic * pcount.QuadPart))); - } -#endif - - BOOST_CHRONO_INLINE - system_clock::time_point system_clock::now() BOOST_NOEXCEPT - { - boost::detail::winapi::FILETIME_ ft; - boost::detail::winapi::GetSystemTimeAsFileTime( &ft ); // never fails - return system_clock::time_point( - system_clock::duration( - ((static_cast<__int64>( ft.dwHighDateTime ) << 32) | ft.dwLowDateTime) - - 116444736000000000LL - //- (134775LL*864000000000LL) - ) - ); - } - -#if !defined BOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING - BOOST_CHRONO_INLINE - system_clock::time_point system_clock::now( system::error_code & ec ) - { - boost::detail::winapi::FILETIME_ ft; - boost::detail::winapi::GetSystemTimeAsFileTime( &ft ); // never fails - if (!BOOST_CHRONO_IS_THROWS(ec)) - { - ec.clear(); - } - return system_clock::time_point( - system_clock::duration( - ((static_cast<__int64>( ft.dwHighDateTime ) << 32) | ft.dwLowDateTime) - - 116444736000000000LL - //- (134775LL*864000000000LL) - )); - } -#endif - - BOOST_CHRONO_INLINE - std::time_t system_clock::to_time_t(const system_clock::time_point& t) BOOST_NOEXCEPT - { - __int64 temp = t.time_since_epoch().count(); - temp /= 10000000; - return static_cast( temp ); - } - - BOOST_CHRONO_INLINE - system_clock::time_point system_clock::from_time_t(std::time_t t) BOOST_NOEXCEPT - { - __int64 temp = t; - temp *= 10000000; - return time_point(duration(temp)); - } - -} // namespace chrono -} // namespace boost - -#endif diff --git a/bundled/boost-1.56.0/include/boost/chrono/detail/inlined/win/process_cpu_clocks.hpp b/bundled/boost-1.56.0/include/boost/chrono/detail/inlined/win/process_cpu_clocks.hpp deleted file mode 100644 index e97bfe590c..0000000000 --- a/bundled/boost-1.56.0/include/boost/chrono/detail/inlined/win/process_cpu_clocks.hpp +++ /dev/null @@ -1,281 +0,0 @@ -// boost process_timer.cpp -----------------------------------------------------------// - -// Copyright Beman Dawes 1994, 2006, 2008 -// Copyright 2009-2010 Vicente J. Botet Escriba -// Copyright (c) Microsoft Corporation 2014 - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - -// See http://www.boost.org/libs/chrono for documentation. - -//--------------------------------------------------------------------------------------// -#ifndef BOOST_CHRONO_DETAIL_INLINED_WIN_PROCESS_CLOCK_HPP -#define BOOST_CHRONO_DETAIL_INLINED_WIN_PROCESS_CLOCK_HPP - -#include -//#include -#include -#include -#include - -#include -#include -#if BOOST_PLAT_WINDOWS_DESKTOP -#include -#endif - -namespace boost -{ -namespace chrono -{ - -process_real_cpu_clock::time_point process_real_cpu_clock::now() BOOST_NOEXCEPT -{ - clock_t c = ::clock(); - if ( c == clock_t(-1) ) // error - { - BOOST_ASSERT(0 && "Boost::Chrono - Internal Error"); - } - typedef ratio_divide >::type R; - return time_point( - duration(static_cast(c)*R::num/R::den) - ); -} - -#if !defined BOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING -process_real_cpu_clock::time_point process_real_cpu_clock::now( - system::error_code & ec) -{ - clock_t c = ::clock(); - if ( c == clock_t(-1) ) // error - { - boost::throw_exception( - system::system_error( - errno, - BOOST_CHRONO_SYSTEM_CATEGORY, - "chrono::process_real_cpu_clock" )); - } - if (!BOOST_CHRONO_IS_THROWS(ec)) - { - ec.clear(); - } - typedef ratio_divide >::type R; - return time_point( - duration(static_cast(c)*R::num/R::den) - ); -} -#endif - -#if BOOST_PLAT_WINDOWS_DESKTOP -process_user_cpu_clock::time_point process_user_cpu_clock::now() BOOST_NOEXCEPT -{ - - // note that Windows uses 100 nanosecond ticks for FILETIME - boost::detail::winapi::FILETIME_ creation, exit, user_time, system_time; - - if ( boost::detail::winapi::GetProcessTimes( - boost::detail::winapi::GetCurrentProcess(), &creation, &exit, - &system_time, &user_time ) ) - { - return time_point(duration( - ((static_cast(user_time.dwHighDateTime) << 32) - | user_time.dwLowDateTime) * 100 - )); - } - else - { - BOOST_ASSERT(0 && "Boost::Chrono - Internal Error"); - return time_point(); - } - -} - -#if !defined BOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING -process_user_cpu_clock::time_point process_user_cpu_clock::now( - system::error_code & ec) -{ - - // note that Windows uses 100 nanosecond ticks for FILETIME - boost::detail::winapi::FILETIME_ creation, exit, user_time, system_time; - - if ( boost::detail::winapi::GetProcessTimes( - boost::detail::winapi::GetCurrentProcess(), &creation, &exit, - &system_time, &user_time ) ) - { - if (!BOOST_CHRONO_IS_THROWS(ec)) - { - ec.clear(); - } - return time_point(duration( - ((static_cast(user_time.dwHighDateTime) << 32) - | user_time.dwLowDateTime) * 100 - )); - } - else - { - boost::detail::winapi::DWORD_ cause = boost::detail::winapi::GetLastError(); - if (BOOST_CHRONO_IS_THROWS(ec)) - { - boost::throw_exception( - system::system_error( - cause, - BOOST_CHRONO_SYSTEM_CATEGORY, - "chrono::process_user_cpu_clock" )); - } - else - { - ec.assign( cause, BOOST_CHRONO_SYSTEM_CATEGORY ); - return time_point(); - } - } - -} -#endif - -process_system_cpu_clock::time_point process_system_cpu_clock::now() BOOST_NOEXCEPT -{ - - // note that Windows uses 100 nanosecond ticks for FILETIME - boost::detail::winapi::FILETIME_ creation, exit, user_time, system_time; - - if ( boost::detail::winapi::GetProcessTimes( - boost::detail::winapi::GetCurrentProcess(), &creation, &exit, - &system_time, &user_time ) ) - { - return time_point(duration( - ((static_cast(system_time.dwHighDateTime) << 32) - | system_time.dwLowDateTime) * 100 - )); - } - else - { - BOOST_ASSERT(0 && "Boost::Chrono - Internal Error"); - return time_point(); - } - -} - -#if !defined BOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING -process_system_cpu_clock::time_point process_system_cpu_clock::now( - system::error_code & ec) -{ - - // note that Windows uses 100 nanosecond ticks for FILETIME - boost::detail::winapi::FILETIME_ creation, exit, user_time, system_time; - - if ( boost::detail::winapi::GetProcessTimes( - boost::detail::winapi::GetCurrentProcess(), &creation, &exit, - &system_time, &user_time ) ) - { - if (!BOOST_CHRONO_IS_THROWS(ec)) - { - ec.clear(); - } - return time_point(duration( - ((static_cast(system_time.dwHighDateTime) << 32) - | system_time.dwLowDateTime) * 100 - )); - } - else - { - boost::detail::winapi::DWORD_ cause = boost::detail::winapi::GetLastError(); - if (BOOST_CHRONO_IS_THROWS(ec)) - { - boost::throw_exception( - system::system_error( - cause, - BOOST_CHRONO_SYSTEM_CATEGORY, - "chrono::process_system_cpu_clock" )); - } - else - { - ec.assign( cause, BOOST_CHRONO_SYSTEM_CATEGORY ); - return time_point(); - } - } - -} -#endif - -process_cpu_clock::time_point process_cpu_clock::now() BOOST_NOEXCEPT -{ - - // note that Windows uses 100 nanosecond ticks for FILETIME - boost::detail::winapi::FILETIME_ creation, exit, user_time, system_time; - - if ( boost::detail::winapi::GetProcessTimes( - boost::detail::winapi::GetCurrentProcess(), &creation, &exit, - &system_time, &user_time ) ) - { - time_point::rep r(process_real_cpu_clock::now().time_since_epoch().count() - , - ((static_cast(user_time.dwHighDateTime) << 32) - | user_time.dwLowDateTime - ) * 100, - ((static_cast(system_time.dwHighDateTime) << 32) - | system_time.dwLowDateTime - ) * 100 - ); - return time_point(duration(r)); - } - else - { - BOOST_ASSERT(0 && "Boost::Chrono - Internal Error"); - return time_point(); - } - -} - -#if !defined BOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING -process_cpu_clock::time_point process_cpu_clock::now( - system::error_code & ec ) -{ - - // note that Windows uses 100 nanosecond ticks for FILETIME - boost::detail::winapi::FILETIME_ creation, exit, user_time, system_time; - - if ( boost::detail::winapi::GetProcessTimes( - boost::detail::winapi::GetCurrentProcess(), &creation, &exit, - &system_time, &user_time ) ) - { - if (!BOOST_CHRONO_IS_THROWS(ec)) - { - ec.clear(); - } - time_point::rep r(process_real_cpu_clock::now().time_since_epoch().count() - , - ((static_cast(user_time.dwHighDateTime) << 32) - | user_time.dwLowDateTime - ) * 100, - ((static_cast(system_time.dwHighDateTime) << 32) - | system_time.dwLowDateTime - ) * 100 - ); - return time_point(duration(r)); - } - else - { - boost::detail::winapi::DWORD_ cause = boost::detail::winapi::GetLastError(); - if (BOOST_CHRONO_IS_THROWS(ec)) - { - boost::throw_exception( - system::system_error( - cause, - BOOST_CHRONO_SYSTEM_CATEGORY, - "chrono::process_cpu_clock" )); - } - else - { - ec.assign( cause, BOOST_CHRONO_SYSTEM_CATEGORY ); - return time_point(); - } - } - -} -#endif -#endif -} // namespace chrono -} // namespace boost - -#endif diff --git a/bundled/boost-1.56.0/include/boost/chrono/detail/inlined/win/thread_clock.hpp b/bundled/boost-1.56.0/include/boost/chrono/detail/inlined/win/thread_clock.hpp deleted file mode 100644 index e47c481473..0000000000 --- a/bundled/boost-1.56.0/include/boost/chrono/detail/inlined/win/thread_clock.hpp +++ /dev/null @@ -1,102 +0,0 @@ -// boost thread_clock.cpp -----------------------------------------------------------// - -// Copyright 2010 Vicente J. Botet Escriba - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - -// See http://www.boost.org/libs/chrono for documentation. - -//--------------------------------------------------------------------------------------// -#ifndef BOOST_CHRONO_DETAIL_INLINED_WIN_THREAD_CLOCK_HPP -#define BOOST_CHRONO_DETAIL_INLINED_WIN_THREAD_CLOCK_HPP - -#include -#include -#include - -#include -#include -#include - -namespace boost -{ -namespace chrono -{ - -#if !defined BOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING -thread_clock::time_point thread_clock::now( system::error_code & ec ) -{ - // note that Windows uses 100 nanosecond ticks for FILETIME - boost::detail::winapi::FILETIME_ creation, exit, user_time, system_time; - - if ( boost::detail::winapi::GetThreadTimes( - boost::detail::winapi::GetCurrentThread (), &creation, &exit, - &system_time, &user_time ) ) - { - duration user = duration( - ((static_cast(user_time.dwHighDateTime) << 32) - | user_time.dwLowDateTime) * 100 ); - - duration system = duration( - ((static_cast(system_time.dwHighDateTime) << 32) - | system_time.dwLowDateTime) * 100 ); - - if (!BOOST_CHRONO_IS_THROWS(ec)) - { - ec.clear(); - } - return time_point(system+user); - - } - else - { - if (BOOST_CHRONO_IS_THROWS(ec)) - { - boost::throw_exception( - system::system_error( - boost::detail::winapi::GetLastError(), - BOOST_CHRONO_SYSTEM_CATEGORY, - "chrono::thread_clock" )); - } - else - { - ec.assign( boost::detail::winapi::GetLastError(), BOOST_CHRONO_SYSTEM_CATEGORY ); - return thread_clock::time_point(duration(0)); - } - } -} -#endif - -thread_clock::time_point thread_clock::now() BOOST_NOEXCEPT -{ - - // note that Windows uses 100 nanosecond ticks for FILETIME - boost::detail::winapi::FILETIME_ creation, exit, user_time, system_time; - - if ( boost::detail::winapi::GetThreadTimes( - boost::detail::winapi::GetCurrentThread (), &creation, &exit, - &system_time, &user_time ) ) - { - duration user = duration( - ((static_cast(user_time.dwHighDateTime) << 32) - | user_time.dwLowDateTime) * 100 ); - - duration system = duration( - ((static_cast(system_time.dwHighDateTime) << 32) - | system_time.dwLowDateTime) * 100 ); - - return time_point(system+user); - } - else - { - BOOST_ASSERT(0 && "Boost::Chrono - Internal Error"); - return time_point(); - } - -} - -} // namespace chrono -} // namespace boost - -#endif diff --git a/bundled/boost-1.56.0/include/boost/chrono/io/duration_io.hpp b/bundled/boost-1.56.0/include/boost/chrono/io/duration_io.hpp deleted file mode 100644 index 438f7696db..0000000000 --- a/bundled/boost-1.56.0/include/boost/chrono/io/duration_io.hpp +++ /dev/null @@ -1,225 +0,0 @@ -// (C) Copyright Howard Hinnant -// (C) Copyright 2011 Vicente J. Botet Escriba -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). -// -// This code was adapted by Vicente from Howard Hinnant's experimental work -// on chrono i/o to Boost - -#ifndef BOOST_CHRONO_IO_DURATION_IO_HPP -#define BOOST_CHRONO_IO_DURATION_IO_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost -{ - namespace chrono - { - - /** - * duration parameterized manipulator. - */ - - class duration_fmt: public manip - { - duration_style style_; - public: - - /** - * explicit manipulator constructor from a @c duration_style - */ - explicit duration_fmt(duration_style style)BOOST_NOEXCEPT - : style_(style) - {} - - /** - * Change the duration_style ios state; - */ - void operator()(std::ios_base &ios) const - - { - set_duration_style(ios, style_); - } - }; - - /** - * duration_style i/o saver. - * - * See Boost.IO i/o state savers for a motivating compression. - */ - struct duration_style_io_saver - { - - //! the type of the state to restore - typedef std::ios_base state_type; - //! the type of aspect to save - typedef duration_style aspect_type; - - /** - * Explicit construction from an i/o stream. - * - * Store a reference to the i/o stream and the value of the associated @c duration_style. - */ - explicit duration_style_io_saver(state_type &s) : - s_save_(s) - { - a_save_ = get_duration_style(s_save_); - } - - /** - * Construction from an i/o stream and a @c duration_style to restore. - * - * Stores a reference to the i/o stream and the value @c duration_style to restore given as parameter. - */ - duration_style_io_saver(state_type &s, aspect_type new_value) : - s_save_(s), a_save_(new_value) - { - } - - /** - * Destructor. - * - * Restores the i/o stream with the duration_style to be restored. - */ - ~duration_style_io_saver() - { - this->restore(); - } - - /** - * Restores the i/o stream with the duration_style to be restored. - */ - void restore() - { - set_duration_style(s_save_, a_save_); - } - - private: - duration_style_io_saver& operator=(duration_style_io_saver const& rhs) ; - - state_type& s_save_; - aspect_type a_save_; - }; - - /** - * duration stream inserter - * @param os the output stream - * @param d to value to insert - * @return @c os - */ - template - std::basic_ostream& - operator<<(std::basic_ostream& os, const duration& d) - { - bool failed = false; - BOOST_TRY - { - std::ios_base::iostate err = std::ios_base::goodbit; - BOOST_TRY - { - typename std::basic_ostream::sentry opfx(os); - if (bool(opfx)) - { - if (!std::has_facet >(os.getloc())) - { - if (duration_put ().put(os, os, os.fill(), d) .failed()) - { - err = std::ios_base::badbit; - } - } - else if (std::use_facet >(os.getloc()) .put(os, os, os.fill(), d) .failed()) - { - err = std::ios_base::badbit; - } - os.width(0); - } - } - BOOST_CATCH(...) - { - bool flag = false; - BOOST_TRY - { - os.setstate(std::ios_base::failbit); - } - BOOST_CATCH (std::ios_base::failure ) - { - flag = true; - } - BOOST_CATCH_END - if (flag) throw; - } - BOOST_CATCH_END - if (err) os.setstate(err); - return os; - } - BOOST_CATCH(...) - { - failed = true; - } - BOOST_CATCH_END - if (failed) os.setstate(std::ios_base::failbit | std::ios_base::badbit); - return os; - } - - /** - * - * @param is the input stream - * @param d the duration - * @return @c is - */ - template - std::basic_istream& - operator>>(std::basic_istream& is, duration& d) - { - std::ios_base::iostate err = std::ios_base::goodbit; - - BOOST_TRY - { - typename std::basic_istream::sentry ipfx(is); - if (bool(ipfx)) - { - if (!std::has_facet >(is.getloc())) - { - duration_get ().get(is, std::istreambuf_iterator(), is, err, d); - } - else - { - std::use_facet >(is.getloc()) .get(is, std::istreambuf_iterator(), is, - err, d); - } - } - } - BOOST_CATCH (...) - { - bool flag = false; - BOOST_TRY - { - is.setstate(std::ios_base::failbit); - } - BOOST_CATCH (std::ios_base::failure ) - { - flag = true; - } - BOOST_CATCH_END - if (flag) { BOOST_RETHROW } - } - BOOST_CATCH_END - if (err) is.setstate(err); - return is; - } - - } // chrono - -} - -#endif // header diff --git a/bundled/boost-1.56.0/include/boost/chrono/process_cpu_clocks.hpp b/bundled/boost-1.56.0/include/boost/chrono/process_cpu_clocks.hpp deleted file mode 100644 index 248837506e..0000000000 --- a/bundled/boost-1.56.0/include/boost/chrono/process_cpu_clocks.hpp +++ /dev/null @@ -1,522 +0,0 @@ -// boost/chrono/process_cpu_clocks.hpp -----------------------------------------------------------// - -// Copyright 2009-2011 Vicente J. Botet Escriba -// Copyright (c) Microsoft Corporation 2014 - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - -// See http://www.boost.org/libs/system for documentation. - -#ifndef BOOST_CHRONO_PROCESS_CPU_CLOCKS_HPP -#define BOOST_CHRONO_PROCESS_CPU_CLOCKS_HPP - -#include - - -#if defined(BOOST_CHRONO_HAS_PROCESS_CLOCKS) - -#include -#include -#include -#include -#include -#include -#include - -#ifndef BOOST_CHRONO_HEADER_ONLY -#include // must be the last #include -#endif - -namespace boost { namespace chrono { - - class BOOST_CHRONO_DECL process_real_cpu_clock { - public: - typedef nanoseconds duration; - typedef duration::rep rep; - typedef duration::period period; - typedef chrono::time_point time_point; - BOOST_STATIC_CONSTEXPR bool is_steady = true; - - static BOOST_CHRONO_INLINE time_point now() BOOST_NOEXCEPT; -#if !defined BOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING - static BOOST_CHRONO_INLINE time_point now(system::error_code & ec ); -#endif - }; - -#if ! BOOST_OS_WINDOWS || BOOST_PLAT_WINDOWS_DESKTOP - class BOOST_CHRONO_DECL process_user_cpu_clock { - public: - typedef nanoseconds duration; - typedef duration::rep rep; - typedef duration::period period; - typedef chrono::time_point time_point; - BOOST_STATIC_CONSTEXPR bool is_steady = true; - - static BOOST_CHRONO_INLINE time_point now() BOOST_NOEXCEPT; -#if !defined BOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING - static BOOST_CHRONO_INLINE time_point now(system::error_code & ec ); -#endif - }; - - class BOOST_CHRONO_DECL process_system_cpu_clock { - public: - typedef nanoseconds duration; - typedef duration::rep rep; - typedef duration::period period; - typedef chrono::time_point time_point; - BOOST_STATIC_CONSTEXPR bool is_steady = true; - - static BOOST_CHRONO_INLINE time_point now() BOOST_NOEXCEPT; -#if !defined BOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING - static BOOST_CHRONO_INLINE time_point now(system::error_code & ec ); -#endif - }; -#endif - - template - struct process_times - : arithmetic, - multiplicative, Rep, - less_than_comparable > > > - { - //typedef process_real_cpu_clock::rep rep; - typedef Rep rep; - process_times() - : real(0) - , user(0) - , system(0){} - -#if ! defined BOOST_CHRONO_DONT_PROVIDES_DEPRECATED_IO_SINCE_V2_0_0 - template - explicit process_times( - Rep2 r) - : real(r) - , user(r) - , system(r){} -#endif - template - explicit process_times( - process_times const& rhs) - : real(rhs.real) - , user(rhs.user) - , system(rhs.system){} - process_times( - rep r, - rep u, - rep s) - : real(r) - , user(u) - , system(s){} - - rep real; // real (i.e wall clock) time - rep user; // user cpu time - rep system; // system cpu time - -#if ! defined BOOST_CHRONO_DONT_PROVIDES_DEPRECATED_IO_SINCE_V2_0_0 - operator rep() const - { - return real; - } -#endif - template - bool operator==(process_times const& rhs) { - return (real==rhs.real && - user==rhs.user && - system==rhs.system); - } - - process_times& operator+=( - process_times const& rhs) - { - real+=rhs.real; - user+=rhs.user; - system+=rhs.system; - return *this; - } - process_times& operator-=( - process_times const& rhs) - { - real-=rhs.real; - user-=rhs.user; - system-=rhs.system; - return *this; - } - process_times& operator*=( - process_times const& rhs) - { - real*=rhs.real; - user*=rhs.user; - system*=rhs.system; - return *this; - } - process_times& operator*=(rep const& rhs) - { - real*=rhs; - user*=rhs; - system*=rhs; - return *this; - } - process_times& operator/=(process_times const& rhs) - { - real/=rhs.real; - user/=rhs.user; - system/=rhs.system; - return *this; - } - process_times& operator/=(rep const& rhs) - { - real/=rhs; - user/=rhs; - system/=rhs; - return *this; - } - bool operator<(process_times const & rhs) const - { - if (real < rhs.real) return true; - if (real > rhs.real) return false; - if (user < rhs.user) return true; - if (user > rhs.user) return false; - if (system < rhs.system) return true; - else return false; - } - - template - void print(std::basic_ostream& os) const - { - os << "{"<< real <<";"<< user <<";"<< system << "}"; - } - - template - void read(std::basic_istream& is) - { - typedef std::istreambuf_iterator in_iterator; - in_iterator i(is); - in_iterator e; - if (i == e || *i != '{') // mandatory '{' - { - is.setstate(is.failbit | is.eofbit); - return; - } - CharT x,y,z; - is >> real >> x >> user >> y >> system >> z; - if (!is.good() || (x != ';')|| (y != ';')|| (z != '}')) - { - is.setstate(is.failbit); - } - } - }; -} -template -struct common_type< - chrono::process_times, - chrono::process_times -> -{ - typedef chrono::process_times::type> type; -}; - -template -struct common_type< - chrono::process_times, - Rep2 -> -{ - typedef chrono::process_times::type> type; -}; - -template -struct common_type< - Rep1, - chrono::process_times -> -{ - typedef chrono::process_times::type> type; -}; - - -namespace chrono -{ - template - inline BOOST_CONSTEXPR - bool - operator==(const duration, Period1>& lhs, - const duration, Period2>& rhs) - { - return boost::chrono::detail::duration_eq< - duration, Period1>, duration, Period2> >()(lhs, rhs); - } - - template - inline BOOST_CONSTEXPR - bool - operator==(const duration, Period1>& lhs, - const duration& rhs) - { - return boost::chrono::detail::duration_eq< - duration, duration >()(duration(lhs.count().real), rhs); - } - - template - inline BOOST_CONSTEXPR - bool - operator==(const duration& lhs, - const duration, Period2>& rhs) - { - return rhs == lhs; - } - - - // Duration < - - template - inline BOOST_CONSTEXPR - bool - operator< (const duration, Period1>& lhs, - const duration& rhs) - { - return boost::chrono::detail::duration_lt< - duration, duration >()(duration(lhs.count().real), rhs); - } - - template - inline BOOST_CONSTEXPR - bool - operator< (const duration& lhs, - const duration, Period2>& rhs) - { - return rhs < lhs; - } - - template - inline BOOST_CONSTEXPR - bool - operator< (const duration, Period1>& lhs, - const duration, Period2>& rhs) - { - return boost::chrono::detail::duration_lt< - duration, duration >()(lhs, rhs); - } - - - typedef process_times process_cpu_clock_times; -#if ! BOOST_OS_WINDOWS || BOOST_PLAT_WINDOWS_DESKTOP - class BOOST_CHRONO_DECL process_cpu_clock - { - public: - - typedef process_cpu_clock_times times; - typedef boost::chrono::duration duration; - typedef duration::rep rep; - typedef duration::period period; - typedef chrono::time_point time_point; - BOOST_STATIC_CONSTEXPR bool is_steady = true; - - static BOOST_CHRONO_INLINE time_point now() BOOST_NOEXCEPT; -#if !defined BOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING - static BOOST_CHRONO_INLINE time_point now(system::error_code & ec ); -#endif - }; -#endif - - template - std::basic_ostream& - operator<<(std::basic_ostream& os, - process_times const& rhs) - { - rhs.print(os); - return os; - } - - template - std::basic_istream& - operator>>(std::basic_istream& is, - process_times& rhs) - { - rhs.read(is); - return is; - } - - template - struct duration_values > - { - typedef process_times Res; - public: - static Res zero() - { - return Res(); - } - static Res max BOOST_PREVENT_MACRO_SUBSTITUTION () - { - return Res((std::numeric_limits::max)(), - (std::numeric_limits::max)(), - (std::numeric_limits::max)()); - } - static Res min BOOST_PREVENT_MACRO_SUBSTITUTION () - { - return Res((std::numeric_limits::min)(), - (std::numeric_limits::min)(), - (std::numeric_limits::min)()); - } - }; - - template - struct clock_string - { - static std::basic_string name() - { - static const CharT - u[] = - { 'p', 'r', 'o', 'c', 'e', 's', 's', '_', 'r', 'e', 'a', 'l', '_', 'c', 'l', 'o', 'c', 'k' }; - static const std::basic_string str(u, u + sizeof(u) - / sizeof(u[0])); - return str; - } - static std::basic_string since() - { - const CharT - u[] = - { ' ', 's', 'i', 'n', 'c', 'e', ' ', 'p', 'r', 'o', 'c', 'e', 's', 's', ' ', 's', 't', 'a', 'r', 't', '-', 'u', 'p' }; - const std::basic_string str(u, u + sizeof(u) / sizeof(u[0])); - return str; - } - }; - -#if ! BOOST_OS_WINDOWS || BOOST_PLAT_WINDOWS_DESKTOP - template - struct clock_string - { - static std::basic_string name() - { - static const CharT - u[] = - { 'p', 'r', 'o', 'c', 'e', 's', 's', '_', 'u', 's', 'e', 'r', '_', 'c', 'l', 'o', 'c', 'k' }; - static const std::basic_string str(u, u + sizeof(u) - / sizeof(u[0])); - return str; - } - static std::basic_string since() - { - const CharT - u[] = - { ' ', 's', 'i', 'n', 'c', 'e', ' ', 'p', 'r', 'o', 'c', 'e', 's', 's', ' ', 's', 't', 'a', 'r', 't', '-', 'u', 'p' }; - const std::basic_string str(u, u + sizeof(u) / sizeof(u[0])); - return str; - } - }; - - template - struct clock_string - { - static std::basic_string name() - { - static const CharT - u[] = - { 'p', 'r', 'o', 'c', 'e', 's', 's', '_', 's', 'y', 's', 't', 't', 'e', 'm', '_', 'c', 'l', 'o', 'c', 'k' }; - static const std::basic_string str(u, u + sizeof(u) - / sizeof(u[0])); - return str; - } - static std::basic_string since() - { - const CharT - u[] = - { ' ', 's', 'i', 'n', 'c', 'e', ' ', 'p', 'r', 'o', 'c', 'e', 's', 's', ' ', 's', 't', 'a', 'r', 't', '-', 'u', 'p' }; - const std::basic_string str(u, u + sizeof(u) / sizeof(u[0])); - return str; - } - }; - - template - struct clock_string - { - static std::basic_string name() - { - static const CharT u[] = - { 'p', 'r', 'o', 'c', 'e', 's', 's', '_', 'c', 'l', 'o', 'c', 'k' }; - static const std::basic_string str(u, u + sizeof(u) - / sizeof(u[0])); - return str; - } - static std::basic_string since() - { - const CharT - u[] = - { ' ', 's', 'i', 'n', 'c', 'e', ' ', 'p', 'r', 'o', 'c', 'e', 's', 's', ' ', 's', 't', 'a', 'r', 't', '-', 'u', 'p' }; - const std::basic_string str(u, u + sizeof(u) / sizeof(u[0])); - return str; - } - }; -#endif - -} // namespace chrono -} // namespace boost - -namespace std { - - template - struct numeric_limits > - { - typedef boost::chrono::process_times Res; - - public: - static const bool is_specialized = true; - static Res min BOOST_PREVENT_MACRO_SUBSTITUTION () - { - return Res((std::numeric_limits::min)(), - (std::numeric_limits::min)(), - (std::numeric_limits::min)()); - } - static Res max BOOST_PREVENT_MACRO_SUBSTITUTION () - { - return Res((std::numeric_limits::max)(), - (std::numeric_limits::max)(), - (std::numeric_limits::max)()); - } - static Res lowest() throw() - { - return (min)(); - } - static const int digits = std::numeric_limits::digits+ - std::numeric_limits::digits+ - std::numeric_limits::digits; - static const int digits10 = std::numeric_limits::digits10+ - std::numeric_limits::digits10+ - std::numeric_limits::digits10; - static const bool is_signed = Rep::is_signed; - static const bool is_integer = Rep::is_integer; - static const bool is_exact = Rep::is_exact; - static const int radix = 0; - //~ static Res epsilon() throw() { return 0; } - //~ static Res round_error() throw() { return 0; } - //~ static const int min_exponent = 0; - //~ static const int min_exponent10 = 0; - //~ static const int max_exponent = 0; - //~ static const int max_exponent10 = 0; - //~ static const bool has_infinity = false; - //~ static const bool has_quiet_NaN = false; - //~ static const bool has_signaling_NaN = false; - //~ static const float_denorm_style has_denorm = denorm_absent; - //~ static const bool has_denorm_loss = false; - //~ static Res infinity() throw() { return 0; } - //~ static Res quiet_NaN() throw() { return 0; } - //~ static Res signaling_NaN() throw() { return 0; } - //~ static Res denorm_min() throw() { return 0; } - //~ static const bool is_iec559 = false; - //~ static const bool is_bounded = true; - //~ static const bool is_modulo = false; - //~ static const bool traps = false; - //~ static const bool tinyness_before = false; - //~ static const float_round_style round_style = round_toward_zero; - - }; -} - -#ifndef BOOST_CHRONO_HEADER_ONLY -#include // pops abi_prefix.hpp pragmas -#else -#include -#endif -#endif - -#endif // BOOST_CHRONO_PROCESS_CPU_CLOCKS_HPP diff --git a/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cassert b/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cassert deleted file mode 100644 index 5bc7329dde..0000000000 --- a/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cassert +++ /dev/null @@ -1,10 +0,0 @@ -// This file is automatically generated. Do not edit. -// ['../../libs/compatibility/generate_cpp_c_headers.py'] -// Wed Jul 23 12:11:19 2003 ('GMTST', 'GMTST') - -#ifndef __CASSERT_HEADER -#define __CASSERT_HEADER - -#include - -#endif // CASSERT_HEADER diff --git a/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cctype b/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cctype deleted file mode 100644 index 1ad03cb5ca..0000000000 --- a/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cctype +++ /dev/null @@ -1,26 +0,0 @@ -// This file is automatically generated. Do not edit. -// ['../../libs/compatibility/generate_cpp_c_headers.py'] -// Wed Jul 23 12:11:19 2003 ('GMTST', 'GMTST') - -#ifndef __CCTYPE_HEADER -#define __CCTYPE_HEADER - -#include - -namespace std { - using ::isalnum; - using ::isdigit; - using ::isprint; - using ::isupper; - using ::tolower; - using ::isalpha; - using ::isgraph; - using ::ispunct; - using ::isxdigit; - using ::toupper; - using ::iscntrl; - using ::islower; - using ::isspace; -} - -#endif // CCTYPE_HEADER diff --git a/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cerrno b/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cerrno deleted file mode 100644 index 4d57b80875..0000000000 --- a/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cerrno +++ /dev/null @@ -1,10 +0,0 @@ -// This file is automatically generated. Do not edit. -// ['../../libs/compatibility/generate_cpp_c_headers.py'] -// Wed Jul 23 12:11:19 2003 ('GMTST', 'GMTST') - -#ifndef __CERRNO_HEADER -#define __CERRNO_HEADER - -#include - -#endif // CERRNO_HEADER diff --git a/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cfloat b/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cfloat deleted file mode 100644 index 9d3d53318c..0000000000 --- a/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cfloat +++ /dev/null @@ -1,10 +0,0 @@ -// This file is automatically generated. Do not edit. -// ['../../libs/compatibility/generate_cpp_c_headers.py'] -// Wed Jul 23 12:11:19 2003 ('GMTST', 'GMTST') - -#ifndef __CFLOAT_HEADER -#define __CFLOAT_HEADER - -#include - -#endif // CFLOAT_HEADER diff --git a/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/climits b/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/climits deleted file mode 100644 index b71b7f5eb4..0000000000 --- a/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/climits +++ /dev/null @@ -1,10 +0,0 @@ -// This file is automatically generated. Do not edit. -// ['../../libs/compatibility/generate_cpp_c_headers.py'] -// Wed Jul 23 12:11:19 2003 ('GMTST', 'GMTST') - -#ifndef __CLIMITS_HEADER -#define __CLIMITS_HEADER - -#include - -#endif // CLIMITS_HEADER diff --git a/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/clocale b/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/clocale deleted file mode 100644 index b3ba3c859f..0000000000 --- a/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/clocale +++ /dev/null @@ -1,16 +0,0 @@ -// This file is automatically generated. Do not edit. -// ['../../libs/compatibility/generate_cpp_c_headers.py'] -// Wed Jul 23 12:11:19 2003 ('GMTST', 'GMTST') - -#ifndef __CLOCALE_HEADER -#define __CLOCALE_HEADER - -#include - -namespace std { - using ::lconv; - using ::localeconv; - using ::setlocale; -} - -#endif // CLOCALE_HEADER diff --git a/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cmath b/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cmath deleted file mode 100644 index 70dc8843ed..0000000000 --- a/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cmath +++ /dev/null @@ -1,35 +0,0 @@ -// This file is automatically generated. Do not edit. -// ['../../libs/compatibility/generate_cpp_c_headers.py'] -// Wed Jul 23 12:11:19 2003 ('GMTST', 'GMTST') - -#ifndef __CMATH_HEADER -#define __CMATH_HEADER - -#include - -namespace std { - using ::acos; - using ::cos; - using ::fmod; - using ::modf; - using ::tan; - using ::asin; - using ::cosh; - using ::frexp; - using ::pow; - using ::tanh; - using ::atan; - using ::exp; - using ::ldexp; - using ::sin; - using ::atan2; - using ::fabs; - using ::log; - using ::sinh; - using ::ceil; - using ::floor; - using ::log10; - using ::sqrt; -} - -#endif // CMATH_HEADER diff --git a/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/csetjmp b/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/csetjmp deleted file mode 100644 index aa6a019dfe..0000000000 --- a/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/csetjmp +++ /dev/null @@ -1,15 +0,0 @@ -// This file is automatically generated. Do not edit. -// ['../../libs/compatibility/generate_cpp_c_headers.py'] -// Wed Jul 23 12:11:19 2003 ('GMTST', 'GMTST') - -#ifndef __CSETJMP_HEADER -#define __CSETJMP_HEADER - -#include - -namespace std { - using ::jmp_buf; - using ::longjmp; -} - -#endif // CSETJMP_HEADER diff --git a/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/csignal b/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/csignal deleted file mode 100644 index 37e11d9e4a..0000000000 --- a/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/csignal +++ /dev/null @@ -1,16 +0,0 @@ -// This file is automatically generated. Do not edit. -// ['../../libs/compatibility/generate_cpp_c_headers.py'] -// Wed Jul 23 12:11:19 2003 ('GMTST', 'GMTST') - -#ifndef __CSIGNAL_HEADER -#define __CSIGNAL_HEADER - -#include - -namespace std { - using ::sig_atomic_t; - using ::raise; - using ::signal; -} - -#endif // CSIGNAL_HEADER diff --git a/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cstdarg b/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cstdarg deleted file mode 100644 index 5e1dd749f0..0000000000 --- a/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cstdarg +++ /dev/null @@ -1,14 +0,0 @@ -// This file is automatically generated. Do not edit. -// ['../../libs/compatibility/generate_cpp_c_headers.py'] -// Wed Jul 23 12:11:19 2003 ('GMTST', 'GMTST') - -#ifndef __CSTDARG_HEADER -#define __CSTDARG_HEADER - -#include - -namespace std { - using ::va_list; -} - -#endif // CSTDARG_HEADER diff --git a/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cstddef b/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cstddef deleted file mode 100644 index c00a55c1f3..0000000000 --- a/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cstddef +++ /dev/null @@ -1,15 +0,0 @@ -// This file is automatically generated. Do not edit. -// ['../../libs/compatibility/generate_cpp_c_headers.py'] -// Wed Jul 23 12:11:19 2003 ('GMTST', 'GMTST') - -#ifndef __CSTDDEF_HEADER -#define __CSTDDEF_HEADER - -#include - -namespace std { - using ::ptrdiff_t; - using ::size_t; -} - -#endif // CSTDDEF_HEADER diff --git a/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cstdio b/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cstdio deleted file mode 100644 index 8a48077ce3..0000000000 --- a/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cstdio +++ /dev/null @@ -1,57 +0,0 @@ -// This file is automatically generated. Do not edit. -// ['../../libs/compatibility/generate_cpp_c_headers.py'] -// Wed Jul 23 12:11:19 2003 ('GMTST', 'GMTST') - -#ifndef __CSTDIO_HEADER -#define __CSTDIO_HEADER - -#include - -namespace std { - using ::FILE; - using ::fpos_t; - using ::size_t; - using ::clearerr; - using ::fgets; - using ::fscanf; - using ::gets; - using ::rename; - using ::tmpfile; - using ::fclose; - using ::fopen; - using ::fseek; - using ::perror; - using ::rewind; - using ::tmpnam; - using ::feof; - using ::fprintf; - using ::fsetpos; - using ::printf; - using ::scanf; - using ::ungetc; - using ::ferror; - using ::fputc; - using ::ftell; - using ::putc; - using ::setbuf; - using ::vfprintf; - using ::fflush; - using ::fputs; - using ::fwrite; - using ::putchar; - using ::setvbuf; - using ::vprintf; - using ::fgetc; - using ::fread; - using ::getc; - using ::puts; - using ::sprintf; - using ::vsprintf; - using ::fgetpos; - using ::freopen; - using ::getchar; - using ::remove; - using ::sscanf; -} - -#endif // CSTDIO_HEADER diff --git a/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cstdlib b/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cstdlib deleted file mode 100644 index 7592ffcf3d..0000000000 --- a/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cstdlib +++ /dev/null @@ -1,43 +0,0 @@ -// This file is automatically generated. Do not edit. -// ['../../libs/compatibility/generate_cpp_c_headers.py'] -// Wed Jul 23 12:11:19 2003 ('GMTST', 'GMTST') - -#ifndef __CSTDLIB_HEADER -#define __CSTDLIB_HEADER - -#include - -namespace std { - using ::abort; - using ::atexit; - using ::exit; - using ::getenv; - using ::system; - using ::calloc; - using ::malloc; - using ::free; - using ::realloc; - using ::atol; - using ::mblen; - using ::strtod; - using ::wctomb; - using ::atof; - using ::mbstowcs; - using ::strtol; - using ::wcstombs; - using ::atoi; - using ::mbtowc; - using ::strtoul; - using ::bsearch; - using ::qsort; - using ::div_t; - using ::ldiv_t; - using ::abs; - using ::labs; - using ::srand; - using ::div; - using ::ldiv; - using ::rand; -} - -#endif // CSTDLIB_HEADER diff --git a/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cstring b/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cstring deleted file mode 100644 index e913597a64..0000000000 --- a/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cstring +++ /dev/null @@ -1,36 +0,0 @@ -// This file is automatically generated. Do not edit. -// ['../../libs/compatibility/generate_cpp_c_headers.py'] -// Wed Jul 23 12:11:19 2003 ('GMTST', 'GMTST') - -#ifndef __CSTRING_HEADER -#define __CSTRING_HEADER - -#include - -namespace std { - using ::size_t; - using ::memchr; - using ::strcat; - using ::strcspn; - using ::strncpy; - using ::strtok; - using ::memcmp; - using ::strchr; - using ::strerror; - using ::strpbrk; - using ::strxfrm; - using ::memcpy; - using ::strcmp; - using ::strlen; - using ::strrchr; - using ::memmove; - using ::strcoll; - using ::strncat; - using ::strspn; - using ::memset; - using ::strcpy; - using ::strncmp; - using ::strstr; -} - -#endif // CSTRING_HEADER diff --git a/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/ctime b/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/ctime deleted file mode 100644 index 0c8ac9abf2..0000000000 --- a/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/ctime +++ /dev/null @@ -1,26 +0,0 @@ -// This file is automatically generated. Do not edit. -// ['../../libs/compatibility/generate_cpp_c_headers.py'] -// Wed Jul 23 12:11:19 2003 ('GMTST', 'GMTST') - -#ifndef __CTIME_HEADER -#define __CTIME_HEADER - -#include - -namespace std { - using ::size_t; - using ::clock_t; - using ::time_t; - using ::tm; - using ::asctime; - using ::clock; - using ::difftime; - using ::localtime; - using ::strftime; - using ::ctime; - using ::gmtime; - using ::mktime; - using ::time; -} - -#endif // CTIME_HEADER diff --git a/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cwchar b/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cwchar deleted file mode 100644 index f9fbd30955..0000000000 --- a/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cwchar +++ /dev/null @@ -1,156 +0,0 @@ -// This file is automatically generated. Do not edit. -// ['../../libs/compatibility/generate_cpp_c_headers.py'] -// Wed Jul 23 12:11:19 2003 ('GMTST', 'GMTST') - -#ifndef __CWCHAR_HEADER -#define __CWCHAR_HEADER - -#include - -namespace std { - using ::mbstate_t; - using ::wint_t; - using ::size_t; -#if !(defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 740) - using ::btowc; -#endif -#if !(defined(__linux) && defined(__DECCXX_VER) && __DECCXX_VER <= 60390005) - using ::getwchar; -#endif -#if !(defined(__linux) && defined(__DECCXX_VER) && __DECCXX_VER <= 60390005) - using ::ungetwc; -#endif - using ::wcscpy; -#if !(defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 740) - using ::wcsrtombs; -#endif -#if !(defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 740) - using ::wmemchr; -#endif -#if !(defined(__linux) && defined(__DECCXX_VER) && __DECCXX_VER <= 60390005) - using ::fgetwc; -#endif -#if !(defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 740) - using ::mbrlen; -#endif -#if !(defined(__linux) && defined(__DECCXX_VER) && __DECCXX_VER <= 60390005) -#if !(defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 740) - using ::vfwprintf; -#endif -#endif - using ::wcscspn; - using ::wcsspn; -#if !(defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 740) - using ::wmemcmp; -#endif -#if !(defined(__linux) && defined(__DECCXX_VER) && __DECCXX_VER <= 60390005) - using ::fgetws; -#endif -#if !(defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 740) - using ::mbrtowc; -#endif -#if !(defined(__linux) && defined(__DECCXX_VER) && __DECCXX_VER <= 60390005) -#if !(defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 740) - using ::vswprintf; -#endif -#endif -#if !(defined(__linux) && defined(__DECCXX_VER) && __DECCXX_VER <= 60390005) - using ::wcsftime; -#endif - using ::wcsstr; -#if !(defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 740) - using ::wmemcpy; -#endif -#if !(defined(__linux) && defined(__DECCXX_VER) && __DECCXX_VER <= 60390005) - using ::fputwc; -#endif -#if !(defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 740) - using ::mbsinit; -#endif -#if !(defined(__linux) && defined(__DECCXX_VER) && __DECCXX_VER <= 60390005) -#if !(defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 740) - using ::vwprintf; -#endif -#endif - using ::wcslen; - using ::wcstod; -#if !(defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 740) - using ::wmemmove; -#endif -#if !(defined(__linux) && defined(__DECCXX_VER) && __DECCXX_VER <= 60390005) - using ::fputws; -#endif -#if !(defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 740) - using ::mbsrtowcs; -#endif -#if !(defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 740) - using ::wcrtomb; -#endif - using ::wcsncat; - using ::wcstok; -#if !(defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 740) - using ::wmemset; -#endif -#if !(defined(__linux) && defined(__DECCXX_VER) && __DECCXX_VER <= 60390005) -#if !(defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 740) -#if !(defined(__DECCXX_VER) && __DECCXX_VER <= 60290024) - using ::fwide; -#endif -#endif -#endif -#if !(defined(__linux) && defined(__DECCXX_VER) && __DECCXX_VER <= 60390005) - using ::putwc; -#endif - using ::wcscat; - using ::wcsncmp; - using ::wcstol; -#if !(defined(__linux) && defined(__DECCXX_VER) && __DECCXX_VER <= 60390005) -#if !(defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 740) - using ::wprintf; -#endif -#endif -#if !(defined(__linux) && defined(__DECCXX_VER) && __DECCXX_VER <= 60390005) -#if !(defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 740) - using ::fwprintf; -#endif -#endif -#if !(defined(__linux) && defined(__DECCXX_VER) && __DECCXX_VER <= 60390005) - using ::putwchar; -#endif - using ::wcschr; - using ::wcsncpy; - using ::wcstoul; -#if !(defined(__linux) && defined(__DECCXX_VER) && __DECCXX_VER <= 60390005) -#if !(defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 740) - using ::wscanf; -#endif -#endif -#if !(defined(__linux) && defined(__DECCXX_VER) && __DECCXX_VER <= 60390005) -#if !(defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 740) - using ::fwscanf; -#endif -#endif -#if !(defined(__linux) && defined(__DECCXX_VER) && __DECCXX_VER <= 60390005) -#if !(defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 740) - using ::swprintf; -#endif -#endif - using ::wcscmp; - using ::wcspbrk; - using ::wcsxfrm; -#if !(defined(__linux) && defined(__DECCXX_VER) && __DECCXX_VER <= 60390005) - using ::getwc; -#endif -#if !(defined(__linux) && defined(__DECCXX_VER) && __DECCXX_VER <= 60390005) -#if !(defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 740) - using ::swscanf; -#endif -#endif - using ::wcscoll; - using ::wcsrchr; -#if !(defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 740) - using ::wctob; -#endif -} - -#endif // CWCHAR_HEADER diff --git a/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cwctype b/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cwctype deleted file mode 100644 index cf8f07b074..0000000000 --- a/bundled/boost-1.56.0/include/boost/compatibility/cpp_c_headers/cwctype +++ /dev/null @@ -1,39 +0,0 @@ -// This file is automatically generated. Do not edit. -// ['../../libs/compatibility/generate_cpp_c_headers.py'] -// Wed Jul 23 12:11:19 2003 ('GMTST', 'GMTST') - -#ifndef __CWCTYPE_HEADER -#define __CWCTYPE_HEADER - -#include - -namespace std { -#if !(defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 740) - using ::wctrans_t; -#endif - using ::wctype_t; - using ::wint_t; - using ::iswalnum; - using ::iswctype; - using ::iswlower; - using ::iswspace; -#if !(defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 740) - using ::towctrans; -#endif -#if !(defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 740) - using ::wctrans; -#endif - using ::iswalpha; - using ::iswdigit; - using ::iswprint; - using ::iswupper; - using ::towlower; - using ::wctype; - using ::iswcntrl; - using ::iswgraph; - using ::iswpunct; - using ::iswxdigit; - using ::towupper; -} - -#endif // CWCTYPE_HEADER diff --git a/bundled/boost-1.56.0/include/boost/config/auto_link.hpp b/bundled/boost-1.56.0/include/boost/config/auto_link.hpp deleted file mode 100644 index 13cbad4360..0000000000 --- a/bundled/boost-1.56.0/include/boost/config/auto_link.hpp +++ /dev/null @@ -1,429 +0,0 @@ -// (C) Copyright John Maddock 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE auto_link.hpp - * VERSION see - * DESCRIPTION: Automatic library inclusion for Borland/Microsoft compilers. - */ - -/************************************************************************* - -USAGE: -~~~~~~ - -Before including this header you must define one or more of define the following macros: - -BOOST_LIB_NAME: Required: A string containing the basename of the library, - for example boost_regex. -BOOST_LIB_TOOLSET: Optional: the base name of the toolset. -BOOST_DYN_LINK: Optional: when set link to dll rather than static library. -BOOST_LIB_DIAGNOSTIC: Optional: when set the header will print out the name - of the library selected (useful for debugging). -BOOST_AUTO_LINK_NOMANGLE: Specifies that we should link to BOOST_LIB_NAME.lib, - rather than a mangled-name version. -BOOST_AUTO_LINK_TAGGED: Specifies that we link to libraries built with the --layout=tagged option. - This is essentially the same as the default name-mangled version, but without - the compiler name and version, or the Boost version. Just the build options. - -These macros will be undef'ed at the end of the header, further this header -has no include guards - so be sure to include it only once from your library! - -Algorithm: -~~~~~~~~~~ - -Libraries for Borland and Microsoft compilers are automatically -selected here, the name of the lib is selected according to the following -formula: - -BOOST_LIB_PREFIX - + BOOST_LIB_NAME - + "_" - + BOOST_LIB_TOOLSET - + BOOST_LIB_THREAD_OPT - + BOOST_LIB_RT_OPT - "-" - + BOOST_LIB_VERSION - -These are defined as: - -BOOST_LIB_PREFIX: "lib" for static libraries otherwise "". - -BOOST_LIB_NAME: The base name of the lib ( for example boost_regex). - -BOOST_LIB_TOOLSET: The compiler toolset name (vc6, vc7, bcb5 etc). - -BOOST_LIB_THREAD_OPT: "-mt" for multithread builds, otherwise nothing. - -BOOST_LIB_RT_OPT: A suffix that indicates the runtime library used, - contains one or more of the following letters after - a hyphen: - - s static runtime (dynamic if not present). - g debug/diagnostic runtime (release if not present). - y Python debug/diagnostic runtime (release if not present). - d debug build (release if not present). - p STLport build. - n STLport build without its IOStreams. - -BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y. - - -***************************************************************************/ - -#ifdef __cplusplus -# ifndef BOOST_CONFIG_HPP -# include -# endif -#elif defined(_MSC_VER) && !defined(__MWERKS__) && !defined(__EDG_VERSION__) -// -// C language compatability (no, honestly) -// -# define BOOST_MSVC _MSC_VER -# define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X) -# define BOOST_DO_STRINGIZE(X) #X -#endif -// -// Only include what follows for known and supported compilers: -// -#if defined(BOOST_MSVC) \ - || defined(__BORLANDC__) \ - || (defined(__MWERKS__) && defined(_WIN32) && (__MWERKS__ >= 0x3000)) \ - || (defined(__ICL) && defined(_MSC_EXTENSIONS) && (_MSC_VER >= 1200)) - -#ifndef BOOST_VERSION_HPP -# include -#endif - -#ifndef BOOST_LIB_NAME -# error "Macro BOOST_LIB_NAME not set (internal error)" -#endif - -// -// error check: -// -#if defined(__MSVC_RUNTIME_CHECKS) && !defined(_DEBUG) -# pragma message("Using the /RTC option without specifying a debug runtime will lead to linker errors") -# pragma message("Hint: go to the code generation options and switch to one of the debugging runtimes") -# error "Incompatible build options" -#endif -// -// select toolset if not defined already: -// -#ifndef BOOST_LIB_TOOLSET -# if defined(BOOST_MSVC) && (BOOST_MSVC < 1200) - // Note: no compilers before 1200 are supported -# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1300) - -# ifdef UNDER_CE - // eVC4: -# define BOOST_LIB_TOOLSET "evc4" -# else - // vc6: -# define BOOST_LIB_TOOLSET "vc6" -# endif - -# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1310) - - // vc7: -# define BOOST_LIB_TOOLSET "vc7" - -# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1400) - - // vc71: -# define BOOST_LIB_TOOLSET "vc71" - -# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1500) - - // vc80: -# define BOOST_LIB_TOOLSET "vc80" - -# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1600) - - // vc90: -# define BOOST_LIB_TOOLSET "vc90" - -# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1700) - - // vc10: -# define BOOST_LIB_TOOLSET "vc100" - -# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1800) - - // vc11: -# define BOOST_LIB_TOOLSET "vc110" - -# elif defined(BOOST_MSVC) - - // vc12: -# define BOOST_LIB_TOOLSET "vc120" - -# elif defined(__BORLANDC__) - - // CBuilder 6: -# define BOOST_LIB_TOOLSET "bcb" - -# elif defined(__ICL) - - // Intel C++, no version number: -# define BOOST_LIB_TOOLSET "iw" - -# elif defined(__MWERKS__) && (__MWERKS__ <= 0x31FF ) - - // Metrowerks CodeWarrior 8.x -# define BOOST_LIB_TOOLSET "cw8" - -# elif defined(__MWERKS__) && (__MWERKS__ <= 0x32FF ) - - // Metrowerks CodeWarrior 9.x -# define BOOST_LIB_TOOLSET "cw9" - -# endif -#endif // BOOST_LIB_TOOLSET - -// -// select thread opt: -// -#if defined(_MT) || defined(__MT__) -# define BOOST_LIB_THREAD_OPT "-mt" -#else -# define BOOST_LIB_THREAD_OPT -#endif - -#if defined(_MSC_VER) || defined(__MWERKS__) - -# ifdef _DLL - -# if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS)) - -# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\ - && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) -# define BOOST_LIB_RT_OPT "-gydp" -# elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG)) -# define BOOST_LIB_RT_OPT "-gdp" -# elif defined(_DEBUG)\ - && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) -# define BOOST_LIB_RT_OPT "-gydp" -# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1") -# error "Build options aren't compatible with pre-built libraries" -# elif defined(_DEBUG) -# define BOOST_LIB_RT_OPT "-gdp" -# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1") -# error "Build options aren't compatible with pre-built libraries" -# else -# define BOOST_LIB_RT_OPT "-p" -# endif - -# elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) - -# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\ - && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) -# define BOOST_LIB_RT_OPT "-gydpn" -# elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG)) -# define BOOST_LIB_RT_OPT "-gdpn" -# elif defined(_DEBUG)\ - && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) -# define BOOST_LIB_RT_OPT "-gydpn" -# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1") -# error "Build options aren't compatible with pre-built libraries" -# elif defined(_DEBUG) -# define BOOST_LIB_RT_OPT "-gdpn" -# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1") -# error "Build options aren't compatible with pre-built libraries" -# else -# define BOOST_LIB_RT_OPT "-pn" -# endif - -# else - -# if defined(_DEBUG) && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) -# define BOOST_LIB_RT_OPT "-gyd" -# elif defined(_DEBUG) -# define BOOST_LIB_RT_OPT "-gd" -# else -# define BOOST_LIB_RT_OPT -# endif - -# endif - -# else - -# if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS)) - -# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\ - && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) -# define BOOST_LIB_RT_OPT "-sgydp" -# elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG)) -# define BOOST_LIB_RT_OPT "-sgdp" -# elif defined(_DEBUG)\ - && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) -# define BOOST_LIB_RT_OPT "-sgydp" -# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1") -# error "Build options aren't compatible with pre-built libraries" -# elif defined(_DEBUG) -# define BOOST_LIB_RT_OPT "-sgdp" -# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1") -# error "Build options aren't compatible with pre-built libraries" -# else -# define BOOST_LIB_RT_OPT "-sp" -# endif - -# elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) - -# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\ - && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) -# define BOOST_LIB_RT_OPT "-sgydpn" -# elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG)) -# define BOOST_LIB_RT_OPT "-sgdpn" -# elif defined(_DEBUG)\ - && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) -# define BOOST_LIB_RT_OPT "-sgydpn" -# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1") -# error "Build options aren't compatible with pre-built libraries" -# elif defined(_DEBUG) -# define BOOST_LIB_RT_OPT "-sgdpn" -# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1") -# error "Build options aren't compatible with pre-built libraries" -# else -# define BOOST_LIB_RT_OPT "-spn" -# endif - -# else - -# if defined(_DEBUG)\ - && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) -# define BOOST_LIB_RT_OPT "-sgyd" -# elif defined(_DEBUG) -# define BOOST_LIB_RT_OPT "-sgd" -# else -# define BOOST_LIB_RT_OPT "-s" -# endif - -# endif - -# endif - -#elif defined(__BORLANDC__) - -// -// figure out whether we want the debug builds or not: -// -#if __BORLANDC__ > 0x561 -#pragma defineonoption BOOST_BORLAND_DEBUG -v -#endif -// -// sanity check: -// -#if defined(__STL_DEBUG) || defined(_STLP_DEBUG) -#error "Pre-built versions of the Boost libraries are not provided in STLport-debug form" -#endif - -# ifdef _RTLDLL - -# if defined(BOOST_BORLAND_DEBUG)\ - && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) -# define BOOST_LIB_RT_OPT "-yd" -# elif defined(BOOST_BORLAND_DEBUG) -# define BOOST_LIB_RT_OPT "-d" -# elif defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) -# define BOOST_LIB_RT_OPT -y -# else -# define BOOST_LIB_RT_OPT -# endif - -# else - -# if defined(BOOST_BORLAND_DEBUG)\ - && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) -# define BOOST_LIB_RT_OPT "-syd" -# elif defined(BOOST_BORLAND_DEBUG) -# define BOOST_LIB_RT_OPT "-sd" -# elif defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) -# define BOOST_LIB_RT_OPT "-sy" -# else -# define BOOST_LIB_RT_OPT "-s" -# endif - -# endif - -#endif - -// -// select linkage opt: -// -#if (defined(_DLL) || defined(_RTLDLL)) && defined(BOOST_DYN_LINK) -# define BOOST_LIB_PREFIX -#elif defined(BOOST_DYN_LINK) -# error "Mixing a dll boost library with a static runtime is a really bad idea..." -#else -# define BOOST_LIB_PREFIX "lib" -#endif - -// -// now include the lib: -// -#if defined(BOOST_LIB_NAME) \ - && defined(BOOST_LIB_PREFIX) \ - && defined(BOOST_LIB_TOOLSET) \ - && defined(BOOST_LIB_THREAD_OPT) \ - && defined(BOOST_LIB_RT_OPT) \ - && defined(BOOST_LIB_VERSION) - -#ifdef BOOST_AUTO_LINK_TAGGED -# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT ".lib") -# ifdef BOOST_LIB_DIAGNOSTIC -# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT ".lib") -# endif -#elif defined(BOOST_AUTO_LINK_NOMANGLE) -# pragma comment(lib, BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib") -# ifdef BOOST_LIB_DIAGNOSTIC -# pragma message ("Linking to lib file: " BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib") -# endif -#else -# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION ".lib") -# ifdef BOOST_LIB_DIAGNOSTIC -# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION ".lib") -# endif -#endif - -#else -# error "some required macros where not defined (internal logic error)." -#endif - - -#endif // _MSC_VER || __BORLANDC__ - -// -// finally undef any macros we may have set: -// -#ifdef BOOST_LIB_PREFIX -# undef BOOST_LIB_PREFIX -#endif -#if defined(BOOST_LIB_NAME) -# undef BOOST_LIB_NAME -#endif -// Don't undef this one: it can be set by the user and should be the -// same for all libraries: -//#if defined(BOOST_LIB_TOOLSET) -//# undef BOOST_LIB_TOOLSET -//#endif -#if defined(BOOST_LIB_THREAD_OPT) -# undef BOOST_LIB_THREAD_OPT -#endif -#if defined(BOOST_LIB_RT_OPT) -# undef BOOST_LIB_RT_OPT -#endif -#if defined(BOOST_LIB_LINK_OPT) -# undef BOOST_LIB_LINK_OPT -#endif -#if defined(BOOST_LIB_DEBUG_OPT) -# undef BOOST_LIB_DEBUG_OPT -#endif -#if defined(BOOST_DYN_LINK) -# undef BOOST_DYN_LINK -#endif - - diff --git a/bundled/boost-1.56.0/include/boost/config/compiler/clang.hpp b/bundled/boost-1.56.0/include/boost/config/compiler/clang.hpp deleted file mode 100644 index 6a178242d7..0000000000 --- a/bundled/boost-1.56.0/include/boost/config/compiler/clang.hpp +++ /dev/null @@ -1,200 +0,0 @@ -// (C) Copyright Douglas Gregor 2010 -// -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Clang compiler setup. - -#define BOOST_HAS_PRAGMA_ONCE - -// When compiling with clang before __has_extension was defined, -// even if one writes 'defined(__has_extension) && __has_extension(xxx)', -// clang reports a compiler error. So the only workaround found is: - -#ifndef __has_extension -#define __has_extension __has_feature -#endif - -#if !__has_feature(cxx_exceptions) && !defined(BOOST_NO_EXCEPTIONS) -# define BOOST_NO_EXCEPTIONS -#endif - -#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_RTTI) -# define BOOST_NO_RTTI -#endif - -#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_TYPEID) -# define BOOST_NO_TYPEID -#endif - -#if defined(__int64) && !defined(__GNUC__) -# define BOOST_HAS_MS_INT64 -#endif - -#define BOOST_HAS_NRVO - -// Branch prediction hints -#if defined(__has_builtin) -#if __has_builtin(__builtin_expect) -#define BOOST_LIKELY(x) __builtin_expect(x, 1) -#define BOOST_UNLIKELY(x) __builtin_expect(x, 0) -#endif -#endif - -// Clang supports "long long" in all compilation modes. -#define BOOST_HAS_LONG_LONG - -#if defined(__SIZEOF_INT128__) -# define BOOST_HAS_INT128 -#endif - - -// -// Dynamic shared object (DSO) and dynamic-link library (DLL) support -// -#if !defined(_WIN32) && !defined(__WIN32__) && !defined(WIN32) -# define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default"))) -# define BOOST_SYMBOL_IMPORT -# define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default"))) -#endif - -// -// The BOOST_FALLTHROUGH macro can be used to annotate implicit fall-through -// between switch labels. -// -#if __cplusplus >= 201103L && defined(__has_warning) -# if __has_feature(cxx_attributes) && __has_warning("-Wimplicit-fallthrough") -# define BOOST_FALLTHROUGH [[clang::fallthrough]] -# endif -#endif - -#if !__has_feature(cxx_auto_type) -# define BOOST_NO_CXX11_AUTO_DECLARATIONS -# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS -#endif - -// -// Currently clang on Windows using VC++ RTL does not support C++11's char16_t or char32_t -// -#if defined(_MSC_VER) || !(defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L) -# define BOOST_NO_CXX11_CHAR16_T -# define BOOST_NO_CXX11_CHAR32_T -#endif - -#if !__has_feature(cxx_constexpr) -# define BOOST_NO_CXX11_CONSTEXPR -#endif - -#if !__has_feature(cxx_decltype) -# define BOOST_NO_CXX11_DECLTYPE -#endif - -#if !__has_feature(cxx_decltype_incomplete_return_types) -# define BOOST_NO_CXX11_DECLTYPE_N3276 -#endif - -#if !__has_feature(cxx_defaulted_functions) -# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS -#endif - -#if !__has_feature(cxx_deleted_functions) -# define BOOST_NO_CXX11_DELETED_FUNCTIONS -#endif - -#if !__has_feature(cxx_explicit_conversions) -# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS -#endif - -#if !__has_feature(cxx_default_function_template_args) -# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS -#endif - -#if !__has_feature(cxx_generalized_initializers) -# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -#endif - -#if !__has_feature(cxx_lambdas) -# define BOOST_NO_CXX11_LAMBDAS -#endif - -#if !__has_feature(cxx_local_type_template_args) -# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS -#endif - -#if !__has_feature(cxx_noexcept) -# define BOOST_NO_CXX11_NOEXCEPT -#endif - -#if !__has_feature(cxx_nullptr) -# define BOOST_NO_CXX11_NULLPTR -#endif - -#if !__has_feature(cxx_range_for) -# define BOOST_NO_CXX11_RANGE_BASED_FOR -#endif - -#if !__has_feature(cxx_raw_string_literals) -# define BOOST_NO_CXX11_RAW_LITERALS -#endif - -#if !__has_feature(cxx_reference_qualified_functions) -# define BOOST_NO_CXX11_REF_QUALIFIERS -#endif - -#if !__has_feature(cxx_generalized_initializers) -# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX -#endif - -#if !__has_feature(cxx_rvalue_references) -# define BOOST_NO_CXX11_RVALUE_REFERENCES -#endif - -#if !__has_feature(cxx_strong_enums) -# define BOOST_NO_CXX11_SCOPED_ENUMS -#endif - -#if !__has_feature(cxx_static_assert) -# define BOOST_NO_CXX11_STATIC_ASSERT -#endif - -#if !__has_feature(cxx_alias_templates) -# define BOOST_NO_CXX11_TEMPLATE_ALIASES -#endif - -#if !__has_feature(cxx_unicode_literals) -# define BOOST_NO_CXX11_UNICODE_LITERALS -#endif - -#if !__has_feature(cxx_variadic_templates) -# define BOOST_NO_CXX11_VARIADIC_TEMPLATES -#endif - -#if !__has_feature(cxx_user_literals) -# define BOOST_NO_CXX11_USER_DEFINED_LITERALS -#endif - -#if !(__has_feature(cxx_alignas) || __has_extension(cxx_alignas)) -# define BOOST_NO_CXX11_ALIGNAS -#endif - -#if !__has_feature(cxx_trailing_return) -# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES -#endif - -#if !__has_feature(cxx_inline_namespaces) -# define BOOST_NO_CXX11_INLINE_NAMESPACES -#endif - -// Clang always supports variadic macros -// Clang always supports extern templates - -#ifndef BOOST_COMPILER -# define BOOST_COMPILER "Clang version " __clang_version__ -#endif - -// Macro used to identify the Clang compiler. -#define BOOST_CLANG 1 - diff --git a/bundled/boost-1.56.0/include/boost/config/compiler/digitalmars.hpp b/bundled/boost-1.56.0/include/boost/config/compiler/digitalmars.hpp deleted file mode 100644 index 7bc49ab4b3..0000000000 --- a/bundled/boost-1.56.0/include/boost/config/compiler/digitalmars.hpp +++ /dev/null @@ -1,94 +0,0 @@ -// Copyright (C) Christof Meerwald 2003 -// Copyright (C) Dan Watkins 2003 -// -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// Digital Mars C++ compiler setup: -#define BOOST_COMPILER __DMC_VERSION_STRING__ - -#define BOOST_HAS_LONG_LONG -#define BOOST_HAS_PRAGMA_ONCE - -#if !defined(BOOST_STRICT_CONFIG) -#define BOOST_NO_MEMBER_TEMPLATE_FRIENDS -#define BOOST_NO_OPERATORS_IN_NAMESPACE -#define BOOST_NO_UNREACHABLE_RETURN_DETECTION -#define BOOST_NO_SFINAE -#define BOOST_NO_USING_TEMPLATE -#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL -#endif - -// -// has macros: -#define BOOST_HAS_DIRENT_H -#define BOOST_HAS_STDINT_H -#define BOOST_HAS_WINTHREADS - -#if (__DMC__ >= 0x847) -#define BOOST_HAS_EXPM1 -#define BOOST_HAS_LOG1P -#endif - -// -// Is this really the best way to detect whether the std lib is in namespace std? -// -#ifdef __cplusplus -#include -#endif -#if !defined(__STL_IMPORT_VENDOR_CSTD) && !defined(_STLP_IMPORT_VENDOR_CSTD) -# define BOOST_NO_STDC_NAMESPACE -#endif - - -// check for exception handling support: -#if !defined(_CPPUNWIND) && !defined(BOOST_NO_EXCEPTIONS) -# define BOOST_NO_EXCEPTIONS -#endif - -// -// C++0x features -// -#define BOOST_NO_CXX11_AUTO_DECLARATIONS -#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS -#define BOOST_NO_CXX11_CHAR16_T -#define BOOST_NO_CXX11_CHAR32_T -#define BOOST_NO_CXX11_CONSTEXPR -#define BOOST_NO_CXX11_DECLTYPE -#define BOOST_NO_CXX11_DECLTYPE_N3276 -#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS -#define BOOST_NO_CXX11_DELETED_FUNCTIONS -#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS -#define BOOST_NO_CXX11_EXTERN_TEMPLATE -#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -#define BOOST_NO_CXX11_LAMBDAS -#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS -#define BOOST_NO_CXX11_NOEXCEPT -#define BOOST_NO_CXX11_NULLPTR -#define BOOST_NO_CXX11_RANGE_BASED_FOR -#define BOOST_NO_CXX11_RAW_LITERALS -#define BOOST_NO_CXX11_RVALUE_REFERENCES -#define BOOST_NO_CXX11_SCOPED_ENUMS -#define BOOST_NO_SFINAE_EXPR -#define BOOST_NO_CXX11_STATIC_ASSERT -#define BOOST_NO_CXX11_TEMPLATE_ALIASES -#define BOOST_NO_CXX11_UNICODE_LITERALS -#define BOOST_NO_CXX11_VARIADIC_TEMPLATES -#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX -#define BOOST_NO_CXX11_USER_DEFINED_LITERALS -#define BOOST_NO_CXX11_ALIGNAS -#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES -#define BOOST_NO_CXX11_INLINE_NAMESPACES -#define BOOST_NO_CXX11_REF_QUALIFIERS - -#if (__DMC__ <= 0x840) -#error "Compiler not supported or configured - please reconfigure" -#endif -// -// last known and checked version is ...: -#if (__DMC__ > 0x848) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# endif -#endif diff --git a/bundled/boost-1.56.0/include/boost/config/compiler/gcc.hpp b/bundled/boost-1.56.0/include/boost/config/compiler/gcc.hpp deleted file mode 100644 index ef6b07e27d..0000000000 --- a/bundled/boost-1.56.0/include/boost/config/compiler/gcc.hpp +++ /dev/null @@ -1,266 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Darin Adler 2001 - 2002. -// (C) Copyright Jens Maurer 2001 - 2002. -// (C) Copyright Beman Dawes 2001 - 2003. -// (C) Copyright Douglas Gregor 2002. -// (C) Copyright David Abrahams 2002 - 2003. -// (C) Copyright Synge Todo 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// GNU C++ compiler setup. - -// -// Define BOOST_GCC so we know this is "real" GCC and not some pretender: -// -#if !defined(__CUDACC__) -#define BOOST_GCC (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) -#endif - -#if __GNUC__ == 3 -# if defined (__PATHSCALE__) -# define BOOST_NO_TWO_PHASE_NAME_LOOKUP -# define BOOST_NO_IS_ABSTRACT -# endif - -# if __GNUC_MINOR__ < 4 -# define BOOST_NO_IS_ABSTRACT -# endif -# define BOOST_NO_CXX11_EXTERN_TEMPLATE -#endif -#if __GNUC__ < 4 -// -// All problems to gcc-3.x and earlier here: -// -#define BOOST_NO_TWO_PHASE_NAME_LOOKUP -# ifdef __OPEN64__ -# define BOOST_NO_IS_ABSTRACT -# endif -#endif - -// GCC prior to 3.4 had #pragma once too but it didn't work well with filesystem links -#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) -#define BOOST_HAS_PRAGMA_ONCE -#endif - -#if __GNUC__ < 4 || ( __GNUC__ == 4 && __GNUC_MINOR__ < 4 ) -// Previous versions of GCC did not completely implement value-initialization: -// GCC Bug 30111, "Value-initialization of POD base class doesn't initialize -// members", reported by Jonathan Wakely in 2006, -// http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30111 (fixed for GCC 4.4) -// GCC Bug 33916, "Default constructor fails to initialize array members", -// reported by Michael Elizabeth Chastain in 2007, -// http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33916 (fixed for GCC 4.2.4) -// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues -#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION -#endif - -#if !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS) -# define BOOST_NO_EXCEPTIONS -#endif - - -// -// Threading support: Turn this on unconditionally here (except for -// those platforms where we can know for sure). It will get turned off again -// later if no threading API is detected. -// -#if !defined(__MINGW32__) && !defined(linux) && !defined(__linux) && !defined(__linux__) -# define BOOST_HAS_THREADS -#endif - -// -// gcc has "long long" -// Except on Darwin with standard compliance enabled (-pedantic) -// Apple gcc helpfully defines this macro we can query -// -#if !defined(__DARWIN_NO_LONG_LONG) -# define BOOST_HAS_LONG_LONG -#endif - -// -// gcc implements the named return value optimization since version 3.1 -// -#define BOOST_HAS_NRVO - -// Branch prediction hints -#define BOOST_LIKELY(x) __builtin_expect(x, 1) -#define BOOST_UNLIKELY(x) __builtin_expect(x, 0) - -// -// Dynamic shared object (DSO) and dynamic-link library (DLL) support -// -#if __GNUC__ >= 4 -# if (defined(_WIN32) || defined(__WIN32__) || defined(WIN32)) && !defined(__CYGWIN__) - // All Win32 development environments, including 64-bit Windows and MinGW, define - // _WIN32 or one of its variant spellings. Note that Cygwin is a POSIX environment, - // so does not define _WIN32 or its variants. -# define BOOST_HAS_DECLSPEC -# define BOOST_SYMBOL_EXPORT __attribute__((__dllexport__)) -# define BOOST_SYMBOL_IMPORT __attribute__((__dllimport__)) -# else -# define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default"))) -# define BOOST_SYMBOL_IMPORT -# endif -# define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default"))) -#else -// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined -# define BOOST_SYMBOL_EXPORT -#endif - -// -// RTTI and typeinfo detection is possible post gcc-4.3: -// -#if __GNUC__ * 100 + __GNUC_MINOR__ >= 403 -# ifndef __GXX_RTTI -# ifndef BOOST_NO_TYPEID -# define BOOST_NO_TYPEID -# endif -# ifndef BOOST_NO_RTTI -# define BOOST_NO_RTTI -# endif -# endif -#endif - -// -// Recent GCC versions have __int128 when in 64-bit mode. -// -// We disable this if the compiler is really nvcc as it -// doesn't actually support __int128 as of CUDA_VERSION=5000 -// even though it defines __SIZEOF_INT128__. -// See https://svn.boost.org/trac/boost/ticket/8048 -// Only re-enable this for nvcc if you're absolutely sure -// of the circumstances under which it's supported: -// -#if defined(__SIZEOF_INT128__) && !defined(__CUDACC__) -# define BOOST_HAS_INT128 -#endif - -// C++0x features in 4.3.n and later -// -#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 2)) && defined(__GXX_EXPERIMENTAL_CXX0X__) -// C++0x features are only enabled when -std=c++0x or -std=gnu++0x are -// passed on the command line, which in turn defines -// __GXX_EXPERIMENTAL_CXX0X__. -# define BOOST_HAS_DECLTYPE -# define BOOST_HAS_RVALUE_REFS -# define BOOST_HAS_STATIC_ASSERT -# define BOOST_HAS_VARIADIC_TMPL -#else -# define BOOST_NO_CXX11_DECLTYPE -# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS -# define BOOST_NO_CXX11_RVALUE_REFERENCES -# define BOOST_NO_CXX11_STATIC_ASSERT - -// Variadic templates compiler: -// http://www.generic-programming.org/~dgregor/cpp/variadic-templates.html -# if defined(__VARIADIC_TEMPLATES) || (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4) && defined(__GXX_EXPERIMENTAL_CXX0X__)) -# define BOOST_HAS_VARIADIC_TMPL -# else -# define BOOST_NO_CXX11_VARIADIC_TEMPLATES -# endif -#endif - -// C++0x features in 4.4.n and later -// -#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4) || !defined(__GXX_EXPERIMENTAL_CXX0X__) -# define BOOST_NO_CXX11_AUTO_DECLARATIONS -# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS -# define BOOST_NO_CXX11_CHAR16_T -# define BOOST_NO_CXX11_CHAR32_T -# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS -# define BOOST_NO_CXX11_DELETED_FUNCTIONS -# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES -# define BOOST_NO_CXX11_INLINE_NAMESPACES -#endif - -#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) -# define BOOST_NO_SFINAE_EXPR -#endif - -// GCC 4.5 forbids declaration of defaulted functions in private or protected sections -#if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) && (__GNUC__ == 4 && __GNUC_MINOR__ <= 5) -# define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS -#endif - -// C++0x features in 4.5.0 and later -// -#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(__GXX_EXPERIMENTAL_CXX0X__) -# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS -# define BOOST_NO_CXX11_LAMBDAS -# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS -# define BOOST_NO_CXX11_RAW_LITERALS -# define BOOST_NO_CXX11_UNICODE_LITERALS -#endif - -// C++0x features in 4.5.1 and later -// -#if (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ < 40501) || !defined(__GXX_EXPERIMENTAL_CXX0X__) -// scoped enums have a serious bug in 4.4.0, so define BOOST_NO_CXX11_SCOPED_ENUMS before 4.5.1 -// See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38064 -# define BOOST_NO_CXX11_SCOPED_ENUMS -#endif - -// C++0x features in 4.6.n and later -// -#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6) || !defined(__GXX_EXPERIMENTAL_CXX0X__) -#define BOOST_NO_CXX11_CONSTEXPR -#define BOOST_NO_CXX11_NOEXCEPT -#define BOOST_NO_CXX11_NULLPTR -#define BOOST_NO_CXX11_RANGE_BASED_FOR -#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX -#endif - -// C++0x features in 4.7.n and later -// -#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7) || !defined(__GXX_EXPERIMENTAL_CXX0X__) -# define BOOST_NO_CXX11_TEMPLATE_ALIASES -# define BOOST_NO_CXX11_USER_DEFINED_LITERALS -#endif - -// C++0x features in 4.8.n and later -// -#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 8) || !defined(__GXX_EXPERIMENTAL_CXX0X__) -# define BOOST_NO_CXX11_ALIGNAS -#endif - -// C++0x features in 4.8.1 and later -// -#if (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ < 40801) || !defined(__GXX_EXPERIMENTAL_CXX0X__) -# define BOOST_NO_CXX11_DECLTYPE_N3276 -# define BOOST_NO_CXX11_REF_QUALIFIERS -#endif - -#ifndef BOOST_COMPILER -# define BOOST_COMPILER "GNU C++ version " __VERSION__ -#endif - -// ConceptGCC compiler: -// http://www.generic-programming.org/software/ConceptGCC/ -#ifdef __GXX_CONCEPTS__ -# define BOOST_HAS_CONCEPTS -# define BOOST_COMPILER "ConceptGCC version " __VERSION__ -#endif - -// versions check: -// we don't know gcc prior to version 3.30: -#if (__GNUC__ < 3) || (__GNUC__ == 3 && (__GNUC_MINOR__ < 3)) -# error "Compiler not configured - please reconfigure" -#endif -// -// last known and checked version is 4.6 (Pre-release): -#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 6)) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# else -// we don't emit warnings here anymore since there are no defect macros defined for -// gcc post 3.4, so any failures are gcc regressions... -//# warning "Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - - diff --git a/bundled/boost-1.56.0/include/boost/config/compiler/gcc_xml.hpp b/bundled/boost-1.56.0/include/boost/config/compiler/gcc_xml.hpp deleted file mode 100644 index f04af0618c..0000000000 --- a/bundled/boost-1.56.0/include/boost/config/compiler/gcc_xml.hpp +++ /dev/null @@ -1,65 +0,0 @@ -// (C) Copyright John Maddock 2006. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// GCC-XML C++ compiler setup: - -# if !defined(__GCCXML_GNUC__) || ((__GCCXML_GNUC__ <= 3) && (__GCCXML_GNUC_MINOR__ <= 3)) -# define BOOST_NO_IS_ABSTRACT -# endif - -// -// Threading support: Turn this on unconditionally here (except for -// those platforms where we can know for sure). It will get turned off again -// later if no threading API is detected. -// -#if !defined(__MINGW32__) && !defined(_MSC_VER) && !defined(linux) && !defined(__linux) && !defined(__linux__) -# define BOOST_HAS_THREADS -#endif - -// -// gcc has "long long" -// -#define BOOST_HAS_LONG_LONG - -// C++0x features: -// -# define BOOST_NO_CXX11_CONSTEXPR -# define BOOST_NO_CXX11_NULLPTR -# define BOOST_NO_CXX11_TEMPLATE_ALIASES -# define BOOST_NO_CXX11_DECLTYPE -# define BOOST_NO_CXX11_DECLTYPE_N3276 -# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS -# define BOOST_NO_CXX11_RVALUE_REFERENCES -# define BOOST_NO_CXX11_STATIC_ASSERT -# define BOOST_NO_CXX11_VARIADIC_TEMPLATES -# define BOOST_NO_CXX11_VARIADIC_MACROS -# define BOOST_NO_CXX11_AUTO_DECLARATIONS -# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS -# define BOOST_NO_CXX11_CHAR16_T -# define BOOST_NO_CXX11_CHAR32_T -# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS -# define BOOST_NO_CXX11_DELETED_FUNCTIONS -# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -# define BOOST_NO_CXX11_SCOPED_ENUMS -# define BOOST_NO_SFINAE_EXPR -# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS -# define BOOST_NO_CXX11_LAMBDAS -# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS -# define BOOST_NO_CXX11_RANGE_BASED_FOR -# define BOOST_NO_CXX11_RAW_LITERALS -# define BOOST_NO_CXX11_UNICODE_LITERALS -# define BOOST_NO_CXX11_NOEXCEPT -# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX -# define BOOST_NO_CXX11_USER_DEFINED_LITERALS -# define BOOST_NO_CXX11_ALIGNAS -# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES -# define BOOST_NO_CXX11_INLINE_NAMESPACES -# define BOOST_NO_CXX11_REF_QUALIFIERS - -#define BOOST_COMPILER "GCC-XML C++ version " __GCCXML__ - - diff --git a/bundled/boost-1.56.0/include/boost/config/compiler/intel.hpp b/bundled/boost-1.56.0/include/boost/config/compiler/intel.hpp deleted file mode 100644 index cbc9422f61..0000000000 --- a/bundled/boost-1.56.0/include/boost/config/compiler/intel.hpp +++ /dev/null @@ -1,324 +0,0 @@ -// (C) Copyright John Maddock 2001-8. -// (C) Copyright Peter Dimov 2001. -// (C) Copyright Jens Maurer 2001. -// (C) Copyright David Abrahams 2002 - 2003. -// (C) Copyright Aleksey Gurtovoy 2002 - 2003. -// (C) Copyright Guillaume Melquiond 2002 - 2003. -// (C) Copyright Beman Dawes 2003. -// (C) Copyright Martin Wille 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Intel compiler setup: - -#include "boost/config/compiler/common_edg.hpp" - -#if defined(__INTEL_COMPILER) -# define BOOST_INTEL_CXX_VERSION __INTEL_COMPILER -#elif defined(__ICL) -# define BOOST_INTEL_CXX_VERSION __ICL -#elif defined(__ICC) -# define BOOST_INTEL_CXX_VERSION __ICC -#elif defined(__ECC) -# define BOOST_INTEL_CXX_VERSION __ECC -#endif - -// Flags determined by comparing output of 'icpc -dM -E' with and without '-std=c++0x' -#if (!(defined(_WIN32) || defined(_WIN64)) && defined(__STDC_HOSTED__) && (__STDC_HOSTED__ && (BOOST_INTEL_CXX_VERSION <= 1200))) || defined(__GXX_EXPERIMENTAL_CPP0X__) || defined(__GXX_EXPERIMENTAL_CXX0X__) -# define BOOST_INTEL_STDCXX0X -#endif -#if defined(_MSC_VER) && (_MSC_VER >= 1600) -# define BOOST_INTEL_STDCXX0X -#endif - -#ifdef BOOST_INTEL_STDCXX0X -#define BOOST_COMPILER "Intel C++ C++0x mode version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION) -#else -#define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION) -#endif -#define BOOST_INTEL BOOST_INTEL_CXX_VERSION - -#if defined(_WIN32) || defined(_WIN64) -# define BOOST_INTEL_WIN BOOST_INTEL -#else -# define BOOST_INTEL_LINUX BOOST_INTEL -#endif - -#if (BOOST_INTEL_CXX_VERSION <= 600) - -# if defined(_MSC_VER) && (_MSC_VER <= 1300) // added check for <= VC 7 (Peter Dimov) - -// Boost libraries assume strong standard conformance unless otherwise -// indicated by a config macro. As configured by Intel, the EDG front-end -// requires certain compiler options be set to achieve that strong conformance. -// Particularly /Qoption,c,--arg_dep_lookup (reported by Kirk Klobe & Thomas Witt) -// and /Zc:wchar_t,forScope. See boost-root/tools/build/intel-win32-tools.jam for -// details as they apply to particular versions of the compiler. When the -// compiler does not predefine a macro indicating if an option has been set, -// this config file simply assumes the option has been set. -// Thus BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP will not be defined, even if -// the compiler option is not enabled. - -# define BOOST_NO_SWPRINTF -# endif - -// Void returns, 64 bit integrals don't work when emulating VC 6 (Peter Dimov) - -# if defined(_MSC_VER) && (_MSC_VER <= 1200) -# define BOOST_NO_VOID_RETURNS -# define BOOST_NO_INTEGRAL_INT64_T -# endif - -#endif - -#if (BOOST_INTEL_CXX_VERSION <= 710) && defined(_WIN32) -# define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS -#endif - -// See http://aspn.activestate.com/ASPN/Mail/Message/boost/1614864 -#if BOOST_INTEL_CXX_VERSION < 600 -# define BOOST_NO_INTRINSIC_WCHAR_T -#else -// We should test the macro _WCHAR_T_DEFINED to check if the compiler -// supports wchar_t natively. *BUT* there is a problem here: the standard -// headers define this macro if they typedef wchar_t. Anyway, we're lucky -// because they define it without a value, while Intel C++ defines it -// to 1. So we can check its value to see if the macro was defined natively -// or not. -// Under UNIX, the situation is exactly the same, but the macro _WCHAR_T -// is used instead. -# if ((_WCHAR_T_DEFINED + 0) == 0) && ((_WCHAR_T + 0) == 0) -# define BOOST_NO_INTRINSIC_WCHAR_T -# endif -#endif - -#if defined(__GNUC__) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL) -// -// Figure out when Intel is emulating this gcc bug -// (All Intel versions prior to 9.0.26, and versions -// later than that if they are set up to emulate gcc 3.2 -// or earlier): -// -# if ((__GNUC__ == 3) && (__GNUC_MINOR__ <= 2)) || (BOOST_INTEL < 900) || (__INTEL_COMPILER_BUILD_DATE < 20050912) -# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL -# endif -#endif -#if (defined(__GNUC__) && (__GNUC__ < 4)) || (defined(_WIN32) && (BOOST_INTEL_CXX_VERSION <= 1200)) || (BOOST_INTEL_CXX_VERSION <= 1200) -// GCC or VC emulation: -#define BOOST_NO_TWO_PHASE_NAME_LOOKUP -#endif -// -// Verify that we have actually got BOOST_NO_INTRINSIC_WCHAR_T -// set correctly, if we don't do this now, we will get errors later -// in type_traits code among other things, getting this correct -// for the Intel compiler is actually remarkably fragile and tricky: -// -#ifdef __cplusplus -#if defined(BOOST_NO_INTRINSIC_WCHAR_T) -#include -template< typename T > struct assert_no_intrinsic_wchar_t; -template<> struct assert_no_intrinsic_wchar_t { typedef void type; }; -// if you see an error here then you need to unset BOOST_NO_INTRINSIC_WCHAR_T -// where it is defined above: -typedef assert_no_intrinsic_wchar_t::type assert_no_intrinsic_wchar_t_; -#else -template< typename T > struct assert_intrinsic_wchar_t; -template<> struct assert_intrinsic_wchar_t {}; -// if you see an error here then define BOOST_NO_INTRINSIC_WCHAR_T on the command line: -template<> struct assert_intrinsic_wchar_t {}; -#endif -#endif - -#if defined(_MSC_VER) && (_MSC_VER+0 >= 1000) -# if _MSC_VER >= 1200 -# define BOOST_HAS_MS_INT64 -# endif -# define BOOST_NO_SWPRINTF -# define BOOST_NO_TWO_PHASE_NAME_LOOKUP -#elif defined(_WIN32) -# define BOOST_DISABLE_WIN32 -#endif - -// I checked version 6.0 build 020312Z, it implements the NRVO. -// Correct this as you find out which version of the compiler -// implemented the NRVO first. (Daniel Frey) -#if (BOOST_INTEL_CXX_VERSION >= 600) -# define BOOST_HAS_NRVO -#endif - -// Branch prediction hints -// I'm not sure 8.0 was the first version to support these builtins, -// update the condition if the version is not accurate. (Andrey Semashev) -#if defined(__GNUC__) && BOOST_INTEL_CXX_VERSION >= 800 -#define BOOST_LIKELY(x) __builtin_expect(x, 1) -#define BOOST_UNLIKELY(x) __builtin_expect(x, 0) -#endif - -// -// versions check: -// we don't support Intel prior to version 6.0: -#if BOOST_INTEL_CXX_VERSION < 600 -# error "Compiler not supported or configured - please reconfigure" -#endif - -// Intel on MacOS requires -#if defined(__APPLE__) && defined(__INTEL_COMPILER) -# define BOOST_NO_TWO_PHASE_NAME_LOOKUP -#endif - -// Intel on Altix Itanium -#if defined(__itanium__) && defined(__INTEL_COMPILER) -# define BOOST_NO_TWO_PHASE_NAME_LOOKUP -#endif - -// -// An attempt to value-initialize a pointer-to-member may trigger an -// internal error on Intel <= 11.1 (last checked version), as was -// reported by John Maddock, Intel support issue 589832, May 2010. -// Moreover, according to test results from Huang-Vista-x86_32_intel, -// intel-vc9-win-11.1 may leave a non-POD array uninitialized, in some -// cases when it should be value-initialized. -// (Niels Dekker, LKEB, May 2010) -// Apparently Intel 12.1 (compiler version number 9999 !!) has the same issue (compiler regression). -#if defined(__INTEL_COMPILER) -# if (__INTEL_COMPILER <= 1110) || (__INTEL_COMPILER == 9999) || (defined(_WIN32) && (__INTEL_COMPILER < 1500)) -# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION -# endif -#endif - -// -// Dynamic shared object (DSO) and dynamic-link library (DLL) support -// -#if defined(__GNUC__) && (__GNUC__ >= 4) -# define BOOST_SYMBOL_EXPORT __attribute__((visibility("default"))) -# define BOOST_SYMBOL_IMPORT -# define BOOST_SYMBOL_VISIBLE __attribute__((visibility("default"))) -#endif -// -// C++0x features -// - ICC added static_assert in 11.0 (first version with C++0x support) -// -#if defined(BOOST_INTEL_STDCXX0X) -# undef BOOST_NO_CXX11_STATIC_ASSERT -// -// These pass our test cases, but aren't officially supported according to: -// http://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler/ -// -//# undef BOOST_NO_CXX11_LAMBDAS -//# undef BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS -//# undef BOOST_NO_CXX11_DECLTYPE -//# undef BOOST_NO_CXX11_AUTO_DECLARATIONS -//# undef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS -#endif - -#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION >= 1200) -//# undef BOOST_NO_CXX11_RVALUE_REFERENCES // Enabling this breaks Filesystem and Exception libraries -//# undef BOOST_NO_CXX11_SCOPED_ENUMS // doesn't really work!! -# undef BOOST_NO_CXX11_DELETED_FUNCTIONS -# undef BOOST_NO_CXX11_DEFAULTED_FUNCTIONS -# undef BOOST_NO_CXX11_LAMBDAS -# undef BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS -# undef BOOST_NO_CXX11_DECLTYPE -# undef BOOST_NO_CXX11_AUTO_DECLARATIONS -# undef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS -# undef BOOST_NO_CXX11_TRAILING_RESULT_TYPES -#endif - -// icl Version 12.1.0.233 Build 20110811 and possibly some other builds -// had an incorrect __INTEL_COMPILER value of 9999. Intel say this has been fixed. -#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION > 1200) -# undef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS -# undef BOOST_NO_CXX11_NULLPTR -# undef BOOST_NO_CXX11_RVALUE_REFERENCES -# undef BOOST_NO_SFINAE_EXPR -# undef BOOST_NO_CXX11_TEMPLATE_ALIASES -# undef BOOST_NO_CXX11_VARIADIC_TEMPLATES - -// http://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler/ -// continues to list scoped enum support as "Partial" -//# undef BOOST_NO_CXX11_SCOPED_ENUMS -#endif -#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION >= 1310) && !defined(_MSC_VER) -# undef BOOST_NO_CXX11_INLINE_NAMESPACES -# undef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS -// This one generates internal compiler errors in multiprecision, disabled for now: -//# undef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS -// This one generates errors when used with conditional exception specifications, for example in multiprecision: -//# undef BOOST_NO_CXX11_NOEXCEPT -# undef BOOST_NO_CXX11_RANGE_BASED_FOR -# undef BOOST_NO_CXX11_SCOPED_ENUMS -# undef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX -#endif -#if (BOOST_INTEL_CXX_VERSION >= 1310) -# undef BOOST_NO_SFINAE_EXPR -#endif -#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION >= 1400) && !defined(_MSC_VER) -# undef BOOST_NO_CXX11_UNICODE_LITERALS -# undef BOOST_NO_CXX11_RAW_LITERALS -// This one generates errors when used with conditional exception specifications, for example in multiprecision: -//# undef BOOST_NO_CXX11_NOEXCEPT -// This breaks multiprecision: -//# undef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS -# undef BOOST_NO_CXX11_HDR_THREAD -# undef BOOST_NO_CXX11_CHAR32_T -# undef BOOST_NO_CXX11_CHAR16_T -# undef BOOST_NO_CXX11_REF_QUALIFIERS -#endif - -#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION <= 1310) -# define BOOST_NO_CXX11_HDR_FUTURE -# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -#endif - -#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION == 1400) -// A regression in Intel's compiler means that seems to be broken in this release as well as : -# define BOOST_NO_CXX11_HDR_FUTURE -# define BOOST_NO_CXX11_HDR_TUPLE -#endif - -#if defined(_MSC_VER) && (_MSC_VER <= 1700) -// -// Although the Intel compiler is capable of supporting these, it appears not to in MSVC compatibility mode: -// -# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -# define BOOST_NO_CXX11_VARIADIC_TEMPLATES -# define BOOST_NO_CXX11_DELETED_FUNCTIONS -# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS -# define BOOST_NO_CXX11_TEMPLATE_ALIASES -# if(BOOST_INTEL_CXX_VERSION < 1310) -# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES -# endif -#endif - -#if (BOOST_INTEL_CXX_VERSION < 1200) -// -// fenv.h appears not to work with Intel prior to 12.0: -// -# define BOOST_NO_FENV_H -#endif - -#if defined(_MSC_VER) && (_MSC_VER >= 1600) -# define BOOST_HAS_STDINT_H -#endif - -#if defined(__LP64__) && defined(__GNUC__) && (BOOST_INTEL_CXX_VERSION >= 1310) -# define BOOST_HAS_INT128 -#endif - -// -// last known and checked version: -#if (BOOST_INTEL_CXX_VERSION > 1310) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# elif defined(_MSC_VER) -// -// We don't emit this warning any more, since we have so few -// defect macros set anyway (just the one). -// -//# pragma message("Unknown compiler version - please run the configure tests and report the results") -# endif -#endif - diff --git a/bundled/boost-1.56.0/include/boost/config/compiler/mpw.hpp b/bundled/boost-1.56.0/include/boost/config/compiler/mpw.hpp deleted file mode 100644 index 7a4ffa1507..0000000000 --- a/bundled/boost-1.56.0/include/boost/config/compiler/mpw.hpp +++ /dev/null @@ -1,90 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2002. -// (C) Copyright Aleksey Gurtovoy 2002. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// MPW C++ compilers setup: - -# if defined(__SC__) -# define BOOST_COMPILER "MPW SCpp version " BOOST_STRINGIZE(__SC__) -# elif defined(__MRC__) -# define BOOST_COMPILER "MPW MrCpp version " BOOST_STRINGIZE(__MRC__) -# else -# error "Using MPW compiler configuration by mistake. Please update." -# endif - -// -// MPW 8.90: -// -#if (MPW_CPLUS <= 0x890) || !defined(BOOST_STRICT_CONFIG) -# define BOOST_NO_CV_SPECIALIZATIONS -# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS -# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS -# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION -# define BOOST_NO_INTRINSIC_WCHAR_T -# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -# define BOOST_NO_USING_TEMPLATE - -# define BOOST_NO_CWCHAR -# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS - -# define BOOST_NO_STD_ALLOCATOR /* actually a bug with const reference overloading */ - -#endif - -// -// C++0x features -// -// See boost\config\suffix.hpp for BOOST_NO_LONG_LONG -// -#define BOOST_NO_CXX11_AUTO_DECLARATIONS -#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS -#define BOOST_NO_CXX11_CHAR16_T -#define BOOST_NO_CXX11_CHAR32_T -#define BOOST_NO_CXX11_CONSTEXPR -#define BOOST_NO_CXX11_DECLTYPE -#define BOOST_NO_CXX11_DECLTYPE_N3276 -#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS -#define BOOST_NO_CXX11_DELETED_FUNCTIONS -#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS -#define BOOST_NO_CXX11_EXTERN_TEMPLATE -#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS -#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -#define BOOST_NO_CXX11_LAMBDAS -#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS -#define BOOST_NO_CXX11_NOEXCEPT -#define BOOST_NO_CXX11_NULLPTR -#define BOOST_NO_CXX11_RANGE_BASED_FOR -#define BOOST_NO_CXX11_RAW_LITERALS -#define BOOST_NO_CXX11_RVALUE_REFERENCES -#define BOOST_NO_CXX11_SCOPED_ENUMS -#define BOOST_NO_SFINAE_EXPR -#define BOOST_NO_CXX11_STATIC_ASSERT -#define BOOST_NO_CXX11_TEMPLATE_ALIASES -#define BOOST_NO_CXX11_UNICODE_LITERALS -#define BOOST_NO_CXX11_VARIADIC_TEMPLATES -#define BOOST_NO_CXX11_VARIADIC_MACROS -#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX -#define BOOST_NO_CXX11_USER_DEFINED_LITERALS -#define BOOST_NO_CXX11_ALIGNAS -#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES -#define BOOST_NO_CXX11_INLINE_NAMESPACES -#define BOOST_NO_CXX11_REF_QUALIFIERS -// -// versions check: -// we don't support MPW prior to version 8.9: -#if MPW_CPLUS < 0x890 -# error "Compiler not supported or configured - please reconfigure" -#endif -// -// last known and checked version is 0x890: -#if (MPW_CPLUS > 0x890) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - - diff --git a/bundled/boost-1.56.0/include/boost/config/compiler/nvcc.hpp b/bundled/boost-1.56.0/include/boost/config/compiler/nvcc.hpp deleted file mode 100644 index bbe81f6ee5..0000000000 --- a/bundled/boost-1.56.0/include/boost/config/compiler/nvcc.hpp +++ /dev/null @@ -1,16 +0,0 @@ -// (C) Copyright Eric Jourdanneau, Joel Falcou 2010 -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// NVIDIA CUDA C++ compiler setup - -#ifndef BOOST_COMPILER -# define BOOST_COMPILER "NVIDIA CUDA C++ Compiler" -#endif - -// NVIDIA Specific support -// BOOST_GPU_ENABLED : Flag a function or a method as being enabled on the host and device -#define BOOST_GPU_ENABLED __host__ __device__ diff --git a/bundled/boost-1.56.0/include/boost/config/compiler/pathscale.hpp b/bundled/boost-1.56.0/include/boost/config/compiler/pathscale.hpp deleted file mode 100644 index 0625d7a1eb..0000000000 --- a/bundled/boost-1.56.0/include/boost/config/compiler/pathscale.hpp +++ /dev/null @@ -1,84 +0,0 @@ -// (C) Copyright Bryce Lelbach 2011 - -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// PathScale EKOPath C++ Compiler - -#ifndef BOOST_COMPILER -# define BOOST_COMPILER "PathScale EKOPath C++ Compiler version " __PATHSCALE__ -#endif - -#if __PATHCC__ >= 4 -# define BOOST_MSVC6_MEMBER_TEMPLATES -# define BOOST_HAS_UNISTD_H -# define BOOST_HAS_STDINT_H -# define BOOST_HAS_SIGACTION -# define BOOST_HAS_SCHED_YIELD -# define BOOST_HAS_THREADS -# define BOOST_HAS_PTHREADS -# define BOOST_HAS_PTHREAD_YIELD -# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE -# define BOOST_HAS_PARTIAL_STD_ALLOCATOR -# define BOOST_HAS_NRVO -# define BOOST_HAS_NL_TYPES_H -# define BOOST_HAS_NANOSLEEP -# define BOOST_HAS_LONG_LONG -# define BOOST_HAS_LOG1P -# define BOOST_HAS_GETTIMEOFDAY -# define BOOST_HAS_EXPM1 -# define BOOST_HAS_DIRENT_H -# define BOOST_HAS_CLOCK_GETTIME -# define BOOST_NO_CXX11_VARIADIC_TEMPLATES -# define BOOST_NO_CXX11_UNICODE_LITERALS -# define BOOST_NO_CXX11_TEMPLATE_ALIASES -# define BOOST_NO_CXX11_STATIC_ASSERT -# define BOOST_NO_SFINAE_EXPR -# define BOOST_NO_CXX11_SCOPED_ENUMS -# define BOOST_NO_CXX11_RVALUE_REFERENCES -# define BOOST_NO_CXX11_RANGE_BASED_FOR -# define BOOST_NO_CXX11_RAW_LITERALS -# define BOOST_NO_CXX11_NULLPTR -# define BOOST_NO_CXX11_NUMERIC_LIMITS -# define BOOST_NO_CXX11_NOEXCEPT -# define BOOST_NO_CXX11_LAMBDAS -# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS -# define BOOST_NO_MS_INT64_NUMERIC_LIMITS -# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS -# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS -# define BOOST_NO_CXX11_DELETED_FUNCTIONS -# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS -# define BOOST_NO_CXX11_DECLTYPE -# define BOOST_NO_CXX11_DECLTYPE_N3276 -# define BOOST_NO_CXX11_CONSTEXPR -# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION -# define BOOST_NO_CXX11_CHAR32_T -# define BOOST_NO_CXX11_CHAR16_T -# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS -# define BOOST_NO_CXX11_AUTO_DECLARATIONS -# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX -# define BOOST_NO_CXX11_HDR_UNORDERED_SET -# define BOOST_NO_CXX11_HDR_UNORDERED_MAP -# define BOOST_NO_CXX11_HDR_TYPEINDEX -# define BOOST_NO_CXX11_HDR_TUPLE -# define BOOST_NO_CXX11_HDR_THREAD -# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR -# define BOOST_NO_CXX11_HDR_REGEX -# define BOOST_NO_CXX11_HDR_RATIO -# define BOOST_NO_CXX11_HDR_RANDOM -# define BOOST_NO_CXX11_HDR_MUTEX -# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -# define BOOST_NO_CXX11_HDR_FUTURE -# define BOOST_NO_CXX11_HDR_FORWARD_LIST -# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE -# define BOOST_NO_CXX11_HDR_CODECVT -# define BOOST_NO_CXX11_HDR_CHRONO -# define BOOST_NO_CXX11_USER_DEFINED_LITERALS -# define BOOST_NO_CXX11_ALIGNAS -# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES -# define BOOST_NO_CXX11_INLINE_NAMESPACES -# define BOOST_NO_CXX11_REF_QUALIFIERS -#endif diff --git a/bundled/boost-1.56.0/include/boost/config/compiler/vacpp.hpp b/bundled/boost-1.56.0/include/boost/config/compiler/vacpp.hpp deleted file mode 100644 index bb7d5f5065..0000000000 --- a/bundled/boost-1.56.0/include/boost/config/compiler/vacpp.hpp +++ /dev/null @@ -1,132 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Toon Knapen 2001 - 2003. -// (C) Copyright Lie-Quan Lee 2001. -// (C) Copyright Markus Schoepflin 2002 - 2003. -// (C) Copyright Beman Dawes 2002 - 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Visual Age (IBM) C++ compiler setup: - -#if __IBMCPP__ <= 501 -# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS -# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS -#endif - -#if (__IBMCPP__ <= 502) -// Actually the compiler supports inclass member initialization but it -// requires a definition for the class member and it doesn't recognize -// it as an integral constant expression when used as a template argument. -# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION -# define BOOST_NO_INTEGRAL_INT64_T -# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD -#endif - -#if (__IBMCPP__ <= 600) || !defined(BOOST_STRICT_CONFIG) -# define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS -#endif - -#if (__IBMCPP__ <= 1110) -// XL C++ V11.1 and earlier versions may not always value-initialize -// a temporary object T(), when T is a non-POD aggregate class type. -// Michael Wong (IBM Canada Ltd) has confirmed this issue and gave it -// high priority. -- Niels Dekker (LKEB), May 2010. -# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION -#endif - -// -// On AIX thread support seems to be indicated by _THREAD_SAFE: -// -#ifdef _THREAD_SAFE -# define BOOST_HAS_THREADS -#endif - -#define BOOST_COMPILER "IBM Visual Age version " BOOST_STRINGIZE(__IBMCPP__) - -// -// versions check: -// we don't support Visual age prior to version 5: -#if __IBMCPP__ < 500 -#error "Compiler not supported or configured - please reconfigure" -#endif -// -// last known and checked version is 1210: -#if (__IBMCPP__ > 1210) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - -// Some versions of the compiler have issues with default arguments on partial specializations -#if __IBMCPP__ <= 1010 -#define BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS -#endif - -// -// C++0x features -// -// See boost\config\suffix.hpp for BOOST_NO_LONG_LONG -// -#if ! __IBMCPP_AUTO_TYPEDEDUCTION -# define BOOST_NO_CXX11_AUTO_DECLARATIONS -# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS -#endif -#if ! __IBMCPP_UTF_LITERAL__ -# define BOOST_NO_CXX11_CHAR16_T -# define BOOST_NO_CXX11_CHAR32_T -#endif -#if ! __IBMCPP_CONSTEXPR -# define BOOST_NO_CXX11_CONSTEXPR -#endif -#if ! __IBMCPP_DECLTYPE -# define BOOST_NO_CXX11_DECLTYPE -#else -# define BOOST_HAS_DECLTYPE -#endif -#define BOOST_NO_CXX11_DECLTYPE_N3276 -#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS -#define BOOST_NO_CXX11_DELETED_FUNCTIONS -#if ! __IBMCPP_EXPLICIT_CONVERSION_OPERATORS -# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS -#endif -#if ! __IBMCPP_EXTERN_TEMPLATE -# define BOOST_NO_CXX11_EXTERN_TEMPLATE -#endif -#if ! __IBMCPP_VARIADIC_TEMPLATES -// not enabled separately at this time -# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS -#endif -#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -#define BOOST_NO_CXX11_LAMBDAS -#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS -#define BOOST_NO_CXX11_NOEXCEPT -#define BOOST_NO_CXX11_NULLPTR -#define BOOST_NO_CXX11_RANGE_BASED_FOR -#define BOOST_NO_CXX11_RAW_LITERALS -#define BOOST_NO_CXX11_USER_DEFINED_LITERALS -#if ! __IBMCPP_RVALUE_REFERENCES -# define BOOST_NO_CXX11_RVALUE_REFERENCES -#endif -#if ! __IBMCPP_SCOPED_ENUM -# define BOOST_NO_CXX11_SCOPED_ENUMS -#endif -#define BOOST_NO_SFINAE_EXPR -#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX -#if ! __IBMCPP_STATIC_ASSERT -# define BOOST_NO_CXX11_STATIC_ASSERT -#endif -#define BOOST_NO_CXX11_TEMPLATE_ALIASES -#define BOOST_NO_CXX11_UNICODE_LITERALS -#if ! __IBMCPP_VARIADIC_TEMPLATES -# define BOOST_NO_CXX11_VARIADIC_TEMPLATES -#endif -#if ! __C99_MACRO_WITH_VA_ARGS -# define BOOST_NO_CXX11_VARIADIC_MACROS -#endif -#define BOOST_NO_CXX11_ALIGNAS -#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES -#define BOOST_NO_CXX11_INLINE_NAMESPACES -#define BOOST_NO_CXX11_REF_QUALIFIERS diff --git a/bundled/boost-1.56.0/include/boost/config/select_compiler_config.hpp b/bundled/boost-1.56.0/include/boost/config/select_compiler_config.hpp deleted file mode 100644 index 62053ba061..0000000000 --- a/bundled/boost-1.56.0/include/boost/config/select_compiler_config.hpp +++ /dev/null @@ -1,143 +0,0 @@ -// Boost compiler configuration selection header file - -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Martin Wille 2003. -// (C) Copyright Guillaume Melquiond 2003. -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org/ for most recent version. - -// locate which compiler we are using and define -// BOOST_COMPILER_CONFIG as needed: - -#if defined __CUDACC__ -// NVIDIA CUDA C++ compiler for GPU -# include "boost/config/compiler/nvcc.hpp" - -#endif - -#if defined(__GCCXML__) -// GCC-XML emulates other compilers, it has to appear first here! -# define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc_xml.hpp" - -#elif defined(_CRAYC) -// EDG based Cray compiler: -# define BOOST_COMPILER_CONFIG "boost/config/compiler/cray.hpp" - -#elif defined __COMO__ -// Comeau C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/comeau.hpp" - -#elif defined(__PATHSCALE__) && (__PATHCC__ >= 4) -// PathScale EKOPath compiler (has to come before clang and gcc) -# define BOOST_COMPILER_CONFIG "boost/config/compiler/pathscale.hpp" - -#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC) -// Intel -# define BOOST_COMPILER_CONFIG "boost/config/compiler/intel.hpp" - -#elif defined __clang__ -// Clang C++ emulates GCC, so it has to appear early. -# define BOOST_COMPILER_CONFIG "boost/config/compiler/clang.hpp" - -#elif defined __DMC__ -// Digital Mars C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/digitalmars.hpp" - -# elif defined __GNUC__ -// GNU C++: -# define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc.hpp" - -#elif defined __KCC -// Kai C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/kai.hpp" - -#elif defined __sgi -// SGI MIPSpro C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/sgi_mipspro.hpp" - -#elif defined __DECCXX -// Compaq Tru64 Unix cxx -# define BOOST_COMPILER_CONFIG "boost/config/compiler/compaq_cxx.hpp" - -#elif defined __ghs -// Greenhills C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/greenhills.hpp" - -#elif defined __CODEGEARC__ -// CodeGear - must be checked for before Borland -# define BOOST_COMPILER_CONFIG "boost/config/compiler/codegear.hpp" - -#elif defined __BORLANDC__ -// Borland -# define BOOST_COMPILER_CONFIG "boost/config/compiler/borland.hpp" - -#elif defined __MWERKS__ -// Metrowerks CodeWarrior -# define BOOST_COMPILER_CONFIG "boost/config/compiler/metrowerks.hpp" - -#elif defined __SUNPRO_CC -// Sun Workshop Compiler C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/sunpro_cc.hpp" - -#elif defined __HP_aCC -// HP aCC -# define BOOST_COMPILER_CONFIG "boost/config/compiler/hp_acc.hpp" - -#elif defined(__MRC__) || defined(__SC__) -// MPW MrCpp or SCpp -# define BOOST_COMPILER_CONFIG "boost/config/compiler/mpw.hpp" - -#elif defined(__IBMCPP__) -// IBM Visual Age -# define BOOST_COMPILER_CONFIG "boost/config/compiler/vacpp.hpp" - -#elif defined(__PGI) -// Portland Group Inc. -# define BOOST_COMPILER_CONFIG "boost/config/compiler/pgi.hpp" - -#elif defined _MSC_VER -// Microsoft Visual C++ -// -// Must remain the last #elif since some other vendors (Metrowerks, for -// example) also #define _MSC_VER -# define BOOST_COMPILER_CONFIG "boost/config/compiler/visualc.hpp" - -#elif defined (BOOST_ASSERT_CONFIG) -// this must come last - generate an error if we don't -// recognise the compiler: -# error "Unknown compiler - please configure (http://www.boost.org/libs/config/config.htm#configuring) and report the results to the main boost mailing list (http://www.boost.org/more/mailing_lists.htm#main)" - -#endif - -#if 0 -// -// This section allows dependency scanners to find all the headers we *might* include: -// -#include "boost/config/compiler/gcc_xml.hpp" -#include "boost/config/compiler/cray.hpp" -#include "boost/config/compiler/comeau.hpp" -#include "boost/config/compiler/pathscale.hpp" -#include "boost/config/compiler/intel.hpp" -#include "boost/config/compiler/clang.hpp" -#include "boost/config/compiler/digitalmars.hpp" -#include "boost/config/compiler/gcc.hpp" -#include "boost/config/compiler/kai.hpp" -#include "boost/config/compiler/sgi_mipspro.hpp" -#include "boost/config/compiler/compaq_cxx.hpp" -#include "boost/config/compiler/greenhills.hpp" -#include "boost/config/compiler/codegear.hpp" -#include "boost/config/compiler/borland.hpp" -#include "boost/config/compiler/metrowerks.hpp" -#include "boost/config/compiler/sunpro_cc.hpp" -#include "boost/config/compiler/hp_acc.hpp" -#include "boost/config/compiler/mpw.hpp" -#include "boost/config/compiler/vacpp.hpp" -#include "boost/config/compiler/pgi.hpp" -#include "boost/config/compiler/visualc.hpp" - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/config/stdlib/libcpp.hpp b/bundled/boost-1.56.0/include/boost/config/stdlib/libcpp.hpp deleted file mode 100644 index 88184ef90f..0000000000 --- a/bundled/boost-1.56.0/include/boost/config/stdlib/libcpp.hpp +++ /dev/null @@ -1,46 +0,0 @@ -// (C) Copyright Christopher Jefferson 2011. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// config for libc++ -// Might need more in here later. - -#if !defined(_LIBCPP_VERSION) -# include -# if !defined(_LIBCPP_VERSION) -# error "This is not libc++!" -# endif -#endif - -#define BOOST_STDLIB "libc++ version " BOOST_STRINGIZE(_LIBCPP_VERSION) - -#define BOOST_HAS_THREADS - -#ifdef _LIBCPP_HAS_NO_VARIADICS -# define BOOST_NO_CXX11_HDR_TUPLE -#endif - -// BOOST_NO_CXX11_ALLOCATOR should imply no support for the C++11 -// allocator model. The C++11 allocator model requires a conforming -// std::allocator_traits which is only possible with C++11 template -// aliases since members rebind_alloc and rebind_traits require it. -#if defined(_LIBCPP_HAS_NO_TEMPLATE_ALIASES) -# define BOOST_NO_CXX11_ALLOCATOR -#endif - -// -// These appear to be unusable/incomplete so far: -// -# define BOOST_NO_CXX11_HDR_CHRONO -# define BOOST_NO_CXX11_HDR_FUTURE -# define BOOST_NO_CXX11_HDR_TYPE_TRAITS -# define BOOST_NO_CXX11_ATOMIC_SMART_PTR -# define BOOST_NO_CXX11_HDR_ATOMIC - -// libc++ uses a non-standard messages_base -#define BOOST_NO_STD_MESSAGES - -// --- end --- diff --git a/bundled/boost-1.56.0/include/boost/config/stdlib/libstdcpp3.hpp b/bundled/boost-1.56.0/include/boost/config/stdlib/libstdcpp3.hpp deleted file mode 100644 index 2fd6ea7d53..0000000000 --- a/bundled/boost-1.56.0/include/boost/config/stdlib/libstdcpp3.hpp +++ /dev/null @@ -1,178 +0,0 @@ -// (C) Copyright John Maddock 2001. -// (C) Copyright Jens Maurer 2001. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// config for libstdc++ v3 -// not much to go in here: - -#define BOOST_GNU_STDLIB 1 - -#ifdef __GLIBCXX__ -#define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCXX__) -#else -#define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCPP__) -#endif - -#if !defined(_GLIBCPP_USE_WCHAR_T) && !defined(_GLIBCXX_USE_WCHAR_T) -# define BOOST_NO_CWCHAR -# define BOOST_NO_CWCTYPE -# define BOOST_NO_STD_WSTRING -# define BOOST_NO_STD_WSTREAMBUF -#endif - -#if defined(__osf__) && !defined(_REENTRANT) \ - && ( defined(_GLIBCXX_HAVE_GTHR_DEFAULT) || defined(_GLIBCPP_HAVE_GTHR_DEFAULT) ) -// GCC 3 on Tru64 forces the definition of _REENTRANT when any std lib header -// file is included, therefore for consistency we define it here as well. -# define _REENTRANT -#endif - -#ifdef __GLIBCXX__ // gcc 3.4 and greater: -# if defined(_GLIBCXX_HAVE_GTHR_DEFAULT) \ - || defined(_GLIBCXX__PTHREADS) \ - || defined(_GLIBCXX_HAS_GTHREADS) \ - || defined(_WIN32) \ - || defined(_AIX) - // - // If the std lib has thread support turned on, then turn it on in Boost - // as well. We do this because some gcc-3.4 std lib headers define _REENTANT - // while others do not... - // -# define BOOST_HAS_THREADS -# else -# define BOOST_DISABLE_THREADS -# endif -#elif defined(__GLIBCPP__) \ - && !defined(_GLIBCPP_HAVE_GTHR_DEFAULT) \ - && !defined(_GLIBCPP__PTHREADS) - // disable thread support if the std lib was built single threaded: -# define BOOST_DISABLE_THREADS -#endif - -#if (defined(linux) || defined(__linux) || defined(__linux__)) && defined(__arm__) && defined(_GLIBCPP_HAVE_GTHR_DEFAULT) -// linux on arm apparently doesn't define _REENTRANT -// so just turn on threading support whenever the std lib is thread safe: -# define BOOST_HAS_THREADS -#endif - -#if !defined(_GLIBCPP_USE_LONG_LONG) \ - && !defined(_GLIBCXX_USE_LONG_LONG)\ - && defined(BOOST_HAS_LONG_LONG) -// May have been set by compiler/*.hpp, but "long long" without library -// support is useless. -# undef BOOST_HAS_LONG_LONG -#endif - -// Apple doesn't seem to reliably defined a *unix* macro -#if !defined(CYGWIN) && ( defined(__unix__) \ - || defined(__unix) \ - || defined(unix) \ - || defined(__APPLE__) \ - || defined(__APPLE) \ - || defined(APPLE)) -# include -#endif - -#if defined(__GLIBCXX__) || (defined(__GLIBCPP__) && __GLIBCPP__>=20020514) // GCC >= 3.1.0 -# define BOOST_STD_EXTENSION_NAMESPACE __gnu_cxx -# define BOOST_HAS_SLIST -# define BOOST_HAS_HASH -# define BOOST_SLIST_HEADER -# if !defined(__GNUC__) || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3) -# define BOOST_HASH_SET_HEADER -# define BOOST_HASH_MAP_HEADER -# else -# define BOOST_HASH_SET_HEADER -# define BOOST_HASH_MAP_HEADER -# endif -#endif - -// stdlibc++ C++0x support is detected via __GNUC__, __GNUC_MINOR__, and possibly -// __GNUC_PATCHLEVEL__ at the suggestion of Jonathan Wakely, one of the stdlibc++ -// developers. He also commented: -// -// "I'm not sure how useful __GLIBCXX__ is for your purposes, for instance in -// GCC 4.2.4 it is set to 20080519 but in GCC 4.3.0 it is set to 20080305. -// Although 4.3.0 was released earlier than 4.2.4, it has better C++0x support -// than any release in the 4.2 series." -// -// Another resource for understanding stdlibc++ features is: -// http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#manual.intro.status.standard.200x - -// C++0x headers in GCC 4.3.0 and later -// -#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3) || !defined(__GXX_EXPERIMENTAL_CXX0X__) -# define BOOST_NO_CXX11_HDR_ARRAY -# define BOOST_NO_CXX11_HDR_TUPLE -# define BOOST_NO_CXX11_HDR_UNORDERED_MAP -# define BOOST_NO_CXX11_HDR_UNORDERED_SET -# define BOOST_NO_CXX11_HDR_FUNCTIONAL -#endif - -// C++0x headers in GCC 4.4.0 and later -// -#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4) || !defined(__GXX_EXPERIMENTAL_CXX0X__) -# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE -# define BOOST_NO_CXX11_HDR_FORWARD_LIST -# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -# define BOOST_NO_CXX11_HDR_MUTEX -# define BOOST_NO_CXX11_HDR_RATIO -# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR -# define BOOST_NO_CXX11_SMART_PTR -#else -# define BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG -# define BOOST_HAS_TR1_COMPLEX_OVERLOADS -#endif - -#if (!defined(_GLIBCXX_HAS_GTHREADS) || !defined(_GLIBCXX_USE_C99_STDINT_TR1)) && (!defined(BOOST_NO_CXX11_HDR_CONDITION_VARIABLE) || !defined(BOOST_NO_CXX11_HDR_MUTEX)) -# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE -# define BOOST_NO_CXX11_HDR_MUTEX -#endif - -// C++0x features in GCC 4.5.0 and later -// -#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(__GXX_EXPERIMENTAL_CXX0X__) -# define BOOST_NO_CXX11_NUMERIC_LIMITS -# define BOOST_NO_CXX11_HDR_FUTURE -# define BOOST_NO_CXX11_HDR_RANDOM -#endif - -// C++0x features in GCC 4.6.0 and later -// -#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6) || !defined(__GXX_EXPERIMENTAL_CXX0X__) -# define BOOST_NO_CXX11_HDR_TYPEINDEX -# define BOOST_NO_CXX11_ADDRESSOF -#endif - -// C++0x features in GCC 4.7.0 and later -// -#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7) || !defined(__GXX_EXPERIMENTAL_CXX0X__) -// Note that although existed prior to 4.7, "steady_clock" is spelled "monotonic_clock" -// so 4.7.0 is the first truely conforming one. -# define BOOST_NO_CXX11_HDR_CHRONO -# define BOOST_NO_CXX11_ALLOCATOR -#endif -// C++0x features in GCC 4.7.0 and later -// -#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 8) || !defined(__GXX_EXPERIMENTAL_CXX0X__) -// Note that although existed prior to gcc 4.8 it was largely unimplemented for many types: -# define BOOST_NO_CXX11_HDR_ATOMIC -#endif -#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 9) || !defined(__GXX_EXPERIMENTAL_CXX0X__) -// Although is present and compilable against, the actual implementation is not functional -// even for the simplest patterns such as "\d" or "[0-9]". This is the case at least in gcc up to 4.8, inclusively. -# define BOOST_NO_CXX11_HDR_REGEX -#endif -// C++0x headers not yet (fully!) implemented -// -# define BOOST_NO_CXX11_HDR_THREAD -# define BOOST_NO_CXX11_HDR_TYPE_TRAITS -# define BOOST_NO_CXX11_HDR_CODECVT -# define BOOST_NO_CXX11_ATOMIC_SMART_PTR -# define BOOST_NO_CXX11_STD_ALIGN - -// --- end --- diff --git a/bundled/boost-1.56.0/include/boost/config/stdlib/vacpp.hpp b/bundled/boost-1.56.0/include/boost/config/stdlib/vacpp.hpp deleted file mode 100644 index a58ec1c5e1..0000000000 --- a/bundled/boost-1.56.0/include/boost/config/stdlib/vacpp.hpp +++ /dev/null @@ -1,57 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2002. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -#if __IBMCPP__ <= 501 -# define BOOST_NO_STD_ALLOCATOR -#endif - -#define BOOST_HAS_MACRO_USE_FACET -#define BOOST_NO_STD_MESSAGES - -// Apple doesn't seem to reliably defined a *unix* macro -#if !defined(CYGWIN) && ( defined(__unix__) \ - || defined(__unix) \ - || defined(unix) \ - || defined(__APPLE__) \ - || defined(__APPLE) \ - || defined(APPLE)) -# include -#endif - -// C++0x headers not yet implemented -// -# define BOOST_NO_CXX11_HDR_ARRAY -# define BOOST_NO_CXX11_HDR_CHRONO -# define BOOST_NO_CXX11_HDR_CODECVT -# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE -# define BOOST_NO_CXX11_HDR_FORWARD_LIST -# define BOOST_NO_CXX11_HDR_FUTURE -# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -# define BOOST_NO_CXX11_HDR_MUTEX -# define BOOST_NO_CXX11_HDR_RANDOM -# define BOOST_NO_CXX11_HDR_RATIO -# define BOOST_NO_CXX11_HDR_REGEX -# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR -# define BOOST_NO_CXX11_HDR_THREAD -# define BOOST_NO_CXX11_HDR_TUPLE -# define BOOST_NO_CXX11_HDR_TYPE_TRAITS -# define BOOST_NO_CXX11_HDR_TYPEINDEX -# define BOOST_NO_CXX11_HDR_UNORDERED_MAP -# define BOOST_NO_CXX11_HDR_UNORDERED_SET -# define BOOST_NO_CXX11_NUMERIC_LIMITS -# define BOOST_NO_CXX11_ALLOCATOR -# define BOOST_NO_CXX11_ATOMIC_SMART_PTR -# define BOOST_NO_CXX11_SMART_PTR -# define BOOST_NO_CXX11_HDR_FUNCTIONAL -# define BOOST_NO_CXX11_HDR_ATOMIC -# define BOOST_NO_CXX11_STD_ALIGN -# define BOOST_NO_CXX11_ADDRESSOF - -#define BOOST_STDLIB "Visual Age default standard library" - - - diff --git a/bundled/boost-1.56.0/include/boost/container/adaptive_pool.hpp b/bundled/boost-1.56.0/include/boost/container/adaptive_pool.hpp deleted file mode 100644 index 16ededb017..0000000000 --- a/bundled/boost-1.56.0/include/boost/container/adaptive_pool.hpp +++ /dev/null @@ -1,364 +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_ADAPTIVE_POOL_HPP -#define BOOST_CONTAINER_ADAPTIVE_POOL_HPP - -#if defined(_MSC_VER) && (_MSC_VER >= 1200) -# pragma once -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { -namespace container { - -//!An STL node allocator that uses a modified DLMalloc as memory -//!source. -//! -//!This node allocator shares a segregated storage between all instances -//!of adaptive_pool with equal sizeof(T). -//! -//!NodesPerBlock is the number of nodes allocated at once when the allocator -//!needs runs out of nodes. MaxFreeBlocks is the maximum number of totally free blocks -//!that the adaptive node pool will hold. The rest of the totally free blocks will be -//!deallocated to the memory manager. -//! -//!OverheadPercent is the (approximated) maximum size overhead (1-20%) of the allocator: -//!(memory usable for nodes / total memory allocated from the memory allocator) -#ifdef BOOST_CONTAINER_DOXYGEN_INVOKED -template < class T - , std::size_t NodesPerBlock = ADP_nodes_per_block - , std::size_t MaxFreeBlocks = ADP_max_free_blocks - , std::size_t OverheadPercent = ADP_overhead_percent - > -#else -template < class T - , std::size_t NodesPerBlock - , std::size_t MaxFreeBlocks - , std::size_t OverheadPercent - , unsigned Version - > -#endif -class adaptive_pool -{ - //!If Version is 1, the allocator is a STL conforming allocator. If Version is 2, - //!the allocator offers advanced expand in place and burst allocation capabilities. - public: - typedef unsigned int allocation_type; - typedef adaptive_pool - self_t; - - static const std::size_t nodes_per_block = NodesPerBlock; - static const std::size_t max_free_blocks = MaxFreeBlocks; - static const std::size_t overhead_percent = OverheadPercent; - static const std::size_t real_nodes_per_block = NodesPerBlock; - - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - BOOST_STATIC_ASSERT((Version <=2)); - #endif - - public: - //------- - typedef T value_type; - typedef T * pointer; - typedef const T * const_pointer; - typedef typename ::boost::container:: - container_detail::unvoid::type & reference; - typedef const typename ::boost::container:: - container_detail::unvoid::type & const_reference; - typedef std::size_t size_type; - typedef std::ptrdiff_t difference_type; - - typedef boost::container::container_detail:: - version_type version; - - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - typedef boost::container::container_detail:: - basic_multiallocation_chain multiallocation_chain_void; - typedef boost::container::container_detail:: - transform_multiallocation_chain - multiallocation_chain; - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - - //!Obtains adaptive_pool from - //!adaptive_pool - template - struct rebind - { - typedef adaptive_pool - < T2 - , NodesPerBlock - , MaxFreeBlocks - , OverheadPercent - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - , Version - #endif - > other; - }; - - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - private: - //!Not assignable from related adaptive_pool - template - adaptive_pool& operator= - (const adaptive_pool&); - - //!Not assignable from other adaptive_pool - adaptive_pool& operator=(const adaptive_pool&); - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - - public: - //!Default constructor - adaptive_pool() BOOST_CONTAINER_NOEXCEPT - {} - - //!Copy constructor from other adaptive_pool. - adaptive_pool(const adaptive_pool &) BOOST_CONTAINER_NOEXCEPT - {} - - //!Copy constructor from related adaptive_pool. - template - adaptive_pool - (const adaptive_pool &) BOOST_CONTAINER_NOEXCEPT - {} - - //!Destructor - ~adaptive_pool() BOOST_CONTAINER_NOEXCEPT - {} - - //!Returns the number of elements that could be allocated. - //!Never throws - size_type max_size() const BOOST_CONTAINER_NOEXCEPT - { return size_type(-1)/sizeof(T); } - - //!Allocate memory for an array of count elements. - //!Throws std::bad_alloc if there is no enough memory - pointer allocate(size_type count, const void * = 0) - { - if(count > this->max_size()) - boost::container::throw_bad_alloc(); - - if(Version == 1 && count == 1){ - typedef typename container_detail::shared_adaptive_node_pool - shared_pool_t; - typedef container_detail::singleton_default singleton_t; - return pointer(static_cast(singleton_t::instance().allocate_node())); - } - else{ - return static_cast(boost_cont_malloc(count*sizeof(T))); - } - } - - //!Deallocate allocated memory. - //!Never throws - void deallocate(const pointer &ptr, size_type count) BOOST_CONTAINER_NOEXCEPT - { - (void)count; - if(Version == 1 && count == 1){ - typedef container_detail::shared_adaptive_node_pool - shared_pool_t; - typedef container_detail::singleton_default singleton_t; - singleton_t::instance().deallocate_node(ptr); - } - else{ - boost_cont_free(ptr); - } - } - - std::pair - allocation_command(allocation_type command, - size_type limit_size, - size_type preferred_size, - size_type &received_size, pointer reuse = pointer()) - { - std::pair ret = - this->priv_allocation_command(command, limit_size, preferred_size, received_size, reuse); - if(!ret.first && !(command & BOOST_CONTAINER_NOTHROW_ALLOCATION)) - boost::container::throw_bad_alloc(); - return ret; - } - - //!Returns maximum the number of objects the previously allocated memory - //!pointed by p can hold. - size_type size(pointer p) const BOOST_CONTAINER_NOEXCEPT - { return boost_cont_size(p); } - - //!Allocates just one object. Memory allocated with this function - //!must be deallocated only with deallocate_one(). - //!Throws bad_alloc if there is no enough memory - pointer allocate_one() - { - typedef container_detail::shared_adaptive_node_pool - shared_pool_t; - typedef container_detail::singleton_default singleton_t; - return (pointer)singleton_t::instance().allocate_node(); - } - - //!Allocates many elements of size == 1. - //!Elements must be individually deallocated with deallocate_one() - void allocate_individual(std::size_t num_elements, multiallocation_chain &chain) - { - typedef container_detail::shared_adaptive_node_pool - shared_pool_t; - typedef container_detail::singleton_default singleton_t; - singleton_t::instance().allocate_nodes(num_elements, static_cast(chain)); - //typename shared_pool_t::multiallocation_chain ch; - //singleton_t::instance().allocate_nodes(num_elements, ch); - //chain.incorporate_after - //(chain.before_begin(), (T*)&*ch.begin(), (T*)&*ch.last(), ch.size()); - } - - //!Deallocates memory previously allocated with allocate_one(). - //!You should never use deallocate_one to deallocate memory allocated - //!with other functions different from allocate_one(). Never throws - void deallocate_one(pointer p) BOOST_CONTAINER_NOEXCEPT - { - typedef container_detail::shared_adaptive_node_pool - shared_pool_t; - typedef container_detail::singleton_default singleton_t; - singleton_t::instance().deallocate_node(p); - } - - void deallocate_individual(multiallocation_chain &chain) BOOST_CONTAINER_NOEXCEPT - { - typedef container_detail::shared_adaptive_node_pool - shared_pool_t; - typedef container_detail::singleton_default singleton_t; - //typename shared_pool_t::multiallocation_chain ch(&*chain.begin(), &*chain.last(), chain.size()); - //singleton_t::instance().deallocate_nodes(ch); - singleton_t::instance().deallocate_nodes(chain); - } - - //!Allocates many elements of size elem_size. - //!Elements must be individually deallocated with deallocate() - void allocate_many(size_type elem_size, std::size_t n_elements, multiallocation_chain &chain) - { - BOOST_STATIC_ASSERT(( Version > 1 ));/* - boost_cont_memchain ch; - BOOST_CONTAINER_MEMCHAIN_INIT(&ch); - if(!boost_cont_multialloc_nodes(n_elements, elem_size*sizeof(T), DL_MULTIALLOC_DEFAULT_CONTIGUOUS, &ch)){ - boost::container::throw_bad_alloc(); - } - chain.incorporate_after(chain.before_begin() - ,(T*)BOOST_CONTAINER_MEMCHAIN_FIRSTMEM(&ch) - ,(T*)BOOST_CONTAINER_MEMCHAIN_LASTMEM(&ch) - ,BOOST_CONTAINER_MEMCHAIN_SIZE(&ch) );*/ - if(!boost_cont_multialloc_nodes(n_elements, elem_size*sizeof(T), DL_MULTIALLOC_DEFAULT_CONTIGUOUS, reinterpret_cast(&chain))){ - boost::container::throw_bad_alloc(); - } - } - - //!Allocates n_elements elements, each one of size elem_sizes[i] - //!Elements must be individually deallocated with deallocate() - void allocate_many(const size_type *elem_sizes, size_type n_elements, multiallocation_chain &chain) - { - BOOST_STATIC_ASSERT(( Version > 1 ));/* - boost_cont_memchain ch; - BOOST_CONTAINER_MEMCHAIN_INIT(&ch); - if(!boost_cont_multialloc_arrays(n_elements, elem_sizes, sizeof(T), DL_MULTIALLOC_DEFAULT_CONTIGUOUS, &ch)){ - boost::container::throw_bad_alloc(); - } - chain.incorporate_after(chain.before_begin() - ,(T*)BOOST_CONTAINER_MEMCHAIN_FIRSTMEM(&ch) - ,(T*)BOOST_CONTAINER_MEMCHAIN_LASTMEM(&ch) - ,BOOST_CONTAINER_MEMCHAIN_SIZE(&ch) );*/ - if(!boost_cont_multialloc_arrays(n_elements, elem_sizes, sizeof(T), DL_MULTIALLOC_DEFAULT_CONTIGUOUS, reinterpret_cast(&chain))){ - boost::container::throw_bad_alloc(); - } - } - - void deallocate_many(multiallocation_chain &chain) BOOST_CONTAINER_NOEXCEPT - {/* - boost_cont_memchain ch; - void *beg(&*chain.begin()), *last(&*chain.last()); - size_t size(chain.size()); - BOOST_CONTAINER_MEMCHAIN_INIT_FROM(&ch, beg, last, size); - boost_cont_multidealloc(&ch);*/ - boost_cont_multidealloc(reinterpret_cast(&chain)); - } - - //!Deallocates all free blocks of the pool - static void deallocate_free_blocks() BOOST_CONTAINER_NOEXCEPT - { - typedef container_detail::shared_adaptive_node_pool - shared_pool_t; - typedef container_detail::singleton_default singleton_t; - singleton_t::instance().deallocate_free_blocks(); - } - - //!Swaps allocators. Does not throw. If each allocator is placed in a - //!different memory segment, the result is undefined. - friend void swap(adaptive_pool &, adaptive_pool &) BOOST_CONTAINER_NOEXCEPT - {} - - //!An allocator always compares to true, as memory allocated with one - //!instance can be deallocated by another instance - friend bool operator==(const adaptive_pool &, const adaptive_pool &) BOOST_CONTAINER_NOEXCEPT - { return true; } - - //!An allocator always compares to false, as memory allocated with one - //!instance can be deallocated by another instance - friend bool operator!=(const adaptive_pool &, const adaptive_pool &) BOOST_CONTAINER_NOEXCEPT - { return false; } - - private: - std::pair priv_allocation_command - (allocation_type command, std::size_t limit_size - ,std::size_t preferred_size,std::size_t &received_size, void *reuse_ptr) - { - boost_cont_command_ret_t ret = {0 , 0}; - if(limit_size > this->max_size() || preferred_size > this->max_size()){ -// ret.first = 0; - return std::pair(pointer(), false); - } - std::size_t l_size = limit_size*sizeof(T); - std::size_t p_size = preferred_size*sizeof(T); - std::size_t r_size; - { - ret = boost_cont_allocation_command(command, sizeof(T), l_size, p_size, &r_size, reuse_ptr); - } - received_size = r_size/sizeof(T); - return std::pair(static_cast(ret.first), !!ret.second); - } -}; - -} //namespace container { -} //namespace boost { - -#include - -#endif //#ifndef BOOST_CONTAINER_ADAPTIVE_POOL_HPP diff --git a/bundled/boost-1.56.0/include/boost/container/allocator_traits.hpp b/bundled/boost-1.56.0/include/boost/container/allocator_traits.hpp deleted file mode 100644 index 4857212c74..0000000000 --- a/bundled/boost-1.56.0/include/boost/container/allocator_traits.hpp +++ /dev/null @@ -1,406 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Pablo Halpern 2009. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -////////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2011-2013. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/container for documentation. -// -////////////////////////////////////////////////////////////////////////////// - -#ifndef BOOST_CONTAINER_ALLOCATOR_ALLOCATOR_TRAITS_HPP -#define BOOST_CONTAINER_ALLOCATOR_ALLOCATOR_TRAITS_HPP - -#if defined(_MSC_VER) -# pragma once -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include //numeric_limits<>::max() -#include //placement new -#include //std::allocator - -#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) -#include -#endif - -namespace boost { -namespace container { - -#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -namespace container_detail { - -//workaround needed for C++03 compilers with no construct() -//supporting rvalue references -template -struct is_std_allocator -{ static const bool value = false; }; - -template -struct is_std_allocator< std::allocator > -{ static const bool value = true; }; - -} //namespace container_detail { - -#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -//! The class template allocator_traits supplies a uniform interface to all allocator types. -//! This class is a C++03-compatible implementation of std::allocator_traits -template -struct allocator_traits -{ - //allocator_type - typedef Alloc allocator_type; - //value_type - typedef typename Alloc::value_type value_type; - - #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - //! Alloc::pointer if such a type exists; otherwise, value_type* - //! - typedef unspecified pointer; - //! Alloc::const_pointer if such a type exists ; otherwise, pointer_traits::rebind::rebind. - //! - typedef see_documentation void_pointer; - //! Alloc::const_void_pointer if such a type exists ; otherwis e, pointer_traits::rebind::difference_type. - //! - typedef see_documentation difference_type; - //! Alloc::size_type if such a type exists ; otherwise, make_unsigned::type - //! - typedef see_documentation size_type; - //! Alloc::propagate_on_container_copy_assignment if such a type exists, otherwise an integral_constant - //! type with internal constant static member value == false. - typedef see_documentation propagate_on_container_copy_assignment; - //! Alloc::propagate_on_container_move_assignment if such a type exists, otherwise an integral_constant - //! type with internal constant static member value == false. - typedef see_documentation propagate_on_container_move_assignment; - //! Alloc::propagate_on_container_swap if such a type exists, otherwise an integral_constant - //! type with internal constant static member value == false. - typedef see_documentation propagate_on_container_swap; - //! Defines an allocator: Alloc::rebind::other if such a type exists; otherwise, Alloc - //! if Alloc is a class template instantiation of the form Alloc, where Args is zero or - //! more type arguments ; otherwise, the instantiation of rebind_alloc is ill-formed. - //! - //! In C++03 compilers rebind_alloc is a struct derived from an allocator - //! deduced by previously detailed rules. - template using rebind_alloc = see_documentation; - - //! In C++03 compilers rebind_traits is a struct derived from - //! allocator_traits, where OtherAlloc is - //! the allocator deduced by rules explained in rebind_alloc. - template using rebind_traits = allocator_traits >; - - //! Non-standard extension: Portable allocator rebind for C++03 and C++11 compilers. - //! type is an allocator related to Alloc deduced deduced by rules explained in rebind_alloc. - template - struct portable_rebind_alloc - { typedef see_documentation type; }; - #else - //pointer - typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT(boost::container::container_detail::, Alloc, - pointer, value_type*) - pointer; - //const_pointer - typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_EVAL_DEFAULT(boost::container::container_detail::, Alloc, - const_pointer, typename boost::intrusive::pointer_traits::template - rebind_pointer) - const_pointer; - //reference - typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT(boost::container::container_detail::, Alloc, - reference, typename container_detail::unvoid::type&) - reference; - //const_reference - typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT(boost::container::container_detail::, Alloc, - const_reference, const typename container_detail::unvoid::type&) - const_reference; - //void_pointer - typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_EVAL_DEFAULT(boost::container::container_detail::, Alloc, - void_pointer, typename boost::intrusive::pointer_traits::template - rebind_pointer) - void_pointer; - //const_void_pointer - typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_EVAL_DEFAULT(boost::container::container_detail::, Alloc, - const_void_pointer, typename boost::intrusive::pointer_traits::template - rebind_pointer) - const_void_pointer; - //difference_type - typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT(boost::container::container_detail::, Alloc, - difference_type, std::ptrdiff_t) - difference_type; - //size_type - typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT(boost::container::container_detail::, Alloc, - size_type, std::size_t) - size_type; - //propagate_on_container_copy_assignment - typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT(boost::container::container_detail::, Alloc, - propagate_on_container_copy_assignment, boost::false_type) - propagate_on_container_copy_assignment; - //propagate_on_container_move_assignment - typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT(boost::container::container_detail::, Alloc, - propagate_on_container_move_assignment, boost::false_type) - propagate_on_container_move_assignment; - //propagate_on_container_swap - typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT(boost::container::container_detail::, Alloc, - propagate_on_container_swap, boost::false_type) - propagate_on_container_swap; - - #if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) - //C++11 - template using rebind_alloc = typename boost::intrusive::detail::type_rebinder::type; - template using rebind_traits = allocator_traits< rebind_alloc >; - #else // #if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) - //Some workaround for C++03 or C++11 compilers with no template aliases - template - struct rebind_alloc : boost::intrusive::detail::type_rebinder::type - { - typedef typename boost::intrusive::detail::type_rebinder::type Base; - #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - template - rebind_alloc(BOOST_FWD_REF(Args)... args) - : Base(boost::forward(args)...) - {} - #else // #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - #define BOOST_PP_LOCAL_MACRO(n) \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - rebind_alloc(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - : Base(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)) \ - {} \ - // - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() - #endif // #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - }; - - template - struct rebind_traits - : allocator_traits::type> - {}; - #endif // #if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) - template - struct portable_rebind_alloc - { typedef typename boost::intrusive::detail::type_rebinder::type type; }; - #endif //BOOST_CONTAINER_DOXYGEN_INVOKED - - //! Returns: a.allocate(n) - //! - static pointer allocate(Alloc &a, size_type n) - { return a.allocate(n); } - - //! Returns: a.deallocate(p, n) - //! - //! Throws: Nothing - static void deallocate(Alloc &a, pointer p, size_type n) - { a.deallocate(p, n); } - - //! Effects: calls a.allocate(n, p) if that call is well-formed; - //! otherwise, invokes a.allocate(n) - static pointer allocate(Alloc &a, size_type n, const_void_pointer p) - { - const bool value = boost::container::container_detail:: - has_member_function_callable_with_allocate - ::value; - ::boost::integral_constant flag; - return allocator_traits::priv_allocate(flag, a, n, p); - } - - //! Effects: calls a.destroy(p) if that call is well-formed; - //! otherwise, invokes p->~T(). - template - static void destroy(Alloc &a, T*p) BOOST_CONTAINER_NOEXCEPT - { - typedef T* destroy_pointer; - const bool value = boost::container::container_detail:: - has_member_function_callable_with_destroy - ::value; - ::boost::integral_constant flag; - allocator_traits::priv_destroy(flag, a, p); - } - - //! Returns: a.max_size() if that expression is well-formed; otherwise, - //! numeric_limits::max(). - static size_type max_size(const Alloc &a) BOOST_CONTAINER_NOEXCEPT - { - const bool value = boost::container::container_detail:: - has_member_function_callable_with_max_size - ::value; - ::boost::integral_constant flag; - return allocator_traits::priv_max_size(flag, a); - } - - //! Returns: a.select_on_container_copy_construction() if that expression is well-formed; - //! otherwise, a. - static - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - typename container_detail::if_c - < boost::container::container_detail:: - has_member_function_callable_with_select_on_container_copy_construction - ::value - , Alloc - , const Alloc & - >::type - #else - Alloc - #endif - select_on_container_copy_construction(const Alloc &a) - { - const bool value = boost::container::container_detail:: - has_member_function_callable_with_select_on_container_copy_construction - ::value; - ::boost::integral_constant flag; - return allocator_traits::priv_select_on_container_copy_construction(flag, a); - } - - #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - //! Effects: calls a.construct(p, std::forward(args)...) if that call is well-formed; - //! otherwise, invokes ::new (static_cast(p)) T(std::forward(args)...) - template - static void construct(Alloc & a, T* p, BOOST_FWD_REF(Args)... args) - { - ::boost::integral_constant::value> flag; - allocator_traits::priv_construct(flag, a, p, ::boost::forward(args)...); - } - #endif - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - private: - static pointer priv_allocate(boost::true_type, Alloc &a, size_type n, const_void_pointer p) - { return a.allocate(n, p); } - - static pointer priv_allocate(boost::false_type, Alloc &a, size_type n, const_void_pointer) - { return allocator_traits::allocate(a, n); } - - template - static void priv_destroy(boost::true_type, Alloc &a, T* p) BOOST_CONTAINER_NOEXCEPT - { a.destroy(p); } - - template - static void priv_destroy(boost::false_type, Alloc &, T* p) BOOST_CONTAINER_NOEXCEPT - { p->~T(); (void)p; } - - static size_type priv_max_size(boost::true_type, const Alloc &a) BOOST_CONTAINER_NOEXCEPT - { return a.max_size(); } - - static size_type priv_max_size(boost::false_type, const Alloc &) BOOST_CONTAINER_NOEXCEPT - { return (std::numeric_limits::max)(); } - - static Alloc priv_select_on_container_copy_construction(boost::true_type, const Alloc &a) - { return a.select_on_container_copy_construction(); } - - static const Alloc &priv_select_on_container_copy_construction(boost::false_type, const Alloc &a) BOOST_CONTAINER_NOEXCEPT - { return a; } - - #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - template - static void priv_construct(boost::false_type, Alloc &a, T *p, BOOST_FWD_REF(Args) ...args) - { - const bool value = boost::container::container_detail:: - has_member_function_callable_with_construct - < Alloc, T*, Args... >::value; - ::boost::integral_constant flag; - priv_construct_dispatch2(flag, a, p, ::boost::forward(args)...); - } - - template - static void priv_construct(boost::true_type, Alloc &a, T *p, BOOST_FWD_REF(Args) ...args) - { - priv_construct_dispatch2(boost::false_type(), a, p, ::boost::forward(args)...); - } - - template - static void priv_construct_dispatch2(boost::true_type, Alloc &a, T *p, BOOST_FWD_REF(Args) ...args) - { a.construct( p, ::boost::forward(args)...); } - - template - static void priv_construct_dispatch2(boost::false_type, Alloc &, T *p, BOOST_FWD_REF(Args) ...args) - { ::new((void*)p) T(::boost::forward(args)...); } - #else // #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - public: - #define BOOST_PP_LOCAL_MACRO(n) \ - template \ - static void construct(Alloc &a, T *p \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - ::boost::integral_constant::value> flag; \ - allocator_traits::priv_construct(flag, a, p \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); \ - } \ - // - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() - - private: - #define BOOST_PP_LOCAL_MACRO(n) \ - template \ - static void priv_construct(boost::false_type, Alloc &a, T *p \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST,_)) \ - { \ - const bool value = \ - boost::container::container_detail::has_member_function_callable_with_construct \ - < Alloc, T* BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_FWD_TYPE, _) >::value; \ - ::boost::integral_constant flag; \ - priv_construct_dispatch2(flag, a, p \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _) ); \ - } \ - \ - template \ - static void priv_construct(boost::true_type, Alloc &a, T *p \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST,_)) \ - { \ - priv_construct_dispatch2(boost::false_type(), a, p \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _) ); \ - } \ - \ - template \ - static void priv_construct_dispatch2(boost::true_type, Alloc &a, T *p \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST,_)) \ - { a.construct( p BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _) ); } \ - \ - template \ - static void priv_construct_dispatch2(boost::false_type, Alloc &, T *p \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _) ) \ - { ::new((void*)p) T(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); } \ - // - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() - #endif // #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - - template - static void priv_construct_dispatch2(boost::false_type, Alloc &, T *p, ::boost::container::default_init_t) - { ::new((void*)p) T; } - #endif //#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED -}; - -} //namespace container { -} //namespace boost { - -#include - -#endif // ! defined(BOOST_CONTAINER_ALLOCATOR_ALLOCATOR_TRAITS_HPP) diff --git a/bundled/boost-1.56.0/include/boost/container/container_fwd.hpp b/bundled/boost-1.56.0/include/boost/container/container_fwd.hpp deleted file mode 100644 index 415de0f378..0000000000 --- a/bundled/boost-1.56.0/include/boost/container/container_fwd.hpp +++ /dev/null @@ -1,275 +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_CONTAINER_FWD_HPP -#define BOOST_CONTAINER_CONTAINER_FWD_HPP - -#if defined(_MSC_VER) -# pragma once -#endif - -//! \file -//! This header file forward declares the following containers: -//! - boost::container::vector -//! - boost::container::stable_vector -//! - boost::container::static_vector -//! - boost::container::slist -//! - boost::container::list -//! - boost::container::set -//! - boost::container::multiset -//! - boost::container::map -//! - boost::container::multimap -//! - boost::container::flat_set -//! - boost::container::flat_multiset -//! - boost::container::flat_map -//! - boost::container::flat_multimap -//! - boost::container::basic_string -//! - boost::container::string -//! - boost::container::wstring -//! -//! It forward declares the following allocators: -//! - boost::container::allocator -//! - boost::container::node_allocator -//! - boost::container::adaptive_pool -//! -//! And finally it defines the following types - -////////////////////////////////////////////////////////////////////////////// -// Standard predeclarations -////////////////////////////////////////////////////////////////////////////// - -#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -namespace boost{ -namespace intrusive{ - //Create namespace to avoid compilation errors -}} - -namespace boost{ namespace container{ namespace container_detail{ - -namespace bi = boost::intrusive; - -}}} - -#include -#include -#include -#include -#include -#include - -#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -////////////////////////////////////////////////////////////////////////////// -// Containers -////////////////////////////////////////////////////////////////////////////// - -namespace boost { -namespace container { - -//! Enumeration used to configure ordered associative containers -//! with a concrete tree implementation. -enum tree_type_enum -{ - red_black_tree, - avl_tree, - scapegoat_tree, - splay_tree -}; - -#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -template > -class vector; - -template > -class stable_vector; - -template -class static_vector; - -template > -class deque; - -template > -class list; - -template > -class slist; - -template -struct tree_opt; - -typedef tree_opt tree_assoc_defaults; - -template - ,class Allocator = std::allocator - ,class Options = tree_assoc_defaults > -class set; - -template - ,class Allocator = std::allocator - ,class Options = tree_assoc_defaults > -class multiset; - -template - ,class Allocator = std::allocator > - ,class Options = tree_assoc_defaults > -class map; - -template - ,class Allocator = std::allocator > - ,class Options = tree_assoc_defaults > -class multimap; - -template - ,class Allocator = std::allocator > -class flat_set; - -template - ,class Allocator = std::allocator > -class flat_multiset; - -template - ,class Allocator = std::allocator > > -class flat_map; - -template - ,class Allocator = std::allocator > > -class flat_multimap; - -template - ,class Allocator = std::allocator > -class basic_string; - -typedef basic_string - - ,std::allocator > -string; - -typedef basic_string - - ,std::allocator > -wstring; - -static const std::size_t ADP_nodes_per_block = 256u; -static const std::size_t ADP_max_free_blocks = 2u; -static const std::size_t ADP_overhead_percent = 1u; -static const std::size_t ADP_only_alignment = 0u; - -template < class T - , std::size_t NodesPerBlock = ADP_nodes_per_block - , std::size_t MaxFreeBlocks = ADP_max_free_blocks - , std::size_t OverheadPercent = ADP_overhead_percent - , unsigned Version = 2 - > -class adaptive_pool; - -template < class T - , unsigned Version = 2 - , unsigned int AllocationDisableMask = 0> -class allocator; - -static const std::size_t NodeAlloc_nodes_per_block = 256u; - -template - < class T - , std::size_t NodesPerBlock = NodeAlloc_nodes_per_block - , std::size_t Version = 2> -class node_allocator; - -#else - -//! Default options for tree-based associative containers -//! - tree_type -//! - optimize_size -typedef implementation_defined tree_assoc_defaults; - -#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -//! Type used to tag that the input range is -//! guaranteed to be ordered -struct ordered_range_t -{}; - -//! Value used to tag that the input range is -//! guaranteed to be ordered -static const ordered_range_t ordered_range = ordered_range_t(); - -//! Type used to tag that the input range is -//! guaranteed to be ordered and unique -struct ordered_unique_range_t - : public ordered_range_t -{}; - -//! Value used to tag that the input range is -//! guaranteed to be ordered and unique -static const ordered_unique_range_t ordered_unique_range = ordered_unique_range_t(); - -//! Type used to tag that the inserted values -//! should be default initialized -struct default_init_t -{}; - -//! Value used to tag that the inserted values -//! should be default initialized -static const default_init_t default_init = default_init_t(); -#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -//! Type used to tag that the inserted values -//! should be value initialized -struct value_init_t -{}; - -//! Value used to tag that the inserted values -//! should be value initialized -static const value_init_t value_init = value_init_t(); - -namespace container_detail_really_deep_namespace { - -//Otherwise, gcc issues a warning of previously defined -//anonymous_instance and unique_instance -struct dummy -{ - dummy() - { - (void)ordered_range; - (void)ordered_unique_range; - (void)default_init; - } -}; - -} //detail_really_deep_namespace { - -#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -}} //namespace boost { namespace container { - -#endif //#ifndef BOOST_CONTAINER_CONTAINER_FWD_HPP diff --git a/bundled/boost-1.56.0/include/boost/container/deque.hpp b/bundled/boost-1.56.0/include/boost/container/deque.hpp deleted file mode 100644 index 675dae6cf3..0000000000 --- a/bundled/boost-1.56.0/include/boost/container/deque.hpp +++ /dev/null @@ -1,2006 +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_DEQUE_HPP -#define BOOST_CONTAINER_DEQUE_HPP - -#if defined(_MSC_VER) -# pragma once -#endif - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { -namespace container { - -#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED -template -class deque; - -template -struct deque_value_traits -{ - typedef T value_type; - static const bool trivial_dctr = boost::has_trivial_destructor::value; - static const bool trivial_dctr_after_move = ::boost::has_trivial_destructor_after_move::value; - static const bool trivial_copy = has_trivial_copy::value; - static const bool nothrow_copy = has_nothrow_copy::value; - static const bool trivial_assign = has_trivial_assign::value; - //static const bool nothrow_assign = has_nothrow_assign::value; - static const bool nothrow_assign = false; -}; - -// Note: this function is simply a kludge to work around several compilers' -// bugs in handling constant expressions. -template -struct deque_buf_size -{ - static const std::size_t min_size = 512u; - static const std::size_t sizeof_t = sizeof(T); - static const std::size_t value = sizeof_t < min_size ? (min_size/sizeof_t) : std::size_t(1); -}; - -namespace container_detail { - -// Class invariants: -// For any nonsingular iterator i: -// i.node is the address of an element in the map array. The -// contents of i.node is a pointer to the beginning of a node. -// i.first == //(i.node) -// i.last == i.first + node_size -// i.cur is a pointer in the range [i.first, i.last). NOTE: -// the implication of this is that i.cur is always a dereferenceable -// pointer, even if i is a past-the-end iterator. -// Start and Finish are always nonsingular iterators. NOTE: this means -// that an empty deque must have one node, and that a deque -// with N elements, where N is the buffer size, must have two nodes. -// For every node other than start.node and finish.node, every element -// in the node is an initialized object. If start.node == finish.node, -// then [start.cur, finish.cur) are initialized objects, and -// the elements outside that range are uninitialized storage. Otherwise, -// [start.cur, start.last) and [finish.first, finish.cur) are initialized -// objects, and [start.first, start.cur) and [finish.cur, finish.last) -// are uninitialized storage. -// [map, map + map_size) is a valid, non-empty range. -// [start.node, finish.node] is a valid range contained within -// [map, map + map_size). -// Allocator pointer in the range [map, map + map_size) points to an allocated node -// if and only if the pointer is in the range [start.node, finish.node]. -template -class deque_iterator -{ - public: - typedef std::random_access_iterator_tag iterator_category; - typedef typename boost::intrusive::pointer_traits::element_type value_type; - typedef typename boost::intrusive::pointer_traits::difference_type difference_type; - typedef typename if_c - < IsConst - , typename boost::intrusive::pointer_traits::template - rebind_pointer::type - , Pointer - >::type pointer; - typedef typename if_c - < IsConst - , const value_type& - , value_type& - >::type reference; - - static std::size_t s_buffer_size() - { return deque_buf_size::value; } - - typedef Pointer val_alloc_ptr; - typedef typename boost::intrusive::pointer_traits:: - template rebind_pointer::type index_pointer; - - Pointer m_cur; - Pointer m_first; - Pointer m_last; - index_pointer m_node; - - public: - - Pointer get_cur() const { return m_cur; } - Pointer get_first() const { return m_first; } - Pointer get_last() const { return m_last; } - index_pointer get_node() const { return m_node; } - - deque_iterator(val_alloc_ptr x, index_pointer y) BOOST_CONTAINER_NOEXCEPT - : m_cur(x), m_first(*y), m_last(*y + s_buffer_size()), m_node(y) - {} - - deque_iterator() BOOST_CONTAINER_NOEXCEPT - : m_cur(), m_first(), m_last(), m_node() - {} - - deque_iterator(deque_iterator const& x) BOOST_CONTAINER_NOEXCEPT - : m_cur(x.get_cur()), m_first(x.get_first()), m_last(x.get_last()), m_node(x.get_node()) - {} - - deque_iterator(Pointer cur, Pointer first, Pointer last, index_pointer node) BOOST_CONTAINER_NOEXCEPT - : m_cur(cur), m_first(first), m_last(last), m_node(node) - {} - - deque_iterator unconst() const BOOST_CONTAINER_NOEXCEPT - { - return deque_iterator(this->get_cur(), this->get_first(), this->get_last(), this->get_node()); - } - - reference operator*() const BOOST_CONTAINER_NOEXCEPT - { return *this->m_cur; } - - pointer operator->() const BOOST_CONTAINER_NOEXCEPT - { return this->m_cur; } - - difference_type operator-(const deque_iterator& x) const BOOST_CONTAINER_NOEXCEPT - { - if(!this->m_cur && !x.m_cur){ - return 0; - } - return difference_type(this->s_buffer_size()) * (this->m_node - x.m_node - 1) + - (this->m_cur - this->m_first) + (x.m_last - x.m_cur); - } - - deque_iterator& operator++() BOOST_CONTAINER_NOEXCEPT - { - ++this->m_cur; - if (this->m_cur == this->m_last) { - this->priv_set_node(this->m_node + 1); - this->m_cur = this->m_first; - } - return *this; - } - - deque_iterator operator++(int) BOOST_CONTAINER_NOEXCEPT - { - deque_iterator tmp(*this); - ++*this; - return tmp; - } - - deque_iterator& operator--() BOOST_CONTAINER_NOEXCEPT - { - if (this->m_cur == this->m_first) { - this->priv_set_node(this->m_node - 1); - this->m_cur = this->m_last; - } - --this->m_cur; - return *this; - } - - deque_iterator operator--(int) BOOST_CONTAINER_NOEXCEPT - { - deque_iterator tmp(*this); - --*this; - return tmp; - } - - deque_iterator& operator+=(difference_type n) BOOST_CONTAINER_NOEXCEPT - { - difference_type offset = n + (this->m_cur - this->m_first); - if (offset >= 0 && offset < difference_type(this->s_buffer_size())) - this->m_cur += n; - else { - difference_type node_offset = - offset > 0 ? offset / difference_type(this->s_buffer_size()) - : -difference_type((-offset - 1) / this->s_buffer_size()) - 1; - this->priv_set_node(this->m_node + node_offset); - this->m_cur = this->m_first + - (offset - node_offset * difference_type(this->s_buffer_size())); - } - return *this; - } - - deque_iterator operator+(difference_type n) const BOOST_CONTAINER_NOEXCEPT - { deque_iterator tmp(*this); return tmp += n; } - - deque_iterator& operator-=(difference_type n) BOOST_CONTAINER_NOEXCEPT - { return *this += -n; } - - deque_iterator operator-(difference_type n) const BOOST_CONTAINER_NOEXCEPT - { deque_iterator tmp(*this); return tmp -= n; } - - reference operator[](difference_type n) const BOOST_CONTAINER_NOEXCEPT - { return *(*this + n); } - - friend bool operator==(const deque_iterator& l, const deque_iterator& r) BOOST_CONTAINER_NOEXCEPT - { return l.m_cur == r.m_cur; } - - friend bool operator!=(const deque_iterator& l, const deque_iterator& r) BOOST_CONTAINER_NOEXCEPT - { return l.m_cur != r.m_cur; } - - friend bool operator<(const deque_iterator& l, const deque_iterator& r) BOOST_CONTAINER_NOEXCEPT - { return (l.m_node == r.m_node) ? (l.m_cur < r.m_cur) : (l.m_node < r.m_node); } - - friend bool operator>(const deque_iterator& l, const deque_iterator& r) BOOST_CONTAINER_NOEXCEPT - { return r < l; } - - friend bool operator<=(const deque_iterator& l, const deque_iterator& r) BOOST_CONTAINER_NOEXCEPT - { return !(r < l); } - - friend bool operator>=(const deque_iterator& l, const deque_iterator& r) BOOST_CONTAINER_NOEXCEPT - { return !(l < r); } - - void priv_set_node(index_pointer new_node) BOOST_CONTAINER_NOEXCEPT - { - this->m_node = new_node; - this->m_first = *new_node; - this->m_last = this->m_first + this->s_buffer_size(); - } - - friend deque_iterator operator+(difference_type n, deque_iterator x) BOOST_CONTAINER_NOEXCEPT - { return x += n; } -}; - -} //namespace container_detail { - -// Deque base class. It has two purposes. First, its constructor -// and destructor allocate (but don't initialize) storage. This makes -// exception safety easier. -template -class deque_base -{ - BOOST_COPYABLE_AND_MOVABLE(deque_base) - public: - typedef allocator_traits val_alloc_traits_type; - typedef typename val_alloc_traits_type::value_type val_alloc_val; - typedef typename val_alloc_traits_type::pointer val_alloc_ptr; - typedef typename val_alloc_traits_type::const_pointer val_alloc_cptr; - typedef typename val_alloc_traits_type::reference val_alloc_ref; - typedef typename val_alloc_traits_type::const_reference val_alloc_cref; - typedef typename val_alloc_traits_type::difference_type val_alloc_diff; - typedef typename val_alloc_traits_type::size_type val_alloc_size; - typedef typename val_alloc_traits_type::template - portable_rebind_alloc::type ptr_alloc_t; - typedef allocator_traits ptr_alloc_traits_type; - typedef typename ptr_alloc_traits_type::value_type ptr_alloc_val; - typedef typename ptr_alloc_traits_type::pointer ptr_alloc_ptr; - typedef typename ptr_alloc_traits_type::const_pointer ptr_alloc_cptr; - typedef typename ptr_alloc_traits_type::reference ptr_alloc_ref; - typedef typename ptr_alloc_traits_type::const_reference ptr_alloc_cref; - typedef Allocator allocator_type; - typedef allocator_type stored_allocator_type; - typedef val_alloc_size size_type; - - protected: - - typedef deque_value_traits traits_t; - typedef ptr_alloc_t map_allocator_type; - - static size_type s_buffer_size() BOOST_CONTAINER_NOEXCEPT - { return deque_buf_size::value; } - - val_alloc_ptr priv_allocate_node() - { return this->alloc().allocate(s_buffer_size()); } - - void priv_deallocate_node(val_alloc_ptr p) BOOST_CONTAINER_NOEXCEPT - { this->alloc().deallocate(p, s_buffer_size()); } - - ptr_alloc_ptr priv_allocate_map(size_type n) - { return this->ptr_alloc().allocate(n); } - - void priv_deallocate_map(ptr_alloc_ptr p, size_type n) BOOST_CONTAINER_NOEXCEPT - { this->ptr_alloc().deallocate(p, n); } - - typedef container_detail::deque_iterator iterator; - typedef container_detail::deque_iterator const_iterator; - - deque_base(size_type num_elements, const allocator_type& a) - : members_(a) - { this->priv_initialize_map(num_elements); } - - explicit deque_base(const allocator_type& a) - : members_(a) - {} - - deque_base() - : members_() - {} - - explicit deque_base(BOOST_RV_REF(deque_base) x) - : members_( boost::move(x.ptr_alloc()) - , boost::move(x.alloc()) ) - {} - - ~deque_base() - { - if (this->members_.m_map) { - this->priv_destroy_nodes(this->members_.m_start.m_node, this->members_.m_finish.m_node + 1); - this->priv_deallocate_map(this->members_.m_map, this->members_.m_map_size); - } - } - - private: - deque_base(const deque_base&); - - protected: - - void swap_members(deque_base &x) BOOST_CONTAINER_NOEXCEPT - { - std::swap(this->members_.m_start, x.members_.m_start); - std::swap(this->members_.m_finish, x.members_.m_finish); - std::swap(this->members_.m_map, x.members_.m_map); - std::swap(this->members_.m_map_size, x.members_.m_map_size); - } - - void priv_initialize_map(size_type num_elements) - { -// if(num_elements){ - size_type num_nodes = num_elements / s_buffer_size() + 1; - - this->members_.m_map_size = container_detail::max_value((size_type) InitialMapSize, num_nodes + 2); - this->members_.m_map = this->priv_allocate_map(this->members_.m_map_size); - - ptr_alloc_ptr nstart = this->members_.m_map + (this->members_.m_map_size - num_nodes) / 2; - ptr_alloc_ptr nfinish = nstart + num_nodes; - - BOOST_TRY { - this->priv_create_nodes(nstart, nfinish); - } - BOOST_CATCH(...){ - this->priv_deallocate_map(this->members_.m_map, this->members_.m_map_size); - this->members_.m_map = 0; - this->members_.m_map_size = 0; - BOOST_RETHROW - } - BOOST_CATCH_END - - this->members_.m_start.priv_set_node(nstart); - this->members_.m_finish.priv_set_node(nfinish - 1); - this->members_.m_start.m_cur = this->members_.m_start.m_first; - this->members_.m_finish.m_cur = this->members_.m_finish.m_first + - num_elements % s_buffer_size(); -// } - } - - void priv_create_nodes(ptr_alloc_ptr nstart, ptr_alloc_ptr nfinish) - { - ptr_alloc_ptr cur; - BOOST_TRY { - for (cur = nstart; cur < nfinish; ++cur) - *cur = this->priv_allocate_node(); - } - BOOST_CATCH(...){ - this->priv_destroy_nodes(nstart, cur); - BOOST_RETHROW - } - BOOST_CATCH_END - } - - void priv_destroy_nodes(ptr_alloc_ptr nstart, ptr_alloc_ptr nfinish) BOOST_CONTAINER_NOEXCEPT - { - for (ptr_alloc_ptr n = nstart; n < nfinish; ++n) - this->priv_deallocate_node(*n); - } - - void priv_clear_map() BOOST_CONTAINER_NOEXCEPT - { - if (this->members_.m_map) { - this->priv_destroy_nodes(this->members_.m_start.m_node, this->members_.m_finish.m_node + 1); - this->priv_deallocate_map(this->members_.m_map, this->members_.m_map_size); - this->members_.m_map = 0; - this->members_.m_map_size = 0; - this->members_.m_start = iterator(); - this->members_.m_finish = this->members_.m_start; - } - } - - enum { InitialMapSize = 8 }; - - protected: - struct members_holder - : public ptr_alloc_t - , public allocator_type - { - members_holder() - : map_allocator_type(), allocator_type() - , m_map(0), m_map_size(0) - , m_start(), m_finish(m_start) - {} - - explicit members_holder(const allocator_type &a) - : map_allocator_type(a), allocator_type(a) - , m_map(0), m_map_size(0) - , m_start(), m_finish(m_start) - {} - - template - members_holder(BOOST_FWD_REF(PtrAllocConvertible) pa, BOOST_FWD_REF(ValAllocConvertible) va) - : map_allocator_type(boost::forward(pa)) - , allocator_type (boost::forward(va)) - , m_map(0), m_map_size(0) - , m_start(), m_finish(m_start) - {} - - ptr_alloc_ptr m_map; - val_alloc_size m_map_size; - iterator m_start; - iterator m_finish; - } members_; - - ptr_alloc_t &ptr_alloc() BOOST_CONTAINER_NOEXCEPT - { return members_; } - - const ptr_alloc_t &ptr_alloc() const BOOST_CONTAINER_NOEXCEPT - { return members_; } - - allocator_type &alloc() BOOST_CONTAINER_NOEXCEPT - { return members_; } - - const allocator_type &alloc() const BOOST_CONTAINER_NOEXCEPT - { return members_; } -}; -#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -#ifdef BOOST_CONTAINER_DOXYGEN_INVOKED -//! A double-ended queue is a sequence that supports random access to elements, constant time insertion -//! and removal of elements at the end of the sequence, and linear time insertion and removal of elements in the middle. -//! -//! \tparam T The type of object that is stored in the deque -//! \tparam Allocator The allocator used for all internal memory management -template > -#else -template -#endif -class deque : protected deque_base -{ - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - private: - typedef deque_base Base; - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - - public: - - ////////////////////////////////////////////// - // - // types - // - ////////////////////////////////////////////// - - typedef T value_type; - typedef typename ::boost::container::allocator_traits::pointer pointer; - typedef typename ::boost::container::allocator_traits::const_pointer const_pointer; - typedef typename ::boost::container::allocator_traits::reference reference; - typedef typename ::boost::container::allocator_traits::const_reference const_reference; - typedef typename ::boost::container::allocator_traits::size_type size_type; - typedef typename ::boost::container::allocator_traits::difference_type difference_type; - typedef Allocator allocator_type; - typedef BOOST_CONTAINER_IMPDEF(allocator_type) stored_allocator_type; - typedef BOOST_CONTAINER_IMPDEF(typename Base::iterator) iterator; - typedef BOOST_CONTAINER_IMPDEF(typename Base::const_iterator) const_iterator; - typedef BOOST_CONTAINER_IMPDEF(std::reverse_iterator) reverse_iterator; - typedef BOOST_CONTAINER_IMPDEF(std::reverse_iterator) const_reverse_iterator; - - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - - private: // Internal typedefs - BOOST_COPYABLE_AND_MOVABLE(deque) - typedef typename Base::ptr_alloc_ptr index_pointer; - static size_type s_buffer_size() - { return Base::s_buffer_size(); } - typedef allocator_traits allocator_traits_type; - - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - - public: - ////////////////////////////////////////////// - // - // construct/copy/destroy - // - ////////////////////////////////////////////// - - //! Effects: Default constructors a deque. - //! - //! Throws: If allocator_type's default constructor throws. - //! - //! Complexity: Constant. - deque() - : Base() - {} - - //! Effects: Constructs a deque taking the allocator as parameter. - //! - //! Throws: Nothing - //! - //! Complexity: Constant. - explicit deque(const allocator_type& a) BOOST_CONTAINER_NOEXCEPT - : Base(a) - {} - - //! Effects: Constructs a deque that will use a copy of allocator a - //! and inserts n value initialized values. - //! - //! Throws: If allocator_type's default constructor - //! throws or T's value initialization throws. - //! - //! Complexity: Linear to n. - explicit deque(size_type n) - : Base(n, allocator_type()) - { - container_detail::insert_value_initialized_n_proxy proxy; - proxy.uninitialized_copy_n_and_update(this->alloc(), this->begin(), n); - //deque_base will deallocate in case of exception... - } - - //! Effects: Constructs a deque that will use a copy of allocator a - //! and inserts n default initialized values. - //! - //! Throws: If allocator_type's default constructor - //! throws or T's default initialization or copy constructor throws. - //! - //! Complexity: Linear to n. - //! - //! Note: Non-standard extension - deque(size_type n, default_init_t) - : Base(n, allocator_type()) - { - container_detail::insert_default_initialized_n_proxy proxy; - proxy.uninitialized_copy_n_and_update(this->alloc(), this->begin(), n); - //deque_base will deallocate in case of exception... - } - - //! Effects: Constructs a deque that will use a copy of allocator a - //! and inserts n copies of value. - //! - //! Throws: If allocator_type's default constructor - //! throws or T's copy constructor throws. - //! - //! Complexity: Linear to n. - deque(size_type n, const value_type& value, - const allocator_type& a = allocator_type()) - : Base(n, a) - { this->priv_fill_initialize(value); } - - //! Effects: Constructs a deque that will use a copy of allocator a - //! and inserts a copy of the range [first, last) in the deque. - //! - //! Throws: If allocator_type's default constructor - //! throws or T's constructor taking a dereferenced InIt throws. - //! - //! Complexity: Linear to the range [first, last). - template - deque(InIt first, InIt last, const allocator_type& a = allocator_type() - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value - >::type * = 0 - #endif - ) - : Base(a) - { - typedef typename std::iterator_traits::iterator_category ItCat; - this->priv_range_initialize(first, last, ItCat()); - } - - //! Effects: Copy constructs a deque. - //! - //! Postcondition: x == *this. - //! - //! Complexity: Linear to the elements x contains. - deque(const deque& x) - : Base(allocator_traits_type::select_on_container_copy_construction(x.alloc())) - { - if(x.size()){ - this->priv_initialize_map(x.size()); - boost::container::uninitialized_copy_alloc - (this->alloc(), x.begin(), x.end(), this->members_.m_start); - } - } - - //! Effects: Move constructor. Moves mx's resources to *this. - //! - //! Throws: If allocator_type's copy constructor throws. - //! - //! Complexity: Constant. - deque(BOOST_RV_REF(deque) x) - : Base(boost::move(static_cast(x))) - { this->swap_members(x); } - - //! Effects: Copy constructs a vector using the specified allocator. - //! - //! Postcondition: x == *this. - //! - //! Throws: If allocation - //! throws or T's copy constructor throws. - //! - //! Complexity: Linear to the elements x contains. - deque(const deque& x, const allocator_type &a) - : Base(a) - { - if(x.size()){ - this->priv_initialize_map(x.size()); - boost::container::uninitialized_copy_alloc - (this->alloc(), x.begin(), x.end(), this->members_.m_start); - } - } - - //! Effects: Move constructor using the specified allocator. - //! Moves mx's resources to *this if a == allocator_type(). - //! Otherwise copies values from x to *this. - //! - //! Throws: If allocation or T's copy constructor throws. - //! - //! Complexity: Constant if a == mx.get_allocator(), linear otherwise. - deque(BOOST_RV_REF(deque) mx, const allocator_type &a) - : Base(a) - { - if(mx.alloc() == a){ - this->swap_members(mx); - } - else{ - if(mx.size()){ - this->priv_initialize_map(mx.size()); - boost::container::uninitialized_copy_alloc - (this->alloc(), mx.begin(), mx.end(), this->members_.m_start); - } - } - } - - //! Effects: Destroys the deque. All stored values are destroyed - //! and used memory is deallocated. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements. - ~deque() BOOST_CONTAINER_NOEXCEPT - { - this->priv_destroy_range(this->members_.m_start, this->members_.m_finish); - } - - //! Effects: Makes *this contain the same elements as x. - //! - //! Postcondition: this->size() == x.size(). *this contains a copy - //! of each of x's elements. - //! - //! Throws: If memory allocation throws or T's copy constructor throws. - //! - //! Complexity: Linear to the number of elements in x. - deque& operator= (BOOST_COPY_ASSIGN_REF(deque) x) - { - if (&x != this){ - allocator_type &this_alloc = this->alloc(); - const allocator_type &x_alloc = x.alloc(); - container_detail::bool_ flag; - if(flag && this_alloc != x_alloc){ - this->clear(); - this->shrink_to_fit(); - } - container_detail::assign_alloc(this->alloc(), x.alloc(), flag); - container_detail::assign_alloc(this->ptr_alloc(), x.ptr_alloc(), flag); - this->assign(x.cbegin(), x.cend()); - } - return *this; - } - - //! Effects: Move assignment. All x's values are transferred to *this. - //! - //! Throws: If allocator_traits_type::propagate_on_container_move_assignment - //! is false and (allocation throws or value_type's move constructor throws) - //! - //! Complexity: Constant if allocator_traits_type:: - //! propagate_on_container_move_assignment is true or - //! this->get>allocator() == x.get_allocator(). Linear otherwise. - deque& operator= (BOOST_RV_REF(deque) x) - BOOST_CONTAINER_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value) - { - BOOST_ASSERT(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; - container_detail::bool_ 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 - container_detail::move_alloc(this_alloc, x_alloc, flag); - container_detail::move_alloc(this->ptr_alloc(), x.ptr_alloc(), flag); - //Nothrow swap - this->swap_members(x); - } - //Else do a one by one move - else{ - this->assign( boost::make_move_iterator(x.begin()) - , boost::make_move_iterator(x.end())); - } - return *this; - } - - //! Effects: Assigns the n copies of val to *this. - //! - //! Throws: If memory allocation throws or T's copy constructor throws. - //! - //! Complexity: Linear to n. - void assign(size_type n, const T& val) - { - typedef constant_iterator c_it; - this->assign(c_it(val, n), c_it()); - } - - //! Effects: Assigns the the range [first, last) to *this. - //! - //! Throws: If memory allocation throws or - //! T's constructor from dereferencing InIt throws. - //! - //! Complexity: Linear to n. - template - void assign(InIt first, InIt last - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value - && container_detail::is_input_iterator::value - >::type * = 0 - #endif - ) - { - iterator cur = this->begin(); - for ( ; first != last && cur != end(); ++cur, ++first){ - *cur = *first; - } - if (first == last){ - this->erase(cur, this->cend()); - } - else{ - this->insert(this->cend(), first, last); - } - } - - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - template - void assign(FwdIt first, FwdIt last - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value - && !container_detail::is_input_iterator::value - >::type * = 0 - ) - { - const size_type len = std::distance(first, last); - if (len > size()) { - FwdIt mid = first; - std::advance(mid, this->size()); - boost::container::copy(first, mid, begin()); - this->insert(this->cend(), mid, last); - } - else{ - this->erase(boost::container::copy(first, last, this->begin()), cend()); - } - } - #endif - - //! Effects: Returns a copy of the internal allocator. - //! - //! Throws: If allocator's copy constructor throws. - //! - //! Complexity: Constant. - allocator_type get_allocator() const BOOST_CONTAINER_NOEXCEPT - { return Base::alloc(); } - - //! Effects: Returns a reference to the internal allocator. - //! - //! Throws: Nothing - //! - //! Complexity: Constant. - //! - //! Note: Non-standard extension. - const stored_allocator_type &get_stored_allocator() const BOOST_CONTAINER_NOEXCEPT - { return Base::alloc(); } - - ////////////////////////////////////////////// - // - // iterators - // - ////////////////////////////////////////////// - - //! Effects: Returns a reference to the internal allocator. - //! - //! Throws: Nothing - //! - //! Complexity: Constant. - //! - //! Note: Non-standard extension. - stored_allocator_type &get_stored_allocator() BOOST_CONTAINER_NOEXCEPT - { return Base::alloc(); } - - //! Effects: Returns an iterator to the first element contained in the deque. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - iterator begin() BOOST_CONTAINER_NOEXCEPT - { return this->members_.m_start; } - - //! Effects: Returns a const_iterator to the first element contained in the deque. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator begin() const BOOST_CONTAINER_NOEXCEPT - { return this->members_.m_start; } - - //! Effects: Returns an iterator to the end of the deque. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - iterator end() BOOST_CONTAINER_NOEXCEPT - { return this->members_.m_finish; } - - //! Effects: Returns a const_iterator to the end of the deque. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator end() const BOOST_CONTAINER_NOEXCEPT - { return this->members_.m_finish; } - - //! Effects: Returns a reverse_iterator pointing to the beginning - //! of the reversed deque. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - reverse_iterator rbegin() BOOST_CONTAINER_NOEXCEPT - { return reverse_iterator(this->members_.m_finish); } - - //! Effects: Returns a const_reverse_iterator pointing to the beginning - //! of the reversed deque. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator rbegin() const BOOST_CONTAINER_NOEXCEPT - { return const_reverse_iterator(this->members_.m_finish); } - - //! Effects: Returns a reverse_iterator pointing to the end - //! of the reversed deque. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - reverse_iterator rend() BOOST_CONTAINER_NOEXCEPT - { return reverse_iterator(this->members_.m_start); } - - //! Effects: Returns a const_reverse_iterator pointing to the end - //! of the reversed deque. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator rend() const BOOST_CONTAINER_NOEXCEPT - { return const_reverse_iterator(this->members_.m_start); } - - //! Effects: Returns a const_iterator to the first element contained in the deque. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator cbegin() const BOOST_CONTAINER_NOEXCEPT - { return this->members_.m_start; } - - //! Effects: Returns a const_iterator to the end of the deque. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator cend() const BOOST_CONTAINER_NOEXCEPT - { return this->members_.m_finish; } - - //! Effects: Returns a const_reverse_iterator pointing to the beginning - //! of the reversed deque. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator crbegin() const BOOST_CONTAINER_NOEXCEPT - { return const_reverse_iterator(this->members_.m_finish); } - - //! Effects: Returns a const_reverse_iterator pointing to the end - //! of the reversed deque. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator crend() const BOOST_CONTAINER_NOEXCEPT - { return const_reverse_iterator(this->members_.m_start); } - - ////////////////////////////////////////////// - // - // capacity - // - ////////////////////////////////////////////// - - //! Effects: Returns true if the deque contains no elements. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - bool empty() const BOOST_CONTAINER_NOEXCEPT - { return this->members_.m_finish == this->members_.m_start; } - - //! Effects: Returns the number of the elements contained in the deque. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - size_type size() const BOOST_CONTAINER_NOEXCEPT - { return this->members_.m_finish - this->members_.m_start; } - - //! Effects: Returns the largest possible size of the deque. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - size_type max_size() const BOOST_CONTAINER_NOEXCEPT - { return allocator_traits_type::max_size(this->alloc()); } - - //! Effects: Inserts or erases elements at the end such that - //! the size becomes n. New elements are value initialized. - //! - //! Throws: If memory allocation throws, or T's constructor throws. - //! - //! Complexity: Linear to the difference between size() and new_size. - void resize(size_type new_size) - { - const size_type len = size(); - if (new_size < len) - this->priv_erase_last_n(len - new_size); - else{ - const size_type n = new_size - this->size(); - container_detail::insert_value_initialized_n_proxy proxy; - priv_insert_back_aux_impl(n, proxy); - } - } - - //! Effects: Inserts or erases elements at the end such that - //! the size becomes n. New elements are default initialized. - //! - //! Throws: If memory allocation throws, or T's constructor throws. - //! - //! Complexity: Linear to the difference between size() and new_size. - //! - //! Note: Non-standard extension - void resize(size_type new_size, default_init_t) - { - const size_type len = size(); - if (new_size < len) - this->priv_erase_last_n(len - new_size); - else{ - const size_type n = new_size - this->size(); - container_detail::insert_default_initialized_n_proxy proxy; - priv_insert_back_aux_impl(n, proxy); - } - } - - //! Effects: Inserts or erases elements at the end such that - //! the size becomes n. New elements are copy constructed from x. - //! - //! Throws: If memory allocation throws, or T's copy constructor throws. - //! - //! Complexity: Linear to the difference between size() and new_size. - void resize(size_type new_size, const value_type& x) - { - const size_type len = size(); - if (new_size < len) - this->erase(this->members_.m_start + new_size, this->members_.m_finish); - else - this->insert(this->members_.m_finish, new_size - len, x); - } - - //! Effects: Tries to deallocate the excess of memory created - //! with previous allocations. The size of the deque is unchanged - //! - //! Throws: If memory allocation throws. - //! - //! Complexity: Constant. - void shrink_to_fit() - { - //This deque implementation already - //deallocates excess nodes when erasing - //so there is nothing to do except for - //empty deque - if(this->empty()){ - this->priv_clear_map(); - } - } - - ////////////////////////////////////////////// - // - // element access - // - ////////////////////////////////////////////// - - //! Requires: !empty() - //! - //! Effects: Returns a reference to the first - //! element of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - reference front() BOOST_CONTAINER_NOEXCEPT - { return *this->members_.m_start; } - - //! Requires: !empty() - //! - //! Effects: Returns a const reference to the first element - //! from the beginning of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reference front() const BOOST_CONTAINER_NOEXCEPT - { return *this->members_.m_start; } - - //! Requires: !empty() - //! - //! Effects: Returns a reference to the last - //! element of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - reference back() BOOST_CONTAINER_NOEXCEPT - { return *(end()-1); } - - //! Requires: !empty() - //! - //! Effects: Returns a const reference to the last - //! element of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reference back() const BOOST_CONTAINER_NOEXCEPT - { return *(cend()-1); } - - //! Requires: size() > n. - //! - //! Effects: Returns a reference to the nth element - //! from the beginning of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - reference operator[](size_type n) BOOST_CONTAINER_NOEXCEPT - { return this->members_.m_start[difference_type(n)]; } - - //! Requires: size() > n. - //! - //! Effects: Returns a const reference to the nth element - //! from the beginning of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reference operator[](size_type n) const BOOST_CONTAINER_NOEXCEPT - { return this->members_.m_start[difference_type(n)]; } - - //! Requires: size() > n. - //! - //! Effects: Returns a reference to the nth element - //! from the beginning of the container. - //! - //! Throws: std::range_error if n >= size() - //! - //! Complexity: Constant. - reference at(size_type n) - { this->priv_range_check(n); return (*this)[n]; } - - //! Requires: size() > n. - //! - //! Effects: Returns a const reference to the nth element - //! from the beginning of the container. - //! - //! Throws: std::range_error if n >= size() - //! - //! Complexity: Constant. - const_reference at(size_type n) const - { this->priv_range_check(n); return (*this)[n]; } - - ////////////////////////////////////////////// - // - // modifiers - // - ////////////////////////////////////////////// - - #if defined(BOOST_CONTAINER_PERFECT_FORWARDING) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - //! Effects: Inserts an object of type T constructed with - //! std::forward(args)... in the beginning of the deque. - //! - //! Throws: If memory allocation throws or the in-place constructor throws. - //! - //! Complexity: Amortized constant time - template - void emplace_front(Args&&... args) - { - if(this->priv_push_front_simple_available()){ - allocator_traits_type::construct - ( this->alloc() - , this->priv_push_front_simple_pos() - , boost::forward(args)...); - this->priv_push_front_simple_commit(); - } - else{ - typedef container_detail::insert_non_movable_emplace_proxy type; - this->priv_insert_front_aux_impl(1, type(boost::forward(args)...)); - } - } - - //! Effects: Inserts an object of type T constructed with - //! std::forward(args)... in the end of the deque. - //! - //! Throws: If memory allocation throws or the in-place constructor throws. - //! - //! Complexity: Amortized constant time - template - void emplace_back(Args&&... args) - { - if(this->priv_push_back_simple_available()){ - allocator_traits_type::construct - ( this->alloc() - , this->priv_push_back_simple_pos() - , boost::forward(args)...); - this->priv_push_back_simple_commit(); - } - else{ - typedef container_detail::insert_non_movable_emplace_proxy type; - this->priv_insert_back_aux_impl(1, type(boost::forward(args)...)); - } - } - - //! Requires: position must be a valid iterator of *this. - //! - //! Effects: Inserts an object of type T constructed with - //! std::forward(args)... before position - //! - //! Throws: If memory allocation throws or the in-place constructor throws. - //! - //! Complexity: If position is end(), amortized constant time - //! Linear time otherwise. - template - iterator emplace(const_iterator p, Args&&... args) - { - if(p == this->cbegin()){ - this->emplace_front(boost::forward(args)...); - return this->begin(); - } - else if(p == this->cend()){ - this->emplace_back(boost::forward(args)...); - return (this->end()-1); - } - else{ - typedef container_detail::insert_emplace_proxy type; - return this->priv_insert_aux_impl(p, 1, type(boost::forward(args)...)); - } - } - - #else //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING - - //advanced_insert_int.hpp includes all necessary preprocessor machinery... - #define BOOST_PP_LOCAL_MACRO(n) \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, > ) \ - void emplace_front(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - if(priv_push_front_simple_available()){ \ - allocator_traits_type::construct \ - ( this->alloc() \ - , this->priv_push_front_simple_pos() \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); \ - priv_push_front_simple_commit(); \ - } \ - else{ \ - typedef container_detail::BOOST_PP_CAT(insert_non_movable_emplace_proxy_arg, n) \ - type; \ - priv_insert_front_aux_impl \ - (1, type(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _))); \ - } \ - } \ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - void emplace_back(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - if(priv_push_back_simple_available()){ \ - allocator_traits_type::construct \ - ( this->alloc() \ - , this->priv_push_back_simple_pos() \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); \ - priv_push_back_simple_commit(); \ - } \ - else{ \ - typedef container_detail::BOOST_PP_CAT(insert_non_movable_emplace_proxy_arg, n) \ - type; \ - priv_insert_back_aux_impl \ - (1, type(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _))); \ - } \ - } \ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace(const_iterator p \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - if(p == this->cbegin()){ \ - this->emplace_front(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); \ - return this->begin(); \ - } \ - else if(p == cend()){ \ - this->emplace_back(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); \ - return (this->end()-1); \ - } \ - else{ \ - typedef container_detail::BOOST_PP_CAT(insert_emplace_proxy_arg, n) \ - type; \ - return this->priv_insert_aux_impl \ - (p, 1, type(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _))); \ - } \ - } \ - //! - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() - - #endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING - - #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - //! Effects: Inserts a copy of x at the front of the deque. - //! - //! Throws: If memory allocation throws or - //! T's copy constructor throws. - //! - //! Complexity: Amortized constant time. - void push_front(const T &x); - - //! Effects: Constructs a new element in the front of the deque - //! and moves the resources of mx to this new element. - //! - //! Throws: If memory allocation throws. - //! - //! Complexity: Amortized constant time. - void push_front(T &&x); - #else - BOOST_MOVE_CONVERSION_AWARE_CATCH(push_front, T, void, priv_push_front) - #endif - - #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - //! Effects: Inserts a copy of x at the end of the deque. - //! - //! Throws: If memory allocation throws or - //! T's copy constructor throws. - //! - //! Complexity: Amortized constant time. - void push_back(const T &x); - - //! Effects: Constructs a new element in the end of the deque - //! and moves the resources of mx to this new element. - //! - //! Throws: If memory allocation throws. - //! - //! Complexity: Amortized constant time. - void push_back(T &&x); - #else - BOOST_MOVE_CONVERSION_AWARE_CATCH(push_back, T, void, priv_push_back) - #endif - - #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - //! Requires: position must be a valid iterator of *this. - //! - //! Effects: Insert a copy of x before position. - //! - //! Returns: an iterator to the inserted element. - //! - //! Throws: If memory allocation throws or x's copy constructor throws. - //! - //! Complexity: If position is end(), amortized constant time - //! Linear time otherwise. - iterator insert(const_iterator position, const T &x); - - //! Requires: position must be a valid iterator of *this. - //! - //! Effects: Insert a new element before position with mx's resources. - //! - //! Returns: an iterator to the inserted element. - //! - //! Throws: If memory allocation throws. - //! - //! Complexity: If position is end(), amortized constant time - //! Linear time otherwise. - iterator insert(const_iterator position, T &&x); - #else - BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, T, iterator, priv_insert, const_iterator, const_iterator) - #endif - - //! Requires: pos must be a valid iterator of *this. - //! - //! Effects: Insert n copies of x before pos. - //! - //! Returns: an iterator to the first inserted element or pos if n is 0. - //! - //! Throws: If memory allocation throws or T's copy constructor throws. - //! - //! Complexity: Linear to n. - iterator insert(const_iterator pos, size_type n, const value_type& x) - { - typedef constant_iterator c_it; - return this->insert(pos, c_it(x, n), c_it()); - } - - //! Requires: pos must be a valid iterator of *this. - //! - //! Effects: Insert a copy of the [first, last) range before pos. - //! - //! Returns: an iterator to the first inserted element or pos if first == last. - //! - //! Throws: If memory allocation throws, T's constructor from a - //! dereferenced InIt throws or T's copy constructor throws. - //! - //! Complexity: Linear to std::distance [first, last). - template - iterator insert(const_iterator pos, InIt first, InIt last - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value - && container_detail::is_input_iterator::value - >::type * = 0 - #endif - ) - { - size_type n = 0; - iterator it(pos.unconst()); - for(;first != last; ++first, ++n){ - it = this->emplace(it, *first); - ++it; - } - it -= n; - return it; - } - - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - template - iterator insert(const_iterator p, FwdIt first, FwdIt last - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value - && !container_detail::is_input_iterator::value - >::type * = 0 - #endif - ) - { - container_detail::insert_range_proxy proxy(first); - return priv_insert_aux_impl(p, (size_type)std::distance(first, last), proxy); - } - #endif - - //! Effects: Removes the first element from the deque. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant time. - void pop_front() BOOST_CONTAINER_NOEXCEPT - { - if (this->members_.m_start.m_cur != this->members_.m_start.m_last - 1) { - allocator_traits_type::destroy - ( this->alloc() - , container_detail::to_raw_pointer(this->members_.m_start.m_cur) - ); - ++this->members_.m_start.m_cur; - } - else - this->priv_pop_front_aux(); - } - - //! Effects: Removes the last element from the deque. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant time. - void pop_back() BOOST_CONTAINER_NOEXCEPT - { - if (this->members_.m_finish.m_cur != this->members_.m_finish.m_first) { - --this->members_.m_finish.m_cur; - allocator_traits_type::destroy - ( this->alloc() - , container_detail::to_raw_pointer(this->members_.m_finish.m_cur) - ); - } - else - this->priv_pop_back_aux(); - } - - //! Effects: Erases the element at position pos. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the elements between pos and the - //! last element (if pos is near the end) or the first element - //! if(pos is near the beginning). - //! Constant if pos is the first or the last element. - iterator erase(const_iterator pos) BOOST_CONTAINER_NOEXCEPT - { - iterator next = pos.unconst(); - ++next; - size_type index = pos - this->members_.m_start; - if (index < (this->size()/2)) { - boost::move_backward(this->begin(), pos.unconst(), next); - pop_front(); - } - else { - boost::move(next, this->end(), pos.unconst()); - pop_back(); - } - return this->members_.m_start + index; - } - - //! Effects: Erases the elements pointed by [first, last). - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the distance between first and - //! last plus the elements between pos and the - //! last element (if pos is near the end) or the first element - //! if(pos is near the beginning). - iterator erase(const_iterator first, const_iterator last) BOOST_CONTAINER_NOEXCEPT - { - if (first == this->members_.m_start && last == this->members_.m_finish) { - this->clear(); - return this->members_.m_finish; - } - else { - const size_type n = static_cast(last - first); - const size_type elems_before = static_cast(first - this->members_.m_start); - if (elems_before < (this->size() - n) - elems_before) { - boost::move_backward(begin(), first.unconst(), last.unconst()); - iterator new_start = this->members_.m_start + n; - if(!Base::traits_t::trivial_dctr_after_move) - this->priv_destroy_range(this->members_.m_start, new_start); - this->priv_destroy_nodes(this->members_.m_start.m_node, new_start.m_node); - this->members_.m_start = new_start; - } - else { - boost::move(last.unconst(), end(), first.unconst()); - iterator new_finish = this->members_.m_finish - n; - if(!Base::traits_t::trivial_dctr_after_move) - this->priv_destroy_range(new_finish, this->members_.m_finish); - this->priv_destroy_nodes(new_finish.m_node + 1, this->members_.m_finish.m_node + 1); - this->members_.m_finish = new_finish; - } - return this->members_.m_start + elems_before; - } - } - - //! Effects: Swaps the contents of *this and x. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - void swap(deque &x) - { - this->swap_members(x); - container_detail::bool_ flag; - container_detail::swap_alloc(this->alloc(), x.alloc(), flag); - container_detail::swap_alloc(this->ptr_alloc(), x.ptr_alloc(), flag); - } - - //! Effects: Erases all the elements of the deque. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements in the deque. - void clear() BOOST_CONTAINER_NOEXCEPT - { - for (index_pointer node = this->members_.m_start.m_node + 1; - node < this->members_.m_finish.m_node; - ++node) { - this->priv_destroy_range(*node, *node + this->s_buffer_size()); - this->priv_deallocate_node(*node); - } - - if (this->members_.m_start.m_node != this->members_.m_finish.m_node) { - this->priv_destroy_range(this->members_.m_start.m_cur, this->members_.m_start.m_last); - this->priv_destroy_range(this->members_.m_finish.m_first, this->members_.m_finish.m_cur); - this->priv_deallocate_node(this->members_.m_finish.m_first); - } - else - this->priv_destroy_range(this->members_.m_start.m_cur, this->members_.m_finish.m_cur); - - this->members_.m_finish = this->members_.m_start; - } - - //! Effects: Returns true if x and y are equal - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator==(const deque& x, const deque& y) - { return x.size() == y.size() && std::equal(x.begin(), x.end(), y.begin()); } - - //! Effects: Returns true if x and y are unequal - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator!=(const deque& x, const deque& y) - { return !(x == y); } - - //! Effects: Returns true if x is less than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator<(const deque& x, const deque& y) - { return std::lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); } - - //! Effects: Returns true if x is greater than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator>(const deque& x, const deque& y) - { return y < x; } - - //! Effects: Returns true if x is equal or less than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator<=(const deque& x, const deque& y) - { return !(y < x); } - - //! Effects: Returns true if x is equal or greater than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator>=(const deque& x, const deque& y) - { return !(x < y); } - - //! Effects: x.swap(y) - //! - //! Complexity: Constant. - friend void swap(deque& x, deque& y) - { x.swap(y); } - - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - private: - - void priv_erase_last_n(size_type n) - { - if(n == this->size()) { - this->clear(); - } - else { - iterator new_finish = this->members_.m_finish - n; - if(!Base::traits_t::trivial_dctr_after_move) - this->priv_destroy_range(new_finish, this->members_.m_finish); - this->priv_destroy_nodes(new_finish.m_node + 1, this->members_.m_finish.m_node + 1); - this->members_.m_finish = new_finish; - } - } - - void priv_range_check(size_type n) const - { if (n >= this->size()) throw_out_of_range("deque::at out of range"); } - - template - iterator priv_insert(const_iterator position, BOOST_FWD_REF(U) x) - { - if (position == cbegin()){ - this->push_front(::boost::forward(x)); - return begin(); - } - else if (position == cend()){ - this->push_back(::boost::forward(x)); - return --end(); - } - else { - return priv_insert_aux_impl - ( position, (size_type)1 - , container_detail::get_insert_value_proxy(::boost::forward(x))); - } - } - - template - void priv_push_front(BOOST_FWD_REF(U) x) - { - if(this->priv_push_front_simple_available()){ - allocator_traits_type::construct - ( this->alloc(), this->priv_push_front_simple_pos(), ::boost::forward(x)); - this->priv_push_front_simple_commit(); - } - else{ - priv_insert_aux_impl - ( this->cbegin(), (size_type)1 - , container_detail::get_insert_value_proxy(::boost::forward(x))); - } - } - - template - void priv_push_back(BOOST_FWD_REF(U) x) - { - if(this->priv_push_back_simple_available()){ - allocator_traits_type::construct - ( this->alloc(), this->priv_push_back_simple_pos(), ::boost::forward(x)); - this->priv_push_back_simple_commit(); - } - else{ - priv_insert_aux_impl - ( this->cend(), (size_type)1 - , container_detail::get_insert_value_proxy(::boost::forward(x))); - } - } - - bool priv_push_back_simple_available() const - { - return this->members_.m_map && - (this->members_.m_finish.m_cur != (this->members_.m_finish.m_last - 1)); - } - - T *priv_push_back_simple_pos() const - { - return container_detail::to_raw_pointer(this->members_.m_finish.m_cur); - } - - void priv_push_back_simple_commit() - { - ++this->members_.m_finish.m_cur; - } - - bool priv_push_front_simple_available() const - { - return this->members_.m_map && - (this->members_.m_start.m_cur != this->members_.m_start.m_first); - } - - T *priv_push_front_simple_pos() const - { return container_detail::to_raw_pointer(this->members_.m_start.m_cur) - 1; } - - void priv_push_front_simple_commit() - { --this->members_.m_start.m_cur; } - - void priv_destroy_range(iterator p, iterator p2) - { - for(;p != p2; ++p){ - allocator_traits_type::destroy - ( this->alloc() - , container_detail::to_raw_pointer(container_detail::iterator_to_pointer(p)) - ); - } - } - - void priv_destroy_range(pointer p, pointer p2) - { - for(;p != p2; ++p){ - allocator_traits_type::destroy - ( this->alloc() - , container_detail::to_raw_pointer(container_detail::iterator_to_pointer(p)) - ); - } - } - - template - iterator priv_insert_aux_impl(const_iterator p, size_type n, InsertProxy proxy) - { - iterator pos(p.unconst()); - const size_type pos_n = p - this->cbegin(); - if(!this->members_.m_map){ - this->priv_initialize_map(0); - pos = this->begin(); - } - - const size_type elemsbefore = static_cast(pos - this->members_.m_start); - const size_type length = this->size(); - if (elemsbefore < length / 2) { - const iterator new_start = this->priv_reserve_elements_at_front(n); - const iterator old_start = this->members_.m_start; - if(!elemsbefore){ - proxy.uninitialized_copy_n_and_update(this->alloc(), new_start, n); - this->members_.m_start = new_start; - } - else{ - pos = this->members_.m_start + elemsbefore; - if (elemsbefore >= n) { - const iterator start_n = this->members_.m_start + n; - ::boost::container::uninitialized_move_alloc - (this->alloc(), this->members_.m_start, start_n, new_start); - this->members_.m_start = new_start; - boost::move(start_n, pos, old_start); - proxy.copy_n_and_update(this->alloc(), pos - n, n); - } - else { - const size_type mid_count = n - elemsbefore; - const iterator mid_start = old_start - mid_count; - proxy.uninitialized_copy_n_and_update(this->alloc(), mid_start, mid_count); - this->members_.m_start = mid_start; - ::boost::container::uninitialized_move_alloc - (this->alloc(), old_start, pos, new_start); - this->members_.m_start = new_start; - proxy.copy_n_and_update(this->alloc(), old_start, elemsbefore); - } - } - } - else { - const iterator new_finish = this->priv_reserve_elements_at_back(n); - const iterator old_finish = this->members_.m_finish; - const size_type elemsafter = length - elemsbefore; - if(!elemsafter){ - proxy.uninitialized_copy_n_and_update(this->alloc(), old_finish, n); - this->members_.m_finish = new_finish; - } - else{ - pos = old_finish - elemsafter; - if (elemsafter >= n) { - iterator finish_n = old_finish - difference_type(n); - ::boost::container::uninitialized_move_alloc - (this->alloc(), finish_n, old_finish, old_finish); - this->members_.m_finish = new_finish; - boost::move_backward(pos, finish_n, old_finish); - proxy.copy_n_and_update(this->alloc(), pos, n); - } - else { - const size_type raw_gap = n - elemsafter; - ::boost::container::uninitialized_move_alloc - (this->alloc(), pos, old_finish, old_finish + raw_gap); - BOOST_TRY{ - proxy.copy_n_and_update(this->alloc(), pos, elemsafter); - proxy.uninitialized_copy_n_and_update(this->alloc(), old_finish, raw_gap); - } - BOOST_CATCH(...){ - this->priv_destroy_range(old_finish, old_finish + elemsafter); - BOOST_RETHROW - } - BOOST_CATCH_END - this->members_.m_finish = new_finish; - } - } - } - return this->begin() + pos_n; - } - - template - iterator priv_insert_back_aux_impl(size_type n, InsertProxy proxy) - { - if(!this->members_.m_map){ - this->priv_initialize_map(0); - } - - iterator new_finish = this->priv_reserve_elements_at_back(n); - iterator old_finish = this->members_.m_finish; - proxy.uninitialized_copy_n_and_update(this->alloc(), old_finish, n); - this->members_.m_finish = new_finish; - return iterator(this->members_.m_finish - n); - } - - template - iterator priv_insert_front_aux_impl(size_type n, InsertProxy proxy) - { - if(!this->members_.m_map){ - this->priv_initialize_map(0); - } - - iterator new_start = this->priv_reserve_elements_at_front(n); - proxy.uninitialized_copy_n_and_update(this->alloc(), new_start, n); - this->members_.m_start = new_start; - return new_start; - } - - iterator priv_fill_insert(const_iterator pos, size_type n, const value_type& x) - { - typedef constant_iterator c_it; - return this->insert(pos, c_it(x, n), c_it()); - } - - // Precondition: this->members_.m_start and this->members_.m_finish have already been initialized, - // but none of the deque's elements have yet been constructed. - void priv_fill_initialize(const value_type& value) - { - index_pointer cur; - BOOST_TRY { - for (cur = this->members_.m_start.m_node; cur < this->members_.m_finish.m_node; ++cur){ - boost::container::uninitialized_fill_alloc - (this->alloc(), *cur, *cur + this->s_buffer_size(), value); - } - boost::container::uninitialized_fill_alloc - (this->alloc(), this->members_.m_finish.m_first, this->members_.m_finish.m_cur, value); - } - BOOST_CATCH(...){ - this->priv_destroy_range(this->members_.m_start, iterator(*cur, cur)); - BOOST_RETHROW - } - BOOST_CATCH_END - } - - template - void priv_range_initialize(InIt first, InIt last, std::input_iterator_tag) - { - this->priv_initialize_map(0); - BOOST_TRY { - for ( ; first != last; ++first) - this->emplace_back(*first); - } - BOOST_CATCH(...){ - this->clear(); - BOOST_RETHROW - } - BOOST_CATCH_END - } - - template - void priv_range_initialize(FwdIt first, FwdIt last, std::forward_iterator_tag) - { - size_type n = 0; - n = std::distance(first, last); - this->priv_initialize_map(n); - - index_pointer cur_node; - BOOST_TRY { - for (cur_node = this->members_.m_start.m_node; - cur_node < this->members_.m_finish.m_node; - ++cur_node) { - FwdIt mid = first; - std::advance(mid, this->s_buffer_size()); - ::boost::container::uninitialized_copy_alloc(this->alloc(), first, mid, *cur_node); - first = mid; - } - ::boost::container::uninitialized_copy_alloc(this->alloc(), first, last, this->members_.m_finish.m_first); - } - BOOST_CATCH(...){ - this->priv_destroy_range(this->members_.m_start, iterator(*cur_node, cur_node)); - BOOST_RETHROW - } - BOOST_CATCH_END - } - - // Called only if this->members_.m_finish.m_cur == this->members_.m_finish.m_first. - void priv_pop_back_aux() BOOST_CONTAINER_NOEXCEPT - { - this->priv_deallocate_node(this->members_.m_finish.m_first); - this->members_.m_finish.priv_set_node(this->members_.m_finish.m_node - 1); - this->members_.m_finish.m_cur = this->members_.m_finish.m_last - 1; - allocator_traits_type::destroy - ( this->alloc() - , container_detail::to_raw_pointer(this->members_.m_finish.m_cur) - ); - } - - // Called only if this->members_.m_start.m_cur == this->members_.m_start.m_last - 1. Note that - // if the deque has at least one element (a precondition for this member - // function), and if this->members_.m_start.m_cur == this->members_.m_start.m_last, then the deque - // must have at least two nodes. - void priv_pop_front_aux() BOOST_CONTAINER_NOEXCEPT - { - allocator_traits_type::destroy - ( this->alloc() - , container_detail::to_raw_pointer(this->members_.m_start.m_cur) - ); - this->priv_deallocate_node(this->members_.m_start.m_first); - this->members_.m_start.priv_set_node(this->members_.m_start.m_node + 1); - this->members_.m_start.m_cur = this->members_.m_start.m_first; - } - - iterator priv_reserve_elements_at_front(size_type n) - { - size_type vacancies = this->members_.m_start.m_cur - this->members_.m_start.m_first; - if (n > vacancies){ - size_type new_elems = n-vacancies; - size_type new_nodes = (new_elems + this->s_buffer_size() - 1) / - this->s_buffer_size(); - size_type s = (size_type)(this->members_.m_start.m_node - this->members_.m_map); - if (new_nodes > s){ - this->priv_reallocate_map(new_nodes, true); - } - size_type i = 1; - BOOST_TRY { - for (; i <= new_nodes; ++i) - *(this->members_.m_start.m_node - i) = this->priv_allocate_node(); - } - BOOST_CATCH(...) { - for (size_type j = 1; j < i; ++j) - this->priv_deallocate_node(*(this->members_.m_start.m_node - j)); - BOOST_RETHROW - } - BOOST_CATCH_END - } - return this->members_.m_start - difference_type(n); - } - - iterator priv_reserve_elements_at_back(size_type n) - { - size_type vacancies = (this->members_.m_finish.m_last - this->members_.m_finish.m_cur) - 1; - if (n > vacancies){ - size_type new_elems = n - vacancies; - size_type new_nodes = (new_elems + this->s_buffer_size() - 1)/s_buffer_size(); - size_type s = (size_type)(this->members_.m_map_size - (this->members_.m_finish.m_node - this->members_.m_map)); - if (new_nodes + 1 > s){ - this->priv_reallocate_map(new_nodes, false); - } - size_type i; - BOOST_TRY { - for (i = 1; i <= new_nodes; ++i) - *(this->members_.m_finish.m_node + i) = this->priv_allocate_node(); - } - BOOST_CATCH(...) { - for (size_type j = 1; j < i; ++j) - this->priv_deallocate_node(*(this->members_.m_finish.m_node + j)); - BOOST_RETHROW - } - BOOST_CATCH_END - } - return this->members_.m_finish + difference_type(n); - } - - void priv_reallocate_map(size_type nodes_to_add, bool add_at_front) - { - size_type old_num_nodes = this->members_.m_finish.m_node - this->members_.m_start.m_node + 1; - size_type new_num_nodes = old_num_nodes + nodes_to_add; - - index_pointer new_nstart; - if (this->members_.m_map_size > 2 * new_num_nodes) { - new_nstart = this->members_.m_map + (this->members_.m_map_size - new_num_nodes) / 2 - + (add_at_front ? nodes_to_add : 0); - if (new_nstart < this->members_.m_start.m_node) - boost::move(this->members_.m_start.m_node, this->members_.m_finish.m_node + 1, new_nstart); - else - boost::move_backward - (this->members_.m_start.m_node, this->members_.m_finish.m_node + 1, new_nstart + old_num_nodes); - } - else { - size_type new_map_size = - this->members_.m_map_size + container_detail::max_value(this->members_.m_map_size, nodes_to_add) + 2; - - index_pointer new_map = this->priv_allocate_map(new_map_size); - new_nstart = new_map + (new_map_size - new_num_nodes) / 2 - + (add_at_front ? nodes_to_add : 0); - boost::move(this->members_.m_start.m_node, this->members_.m_finish.m_node + 1, new_nstart); - this->priv_deallocate_map(this->members_.m_map, this->members_.m_map_size); - - this->members_.m_map = new_map; - this->members_.m_map_size = new_map_size; - } - - this->members_.m_start.priv_set_node(new_nstart); - this->members_.m_finish.priv_set_node(new_nstart + old_num_nodes - 1); - } - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED -}; - -}} - -#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -namespace boost { - -//!has_trivial_destructor_after_move<> == true_type -//!specialization for optimizations -template -struct has_trivial_destructor_after_move > - : public ::boost::has_trivial_destructor_after_move -{}; - -} - -#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -#include - -#endif // #ifndef BOOST_CONTAINER_DEQUE_HPP diff --git a/bundled/boost-1.56.0/include/boost/container/detail/advanced_insert_int.hpp b/bundled/boost-1.56.0/include/boost/container/detail/advanced_insert_int.hpp deleted file mode 100644 index b9eb074fdd..0000000000 --- a/bundled/boost-1.56.0/include/boost/container/detail/advanced_insert_int.hpp +++ /dev/null @@ -1,356 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2008-2013. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/container for documentation. -// -////////////////////////////////////////////////////////////////////////////// - -#ifndef BOOST_CONTAINER_ADVANCED_INSERT_INT_HPP -#define BOOST_CONTAINER_ADVANCED_INSERT_INT_HPP - -#if defined(_MSC_VER) -# pragma once -#endif - -#include -#include - -#include -#include -#include -#include -#include //std::iterator_traits -#include -#include - -namespace boost { namespace container { namespace container_detail { - -template -struct move_insert_range_proxy -{ - typedef typename allocator_traits::size_type size_type; - typedef typename allocator_traits::value_type value_type; - - explicit move_insert_range_proxy(FwdIt first) - : first_(first) - {} - - void uninitialized_copy_n_and_update(A &a, Iterator p, size_type n) - { - this->first_ = ::boost::container::uninitialized_move_alloc_n_source - (a, this->first_, n, p); - } - - void copy_n_and_update(A &, Iterator p, size_type n) - { - this->first_ = ::boost::container::move_n_source(this->first_, n, p); - } - - FwdIt first_; -}; - - -template -struct insert_range_proxy -{ - typedef typename allocator_traits::size_type size_type; - typedef typename allocator_traits::value_type value_type; - - explicit insert_range_proxy(FwdIt first) - : first_(first) - {} - - void uninitialized_copy_n_and_update(A &a, Iterator p, size_type n) - { - this->first_ = ::boost::container::uninitialized_copy_alloc_n_source(a, this->first_, n, p); - } - - void copy_n_and_update(A &, Iterator p, size_type n) - { - this->first_ = ::boost::container::copy_n_source(this->first_, n, p); - } - - FwdIt first_; -}; - - -template -struct insert_n_copies_proxy -{ - typedef typename allocator_traits::size_type size_type; - typedef typename allocator_traits::value_type value_type; - - explicit insert_n_copies_proxy(const value_type &v) - : v_(v) - {} - - void uninitialized_copy_n_and_update(A &a, Iterator p, size_type n) const - { boost::container::uninitialized_fill_alloc_n(a, v_, n, p); } - - void copy_n_and_update(A &, Iterator p, size_type n) const - { std::fill_n(p, n, v_); } - - const value_type &v_; -}; - -template -struct insert_value_initialized_n_proxy -{ - typedef ::boost::container::allocator_traits alloc_traits; - typedef typename allocator_traits::size_type size_type; - typedef typename allocator_traits::value_type value_type; - - void uninitialized_copy_n_and_update(A &a, Iterator p, size_type n) const - { boost::container::uninitialized_value_init_alloc_n(a, n, p); } - - void copy_n_and_update(A &, Iterator, size_type) const - { BOOST_ASSERT(false); } -}; - -template -struct insert_default_initialized_n_proxy -{ - typedef ::boost::container::allocator_traits alloc_traits; - typedef typename allocator_traits::size_type size_type; - typedef typename allocator_traits::value_type value_type; - - void uninitialized_copy_n_and_update(A &a, Iterator p, size_type n) const - { boost::container::uninitialized_default_init_alloc_n(a, n, p); } - - void copy_n_and_update(A &, Iterator, size_type) const - { BOOST_ASSERT(false); } -}; - -template -struct insert_copy_proxy -{ - typedef boost::container::allocator_traits alloc_traits; - typedef typename alloc_traits::size_type size_type; - typedef typename alloc_traits::value_type value_type; - - explicit insert_copy_proxy(const value_type &v) - : v_(v) - {} - - void uninitialized_copy_n_and_update(A &a, Iterator p, size_type n) const - { - BOOST_ASSERT(n == 1); (void)n; - alloc_traits::construct( a, iterator_to_raw_pointer(p), v_); - } - - void copy_n_and_update(A &, Iterator p, size_type n) const - { - BOOST_ASSERT(n == 1); (void)n; - *p =v_; - } - - const value_type &v_; -}; - - -template -struct insert_move_proxy -{ - typedef boost::container::allocator_traits alloc_traits; - typedef typename alloc_traits::size_type size_type; - typedef typename alloc_traits::value_type value_type; - - explicit insert_move_proxy(value_type &v) - : v_(v) - {} - - void uninitialized_copy_n_and_update(A &a, Iterator p, size_type n) const - { - BOOST_ASSERT(n == 1); (void)n; - alloc_traits::construct( a, iterator_to_raw_pointer(p), ::boost::move(v_) ); - } - - void copy_n_and_update(A &, Iterator p, size_type n) const - { - BOOST_ASSERT(n == 1); (void)n; - *p = ::boost::move(v_); - } - - value_type &v_; -}; - -template -insert_move_proxy get_insert_value_proxy(BOOST_RV_REF(typename std::iterator_traits::value_type) v) -{ - return insert_move_proxy(v); -} - -template -insert_copy_proxy get_insert_value_proxy(const typename std::iterator_traits::value_type &v) -{ - return insert_copy_proxy(v); -} - -}}} //namespace boost { namespace container { namespace container_detail { - -#ifdef BOOST_CONTAINER_PERFECT_FORWARDING - -#include -#include -#include -//#include //For debugging purposes - -namespace boost { -namespace container { -namespace container_detail { - -template -struct insert_non_movable_emplace_proxy -{ - typedef boost::container::allocator_traits alloc_traits; - typedef typename alloc_traits::size_type size_type; - typedef typename alloc_traits::value_type value_type; - - typedef typename build_number_seq::type index_tuple_t; - - explicit insert_non_movable_emplace_proxy(Args&&... args) - : args_(args...) - {} - - void uninitialized_copy_n_and_update(A &a, Iterator p, size_type n) - { this->priv_uninitialized_copy_some_and_update(a, index_tuple_t(), p, n); } - - private: - template - void priv_uninitialized_copy_some_and_update(A &a, const index_tuple&, Iterator p, size_type n) - { - BOOST_ASSERT(n == 1); (void)n; - alloc_traits::construct( a, iterator_to_raw_pointer(p), ::boost::forward(get(this->args_))... ); - } - - protected: - tuple args_; -}; - -template -struct insert_emplace_proxy - : public insert_non_movable_emplace_proxy -{ - typedef insert_non_movable_emplace_proxy base_t; - typedef boost::container::allocator_traits alloc_traits; - typedef typename base_t::value_type value_type; - typedef typename base_t::size_type size_type; - typedef typename base_t::index_tuple_t index_tuple_t; - - explicit insert_emplace_proxy(Args&&... args) - : base_t(::boost::forward(args)...) - {} - - void copy_n_and_update(A &a, Iterator p, size_type n) - { this->priv_copy_some_and_update(a, index_tuple_t(), p, n); } - - private: - - template - void priv_copy_some_and_update(A &a, const index_tuple&, Iterator p, size_type n) - { - BOOST_ASSERT(n ==1); (void)n; - aligned_storage::value> v; - value_type *vp = static_cast(static_cast(&v)); - alloc_traits::construct(a, vp, - ::boost::forward(get(this->args_))...); - BOOST_TRY{ - *p = ::boost::move(*vp); - } - BOOST_CATCH(...){ - alloc_traits::destroy(a, vp); - BOOST_RETHROW - } - BOOST_CATCH_END - alloc_traits::destroy(a, vp); - } -}; - -}}} //namespace boost { namespace container { namespace container_detail { - -#else //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING - -#include -#include - -namespace boost { -namespace container { -namespace container_detail { - -#define BOOST_PP_LOCAL_MACRO(N) \ -template \ -struct BOOST_PP_CAT(insert_non_movable_emplace_proxy_arg, N) \ -{ \ - typedef boost::container::allocator_traits alloc_traits; \ - typedef typename alloc_traits::size_type size_type; \ - typedef typename alloc_traits::value_type value_type; \ - \ - explicit BOOST_PP_CAT(insert_non_movable_emplace_proxy_arg, N) \ - ( BOOST_PP_ENUM(N, BOOST_CONTAINER_PP_PARAM_LIST, _) ) \ - BOOST_PP_EXPR_IF(N, :) BOOST_PP_ENUM(N, BOOST_CONTAINER_PP_PARAM_INIT, _) \ - {} \ - \ - void uninitialized_copy_n_and_update(A &a, Iterator p, size_type n) \ - { \ - BOOST_ASSERT(n == 1); (void)n; \ - alloc_traits::construct \ - ( a, iterator_to_raw_pointer(p) \ - BOOST_PP_ENUM_TRAILING(N, BOOST_CONTAINER_PP_MEMBER_FORWARD, _) \ - ); \ - } \ - \ - void copy_n_and_update(A &, Iterator, size_type) \ - { BOOST_ASSERT(false); } \ - \ - protected: \ - BOOST_PP_REPEAT(N, BOOST_CONTAINER_PP_PARAM_DEFINE, _) \ -}; \ - \ -template \ -struct BOOST_PP_CAT(insert_emplace_proxy_arg, N) \ - : BOOST_PP_CAT(insert_non_movable_emplace_proxy_arg, N) \ - < A, Iterator BOOST_PP_ENUM_TRAILING_PARAMS(N, P) > \ -{ \ - typedef BOOST_PP_CAT(insert_non_movable_emplace_proxy_arg, N) \ - base_t; \ - typedef typename base_t::value_type value_type; \ - typedef typename base_t::size_type size_type; \ - typedef boost::container::allocator_traits alloc_traits; \ - \ - explicit BOOST_PP_CAT(insert_emplace_proxy_arg, N) \ - ( BOOST_PP_ENUM(N, BOOST_CONTAINER_PP_PARAM_LIST, _) ) \ - : base_t(BOOST_PP_ENUM(N, BOOST_CONTAINER_PP_PARAM_FORWARD, _) ) \ - {} \ - \ - void copy_n_and_update(A &a, Iterator p, size_type n) \ - { \ - BOOST_ASSERT(n == 1); (void)n; \ - aligned_storage::value> v; \ - value_type *vp = static_cast(static_cast(&v)); \ - alloc_traits::construct(a, vp \ - BOOST_PP_ENUM_TRAILING(N, BOOST_CONTAINER_PP_MEMBER_FORWARD, _)); \ - BOOST_TRY{ \ - *p = ::boost::move(*vp); \ - } \ - BOOST_CATCH(...){ \ - alloc_traits::destroy(a, vp); \ - BOOST_RETHROW \ - } \ - BOOST_CATCH_END \ - alloc_traits::destroy(a, vp); \ - } \ -}; \ -//! -#define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) -#include BOOST_PP_LOCAL_ITERATE() - -}}} //namespace boost { namespace container { namespace container_detail { - -#endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING - -#include - -#endif //#ifndef BOOST_CONTAINER_ADVANCED_INSERT_INT_HPP diff --git a/bundled/boost-1.56.0/include/boost/container/detail/auto_link.hpp b/bundled/boost-1.56.0/include/boost/container/detail/auto_link.hpp deleted file mode 100644 index 2e4733363d..0000000000 --- a/bundled/boost-1.56.0/include/boost/container/detail/auto_link.hpp +++ /dev/null @@ -1,38 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2007-2013. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/container for documentation. -// -////////////////////////////////////////////////////////////////////////////// -#ifndef BOOST_CONTAINER_DETAIL_AUTO_LINK_HPP_INCLUDED -#define BOOST_CONTAINER_DETAIL_AUTO_LINK_HPP_INCLUDED - -#if defined(_MSC_VER) -# pragma once -#endif - -// -// Automatically link to the correct build variant where possible. -// -#if !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_CONTAINER_NO_LIB) && !defined(BOOST_CONTAINER_SOURCE) -// -// Set the name of our library, this will get undef'ed by auto_link.hpp -// once it's done with it: -// -#define BOOST_LIB_NAME boost_container -// -// If we're importing code from a dll, then tell auto_link.hpp about it: -// -#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_CONTAINER_DYN_LINK) -# define BOOST_DYN_LINK -#endif -// -// And include the header that does the work: -// -#include -#endif // auto-linking disabled - -#endif //#ifndef BOOST_CONTAINER_DETAIL_AUTO_LINK_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/container/detail/config_begin.hpp b/bundled/boost-1.56.0/include/boost/container/detail/config_begin.hpp deleted file mode 100644 index 6c54befcc7..0000000000 --- a/bundled/boost-1.56.0/include/boost/container/detail/config_begin.hpp +++ /dev/null @@ -1,54 +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_CONTAINER_DETAIL_CONFIG_INCLUDED -#define BOOST_CONTAINER_CONTAINER_DETAIL_CONFIG_INCLUDED -#include - -#endif //BOOST_CONTAINER_CONTAINER_DETAIL_CONFIG_INCLUDED - -#ifdef BOOST_MSVC - #ifndef _CRT_SECURE_NO_DEPRECATE - #define BOOST_CONTAINER_DETAIL_CRT_SECURE_NO_DEPRECATE - #define _CRT_SECURE_NO_DEPRECATE - #endif - #ifndef _SCL_SECURE_NO_WARNINGS - #define BOOST_CONTAINER_DETAIL_SCL_SECURE_NO_WARNINGS - #define _SCL_SECURE_NO_WARNINGS - #endif - #pragma warning (push) - #pragma warning (disable : 4702) // unreachable code - #pragma warning (disable : 4706) // assignment within conditional expression - #pragma warning (disable : 4127) // conditional expression is constant - #pragma warning (disable : 4146) // unary minus operator applied to unsigned type, result still unsigned - #pragma warning (disable : 4284) // odd return type for operator-> - #pragma warning (disable : 4244) // possible loss of data - #pragma warning (disable : 4251) // "identifier" : class "type" needs to have dll-interface to be used by clients of class "type2" - #pragma warning (disable : 4267) // conversion from "X" to "Y", possible loss of data - #pragma warning (disable : 4275) // non DLL-interface classkey "identifier" used as base for DLL-interface classkey "identifier" - #pragma warning (disable : 4355) // "this" : used in base member initializer list - #pragma warning (disable : 4503) // "identifier" : decorated name length exceeded, name was truncated - #pragma warning (disable : 4511) // copy constructor could not be generated - #pragma warning (disable : 4512) // assignment operator could not be generated - #pragma warning (disable : 4514) // unreferenced inline removed - #pragma warning (disable : 4521) // Disable "multiple copy constructors specified" - #pragma warning (disable : 4522) // "class" : multiple assignment operators specified - #pragma warning (disable : 4675) // "method" should be declared "static" and have exactly one parameter - #pragma warning (disable : 4710) // function not inlined - #pragma warning (disable : 4711) // function selected for automatic inline expansion - #pragma warning (disable : 4786) // identifier truncated in debug info - #pragma warning (disable : 4996) // "function": was declared deprecated - #pragma warning (disable : 4197) // top-level volatile in cast is ignored - #pragma warning (disable : 4541) // 'typeid' used on polymorphic type 'boost::exception' - // with /GR-; unpredictable behavior may result - #pragma warning (disable : 4673) // throwing '' the following types will not be considered at the catch site - #pragma warning (disable : 4671) // the copy constructor is inaccessible - #pragma warning (disable : 4584) // X is already a base-class of Y - #pragma warning (disable : 4510) // default constructor could not be generated -#endif //BOOST_MSVC diff --git a/bundled/boost-1.56.0/include/boost/container/detail/config_end.hpp b/bundled/boost-1.56.0/include/boost/container/detail/config_end.hpp deleted file mode 100644 index 7217019b85..0000000000 --- a/bundled/boost-1.56.0/include/boost/container/detail/config_end.hpp +++ /dev/null @@ -1,21 +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. -// -////////////////////////////////////////////////////////////////////////////// -#if defined BOOST_MSVC - #pragma warning (pop) - #ifdef BOOST_CONTAINER_DETAIL_CRT_SECURE_NO_DEPRECATE - #undef BOOST_CONTAINER_DETAIL_CRT_SECURE_NO_DEPRECATE - #undef _CRT_SECURE_NO_DEPRECATE - #endif - #ifdef BOOST_CONTAINER_DETAIL_SCL_SECURE_NO_WARNINGS - #undef BOOST_CONTAINER_DETAIL_SCL_SECURE_NO_WARNINGS - #undef _SCL_SECURE_NO_WARNINGS - #endif -#endif - diff --git a/bundled/boost-1.56.0/include/boost/container/detail/flat_tree.hpp b/bundled/boost-1.56.0/include/boost/container/detail/flat_tree.hpp deleted file mode 100644 index 7ccf33ca9d..0000000000 --- a/bundled/boost-1.56.0/include/boost/container/detail/flat_tree.hpp +++ /dev/null @@ -1,1045 +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_TREE_HPP -#define BOOST_CONTAINER_FLAT_TREE_HPP - -#if defined(_MSC_VER) -# pragma once -#endif - -#include -#include - -#include - -#include -#include -#include - -#include -#include - -#include -#include -#include -#include -#include -#include -#ifdef BOOST_CONTAINER_VECTOR_ITERATOR_IS_POINTER -#include -#endif -#include - -namespace boost { - -namespace container { - -namespace container_detail { - -template -class flat_tree_value_compare - : private Compare -{ - typedef Value first_argument_type; - typedef Value second_argument_type; - typedef bool return_type; - public: - flat_tree_value_compare() - : Compare() - {} - - flat_tree_value_compare(const Compare &pred) - : Compare(pred) - {} - - bool operator()(const Value& lhs, const Value& rhs) const - { - KeyOfValue key_extract; - return Compare::operator()(key_extract(lhs), key_extract(rhs)); - } - - const Compare &get_comp() const - { return *this; } - - Compare &get_comp() - { return *this; } -}; - -template -struct get_flat_tree_iterators -{ - #ifdef BOOST_CONTAINER_VECTOR_ITERATOR_IS_POINTER - typedef Pointer iterator; - typedef typename boost::intrusive:: - pointer_traits::element_type iterator_element_type; - typedef typename boost::intrusive:: - pointer_traits:: template - rebind_pointer::type const_iterator; - #else //BOOST_CONTAINER_VECTOR_ITERATOR_IS_POINTER - typedef typename container_detail:: - vec_iterator iterator; - typedef typename container_detail:: - vec_iterator const_iterator; - #endif //BOOST_CONTAINER_VECTOR_ITERATOR_IS_POINTER - typedef std::reverse_iterator reverse_iterator; - typedef std::reverse_iterator const_reverse_iterator; -}; - -template -class flat_tree -{ - typedef boost::container::vector vector_t; - typedef A allocator_t; - - public: - typedef flat_tree_value_compare value_compare; - - private: - struct Data - //Inherit from value_compare to do EBO - : public value_compare - { - BOOST_COPYABLE_AND_MOVABLE(Data) - - public: - Data() - : value_compare(), m_vect() - {} - - explicit Data(const Data &d) - : value_compare(static_cast(d)), m_vect(d.m_vect) - {} - - Data(BOOST_RV_REF(Data) d) - : value_compare(boost::move(static_cast(d))), m_vect(boost::move(d.m_vect)) - {} - - Data(const Data &d, const A &a) - : value_compare(static_cast(d)), m_vect(d.m_vect, a) - {} - - Data(BOOST_RV_REF(Data) d, const A &a) - : value_compare(boost::move(static_cast(d))), m_vect(boost::move(d.m_vect), a) - {} - - explicit Data(const Compare &comp) - : value_compare(comp), m_vect() - {} - - Data(const Compare &comp, const allocator_t &alloc) - : value_compare(comp), m_vect(alloc) - {} - - explicit Data(const allocator_t &alloc) - : value_compare(), m_vect(alloc) - {} - - Data& operator=(BOOST_COPY_ASSIGN_REF(Data) d) - { - this->value_compare::operator=(d); - m_vect = d.m_vect; - return *this; - } - - Data& operator=(BOOST_RV_REF(Data) d) - { - this->value_compare::operator=(boost::move(static_cast(d))); - m_vect = boost::move(d.m_vect); - return *this; - } - - void swap(Data &d) - { - value_compare& mycomp = *this, & othercomp = d; - boost::container::swap_dispatch(mycomp, othercomp); - this->m_vect.swap(d.m_vect); - } - - vector_t m_vect; - }; - - Data m_data; - BOOST_COPYABLE_AND_MOVABLE(flat_tree) - - public: - - typedef typename vector_t::value_type value_type; - typedef typename vector_t::pointer pointer; - typedef typename vector_t::const_pointer const_pointer; - typedef typename vector_t::reference reference; - typedef typename vector_t::const_reference const_reference; - typedef Key key_type; - typedef Compare key_compare; - typedef typename vector_t::allocator_type allocator_type; - typedef typename vector_t::size_type size_type; - typedef typename vector_t::difference_type difference_type; - typedef typename vector_t::iterator iterator; - typedef typename vector_t::const_iterator const_iterator; - typedef typename vector_t::reverse_iterator reverse_iterator; - typedef typename vector_t::const_reverse_iterator const_reverse_iterator; - - //!Standard extension - typedef allocator_type stored_allocator_type; - - private: - typedef allocator_traits stored_allocator_traits; - - public: - flat_tree() - : m_data() - { } - - explicit flat_tree(const Compare& comp) - : m_data(comp) - { } - - flat_tree(const Compare& comp, const allocator_type& a) - : m_data(comp, a) - { } - - explicit flat_tree(const allocator_type& a) - : m_data(a) - { } - - flat_tree(const flat_tree& x) - : m_data(x.m_data) - { } - - flat_tree(BOOST_RV_REF(flat_tree) x) - : m_data(boost::move(x.m_data)) - { } - - flat_tree(const flat_tree& x, const allocator_type &a) - : m_data(x.m_data, a) - { } - - flat_tree(BOOST_RV_REF(flat_tree) x, const allocator_type &a) - : m_data(boost::move(x.m_data), a) - { } - - template - flat_tree( ordered_range_t, InputIterator first, InputIterator last - , const Compare& comp = Compare() - , const allocator_type& a = allocator_type()) - : m_data(comp, a) - { this->m_data.m_vect.insert(this->m_data.m_vect.end(), first, last); } - - template - flat_tree( bool unique_insertion - , InputIterator first, InputIterator last - , const Compare& comp = Compare() - , const allocator_type& a = allocator_type()) - : m_data(comp, a) - { - //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){ - for ( ; first != last; ++first){ - this->insert_unique(this->cend(), *first); - } - } - else{ - for ( ; first != last; ++first){ - this->insert_equal(this->cend(), *first); - } - } - } - - ~flat_tree() - {} - - flat_tree& operator=(BOOST_COPY_ASSIGN_REF(flat_tree) x) - { m_data = x.m_data; return *this; } - - flat_tree& operator=(BOOST_RV_REF(flat_tree) mx) - { m_data = boost::move(mx.m_data); return *this; } - - public: - // accessors: - Compare key_comp() const - { return this->m_data.get_comp(); } - - value_compare value_comp() const - { return this->m_data; } - - allocator_type get_allocator() const - { return this->m_data.m_vect.get_allocator(); } - - const stored_allocator_type &get_stored_allocator() const - { return this->m_data.m_vect.get_stored_allocator(); } - - stored_allocator_type &get_stored_allocator() - { return this->m_data.m_vect.get_stored_allocator(); } - - iterator begin() - { return this->m_data.m_vect.begin(); } - - const_iterator begin() const - { return this->cbegin(); } - - const_iterator cbegin() const - { return this->m_data.m_vect.begin(); } - - iterator end() - { return this->m_data.m_vect.end(); } - - const_iterator end() const - { return this->cend(); } - - const_iterator cend() const - { return this->m_data.m_vect.end(); } - - reverse_iterator rbegin() - { return reverse_iterator(this->end()); } - - const_reverse_iterator rbegin() const - { return this->crbegin(); } - - const_reverse_iterator crbegin() const - { return const_reverse_iterator(this->cend()); } - - reverse_iterator rend() - { return reverse_iterator(this->begin()); } - - const_reverse_iterator rend() const - { return this->crend(); } - - const_reverse_iterator crend() const - { return const_reverse_iterator(this->cbegin()); } - - bool empty() const - { return this->m_data.m_vect.empty(); } - - size_type size() const - { return this->m_data.m_vect.size(); } - - size_type max_size() const - { return this->m_data.m_vect.max_size(); } - - void swap(flat_tree& other) - { this->m_data.swap(other.m_data); } - - public: - // insert/erase - std::pair insert_unique(const value_type& val) - { - std::pair ret; - insert_commit_data data; - ret.second = this->priv_insert_unique_prepare(val, data); - ret.first = ret.second ? this->priv_insert_commit(data, val) - : iterator(vector_iterator_get_ptr(data.position)); - return ret; - } - - std::pair insert_unique(BOOST_RV_REF(value_type) val) - { - std::pair ret; - insert_commit_data data; - ret.second = this->priv_insert_unique_prepare(val, data); - ret.first = ret.second ? this->priv_insert_commit(data, boost::move(val)) - : 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_vect.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_vect.insert(i, boost::move(mval)); - return i; - } - - iterator insert_unique(const_iterator pos, const value_type& val) - { - std::pair ret; - insert_commit_data data; - return this->priv_insert_unique_prepare(pos, val, data) - ? this->priv_insert_commit(data, val) - : iterator(vector_iterator_get_ptr(data.position)); - } - - iterator insert_unique(const_iterator pos, BOOST_RV_REF(value_type) val) - { - std::pair ret; - insert_commit_data data; - return this->priv_insert_unique_prepare(pos, val, data) - ? this->priv_insert_commit(data, boost::move(val)) - : iterator(vector_iterator_get_ptr(data.position)); - } - - iterator insert_equal(const_iterator pos, const value_type& val) - { - insert_commit_data data; - this->priv_insert_equal_prepare(pos, val, data); - return this->priv_insert_commit(data, val); - } - - iterator insert_equal(const_iterator pos, BOOST_RV_REF(value_type) mval) - { - insert_commit_data data; - this->priv_insert_equal_prepare(pos, mval, data); - return this->priv_insert_commit(data, boost::move(mval)); - } - - template - void insert_unique(InIt first, InIt last) - { - for ( ; first != last; ++first){ - this->insert_unique(*first); - } - } - - template - void insert_equal(InIt first, InIt last - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < container_detail::is_input_iterator::value - >::type * = 0 - #endif - ) - { this->priv_insert_equal_loop(first, last); } - - template - void insert_equal(InIt first, InIt last - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < !container_detail::is_input_iterator::value - >::type * = 0 - #endif - ) - { - const size_type len = static_cast(std::distance(first, last)); - this->reserve(this->size()+len); - this->priv_insert_equal_loop(first, last); - } - - //Ordered - - template - void insert_equal(ordered_range_t, InIt first, InIt last - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < container_detail::is_input_iterator::value - >::type * = 0 - #endif - ) - { this->priv_insert_equal_loop_ordered(first, last); } - - template - void insert_equal(ordered_range_t, FwdIt first, FwdIt last - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < !container_detail::is_input_iterator::value && - container_detail::is_forward_iterator::value - >::type * = 0 - #endif - ) - { - const size_type len = static_cast(std::distance(first, last)); - this->reserve(this->size()+len); - this->priv_insert_equal_loop_ordered(first, last); - } - - template - void insert_equal(ordered_range_t, BidirIt first, BidirIt last - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < !container_detail::is_input_iterator::value && - !container_detail::is_forward_iterator::value - >::type * = 0 - #endif - ) - { - size_type len = static_cast(std::distance(first, last)); - const size_type BurstSize = 16; - size_type positions[BurstSize]; - - //Prereserve all memory so that iterators are not invalidated - this->reserve(this->size()+len); - const const_iterator b(this->cbegin()); - const_iterator pos(b); - //Loop in burst sizes - bool back_insert = false; - while(len && !back_insert){ - size_type burst = len < BurstSize ? len : BurstSize; - const const_iterator ce(this->cend()); - for(size_type i = 0; i != burst; ++i){ - //Get the insertion position for each key, use std::iterator_traits::value_type - //because it can be different from container::value_type - //(e.g. conversion between std::pair -> boost::container::pair - const typename std::iterator_traits::value_type & val = *first; - pos = const_cast(*this).priv_upper_bound(pos, ce, KeyOfValue()(val)); - if(pos == this->cend()){ //this element and the remaining should be back inserted - burst = i; - back_insert = true; - break; - } - else{ - positions[i] = static_cast(pos - b); - ++first; - --len; - } - } - //Insert all in a single step in the precalculated positions - this->m_data.m_vect.insert_ordered_at(burst, positions + burst, first); - //Next search position updated, iterator still valid because we've preserved the vector - pos += burst; - } - if(first != last){ - //The remaining range should be back inserted - this->m_data.m_vect.insert(this->m_data.m_vect.cend(), len, first, last); - } - } - - template - void insert_unique(ordered_unique_range_t, InIt first, InIt last - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < container_detail::is_input_iterator::value || - container_detail::is_forward_iterator::value - >::type * = 0 - #endif - ) - { - const_iterator pos(this->cend()); - for ( ; first != last; ++first){ - pos = this->insert_unique(pos, *first); - ++pos; - } - } - - template - void insert_unique(ordered_unique_range_t, BidirIt first, BidirIt last - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < !(container_detail::is_input_iterator::value || - container_detail::is_forward_iterator::value) - >::type * = 0 - #endif - ) - { - size_type len = static_cast(std::distance(first, last)); - const size_type BurstSize = 16; - size_type positions[BurstSize]; - size_type skips[BurstSize]; - - //Prereserve all memory so that iterators are not invalidated - this->reserve(this->size()+len); - const const_iterator b(this->cbegin()); - const_iterator pos(b); - const value_compare &val_cmp = this->m_data; - skips[0u] = 0u; - //Loop in burst sizes - bool back_insert = false; - while(len && !back_insert){ - const size_type burst = len < BurstSize ? len : BurstSize; - size_type unique_burst = 0u; - const const_iterator ce(this->cend()); - while(unique_burst < burst && len > 0){ - //Get the insertion position for each key, use std::iterator_traits::value_type - //because it can be different from container::value_type - //(e.g. conversion between std::pair -> boost::container::pair - const typename std::iterator_traits::value_type & val = *first; - pos = const_cast(*this).priv_lower_bound(pos, ce, KeyOfValue()(val)); - //Check if already present - if (pos != ce){ - ++first; - --len; - if(!val_cmp(val, *pos)){ - if(unique_burst > 0){ - ++skips[unique_burst-1]; - } - continue; - } - //If not present, calculate position - positions[unique_burst] = static_cast(pos - b); - skips[unique_burst++] = 0u; - } - else{ //this element and the remaining should be back inserted - back_insert = true; - break; - } - } - if(unique_burst){ - //Insert all in a single step in the precalculated positions - this->m_data.m_vect.insert_ordered_at(unique_burst, positions + unique_burst, skips + unique_burst, first); - //Next search position updated, iterator still valid because we've preserved the vector - pos += unique_burst; - } - } - if(first != last){ - //The remaining range should be back inserted - this->m_data.m_vect.insert(this->m_data.m_vect.cend(), len, first, last); - } - } - - #ifdef BOOST_CONTAINER_PERFECT_FORWARDING - - template - std::pair emplace_unique(Args&&... args) - { - aligned_storage::value> v; - value_type &val = *static_cast(static_cast(&v)); - stored_allocator_type &a = this->get_stored_allocator(); - stored_allocator_traits::construct(a, &val, ::boost::forward(args)... ); - value_destructor d(a, val); - return this->insert_unique(::boost::move(val)); - } - - template - iterator emplace_hint_unique(const_iterator hint, Args&&... args) - { - aligned_storage::value> v; - value_type &val = *static_cast(static_cast(&v)); - stored_allocator_type &a = this->get_stored_allocator(); - stored_allocator_traits::construct(a, &val, ::boost::forward(args)... ); - value_destructor d(a, val); - return this->insert_unique(hint, ::boost::move(val)); - } - - template - iterator emplace_equal(Args&&... args) - { - aligned_storage::value> v; - value_type &val = *static_cast(static_cast(&v)); - stored_allocator_type &a = this->get_stored_allocator(); - stored_allocator_traits::construct(a, &val, ::boost::forward(args)... ); - value_destructor d(a, val); - return this->insert_equal(::boost::move(val)); - } - - template - iterator emplace_hint_equal(const_iterator hint, Args&&... args) - { - aligned_storage::value> v; - value_type &val = *static_cast(static_cast(&v)); - stored_allocator_type &a = this->get_stored_allocator(); - stored_allocator_traits::construct(a, &val, ::boost::forward(args)... ); - value_destructor d(a, val); - return this->insert_equal(hint, ::boost::move(val)); - } - - #else //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING - - #define BOOST_PP_LOCAL_MACRO(n) \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - std::pair \ - emplace_unique(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - aligned_storage::value> v; \ - value_type &val = *static_cast(static_cast(&v)); \ - stored_allocator_type &a = this->get_stored_allocator(); \ - stored_allocator_traits::construct(a, &val \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _) ); \ - value_destructor d(a, val); \ - return this->insert_unique(::boost::move(val)); \ - } \ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace_hint_unique(const_iterator hint \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - aligned_storage::value> v; \ - value_type &val = *static_cast(static_cast(&v)); \ - stored_allocator_type &a = this->get_stored_allocator(); \ - stored_allocator_traits::construct(a, &val \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _) ); \ - value_destructor d(a, val); \ - return this->insert_unique(hint, ::boost::move(val)); \ - } \ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace_equal(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - aligned_storage::value> v; \ - value_type &val = *static_cast(static_cast(&v)); \ - stored_allocator_type &a = this->get_stored_allocator(); \ - stored_allocator_traits::construct(a, &val \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _) ); \ - value_destructor d(a, val); \ - return this->insert_equal(::boost::move(val)); \ - } \ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace_hint_equal(const_iterator hint \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - aligned_storage::value> v; \ - value_type &val = *static_cast(static_cast(&v)); \ - stored_allocator_type &a = this->get_stored_allocator(); \ - stored_allocator_traits::construct(a, &val \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _) ); \ - value_destructor d(a, val); \ - return this->insert_equal(hint, ::boost::move(val)); \ - } \ - //! - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() - - #endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING - - iterator erase(const_iterator position) - { return this->m_data.m_vect.erase(position); } - - size_type erase(const key_type& k) - { - std::pair itp = this->equal_range(k); - size_type ret = static_cast(itp.second-itp.first); - if (ret){ - this->m_data.m_vect.erase(itp.first, itp.second); - } - return ret; - } - - iterator erase(const_iterator first, const_iterator last) - { return this->m_data.m_vect.erase(first, last); } - - void clear() - { this->m_data.m_vect.clear(); } - - //! Effects: Tries to deallocate the excess of memory created - // with previous allocations. The size of the vector is unchanged - //! - //! Throws: If memory allocation throws, or T's copy constructor throws. - //! - //! Complexity: Linear to size(). - void shrink_to_fit() - { this->m_data.m_vect.shrink_to_fit(); } - - // set operations: - 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; - } - - 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; - } - - // set operations: - size_type count(const key_type& k) const - { - std::pair p = this->equal_range(k); - size_type n = p.second - p.first; - return n; - } - - iterator lower_bound(const key_type& k) - { return this->priv_lower_bound(this->begin(), this->end(), k); } - - const_iterator lower_bound(const key_type& k) const - { return this->priv_lower_bound(this->cbegin(), this->cend(), k); } - - iterator upper_bound(const key_type& k) - { return this->priv_upper_bound(this->begin(), this->end(), k); } - - const_iterator upper_bound(const key_type& k) const - { return this->priv_upper_bound(this->cbegin(), this->cend(), k); } - - std::pair equal_range(const key_type& k) - { return this->priv_equal_range(this->begin(), this->end(), k); } - - std::pair equal_range(const key_type& k) const - { return this->priv_equal_range(this->cbegin(), this->cend(), k); } - - std::pair lower_bound_range(const key_type& k) - { return this->priv_lower_bound_range(this->begin(), this->end(), k); } - - std::pair lower_bound_range(const key_type& k) const - { return this->priv_lower_bound_range(this->cbegin(), this->cend(), k); } - - size_type capacity() const - { return this->m_data.m_vect.capacity(); } - - void reserve(size_type cnt) - { this->m_data.m_vect.reserve(cnt); } - - friend bool operator==(const flat_tree& x, const flat_tree& y) - { - return x.size() == y.size() && std::equal(x.begin(), x.end(), y.begin()); - } - - friend bool operator<(const flat_tree& x, const flat_tree& y) - { - return std::lexicographical_compare(x.begin(), x.end(), - y.begin(), y.end()); - } - - friend bool operator!=(const flat_tree& x, const flat_tree& y) - { return !(x == y); } - - friend bool operator>(const flat_tree& x, const flat_tree& y) - { return y < x; } - - friend bool operator<=(const flat_tree& x, const flat_tree& y) - { return !(y < x); } - - friend bool operator>=(const flat_tree& x, const flat_tree& y) - { return !(x < y); } - - friend void swap(flat_tree& x, flat_tree& y) - { x.swap(y); } - - private: - struct insert_commit_data - { - const_iterator position; - }; - - // 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 value_type& val, insert_commit_data &commit_data) - { - const value_compare &val_cmp = this->m_data; - commit_data.position = this->priv_lower_bound(b, e, KeyOfValue()(val)); - return commit_data.position == e || val_cmp(val, *commit_data.position); - } - - bool priv_insert_unique_prepare - (const value_type& val, insert_commit_data &commit_data) - { return this->priv_insert_unique_prepare(this->cbegin(), this->cend(), val, commit_data); } - - bool priv_insert_unique_prepare - (const_iterator pos, const value_type& val, insert_commit_data &commit_data) - { - //N1780. Props to Howard Hinnant! - //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 if pos+1 == end || val <= *(pos+1) - // insert val after pos - //else - // insert val before lower_bound(val) - const value_compare &val_cmp = this->m_data; - const const_iterator cend_it = this->cend(); - if(pos == cend_it || val_cmp(val, *pos)){ //Check if val 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(val_cmp(*prev, val)){ //If previous element was less, then it should go between prev and pos - return true; - } - else if(!val_cmp(val, *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 val - return this->priv_insert_unique_prepare(cbeg, prev, val, 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, val, commit_data); - } - } - - template - iterator priv_insert_commit - (insert_commit_data &commit_data, BOOST_FWD_REF(Convertible) convertible) - { - return this->m_data.m_vect.insert - ( commit_data.position - , boost::forward(convertible)); - } - - template - RanIt priv_lower_bound(RanIt first, const RanIt last, - const key_type & key) const - { - const Compare &key_cmp = this->m_data.get_comp(); - KeyOfValue key_extract; - size_type len = static_cast(last - first); - RanIt middle; - - while (len) { - size_type step = len >> 1; - middle = first; - middle += step; - - if (key_cmp(key_extract(*middle), key)) { - first = ++middle; - len -= step + 1; - } - else{ - len = step; - } - } - return first; - } - - template - RanIt priv_upper_bound(RanIt first, const RanIt last, - const key_type & key) const - { - const Compare &key_cmp = this->m_data.get_comp(); - KeyOfValue key_extract; - size_type len = static_cast(last - first); - RanIt middle; - - while (len) { - size_type step = len >> 1; - middle = first; - middle += step; - - if (key_cmp(key, key_extract(*middle))) { - len = step; - } - else{ - first = ++middle; - len -= step + 1; - } - } - return first; - } - - template - std::pair - priv_equal_range(RanIt first, RanIt last, const key_type& key) const - { - const Compare &key_cmp = this->m_data.get_comp(); - KeyOfValue key_extract; - size_type len = static_cast(last - first); - RanIt middle; - - while (len) { - size_type step = len >> 1; - middle = first; - middle += 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 += len; - return std::pair - ( this->priv_lower_bound(first, middle, key) - , this->priv_upper_bound(++middle, last, key)); - } - } - return std::pair(first, first); - } - - template - std::pair priv_lower_bound_range(RanIt first, RanIt last, const key_type& 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 && static_cast(!key_cmp(k, key_extract(*lb)))){ - ++ub; - } - return std::pair(lb, ub); - } - - template - void priv_insert_equal_loop(InIt first, InIt last) - { - for ( ; first != last; ++first){ - this->insert_equal(*first); - } - } - - template - void priv_insert_equal_loop_ordered(InIt first, InIt last) - { - const_iterator pos(this->cend()); - for ( ; first != last; ++first){ - //If ordered, then try hint version - //to achieve constant-time complexity per insertion - pos = this->insert_equal(pos, *first); - ++pos; - } - } -}; - -} //namespace container_detail { - -} //namespace container { -/* -//!has_trivial_destructor_after_move<> == true_type -//!specialization for optimizations -template -struct has_trivial_destructor_after_move > -{ - static const bool value = has_trivial_destructor_after_move::value && has_trivial_destructor_after_move::value; -}; -*/ -} //namespace boost { - -#include - -#endif // BOOST_CONTAINER_FLAT_TREE_HPP diff --git a/bundled/boost-1.56.0/include/boost/container/detail/function_detector.hpp b/bundled/boost-1.56.0/include/boost/container/detail/function_detector.hpp deleted file mode 100644 index 1fe6731a6c..0000000000 --- a/bundled/boost-1.56.0/include/boost/container/detail/function_detector.hpp +++ /dev/null @@ -1,88 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2009-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. -// -///////////////////////////////////////////////////////////////////////////// -// This code was modified from the code posted by Alexandre Courpron in his -// article "Interface Detection" in The Code Project: -// http://www.codeproject.com/KB/architecture/Detector.aspx -/////////////////////////////////////////////////////////////////////////////// -// Copyright 2007 Alexandre Courpron -// -// Permission to use, copy, modify, redistribute and sell this software, -// provided that this copyright notice appears on all copies of the software. -/////////////////////////////////////////////////////////////////////////////// - -#ifndef BOOST_CONTAINER_DETAIL_FUNCTION_DETECTOR_HPP -#define BOOST_CONTAINER_DETAIL_FUNCTION_DETECTOR_HPP - -#include - -namespace boost { -namespace container { -namespace function_detector { - - typedef char NotFoundType; - struct StaticFunctionType { NotFoundType x [2]; }; - struct NonStaticFunctionType { NotFoundType x [3]; }; - - enum - { NotFound = 0, - StaticFunction = sizeof( StaticFunctionType ) - sizeof( NotFoundType ), - NonStaticFunction = sizeof( NonStaticFunctionType ) - sizeof( NotFoundType ) - }; - -} //namespace boost { -} //namespace container { -} //namespace function_detector { - -#define BOOST_CONTAINER_CREATE_FUNCTION_DETECTOR(Identifier, InstantiationKey) \ - namespace boost { \ - namespace container { \ - namespace function_detector { \ - template < class T, \ - class NonStaticType, \ - class NonStaticConstType, \ - class StaticType > \ - class DetectMember_##InstantiationKey_##Identifier { \ - template < NonStaticType > \ - struct TestNonStaticNonConst ; \ - \ - template < NonStaticConstType > \ - struct TestNonStaticConst ; \ - \ - template < StaticType > \ - struct TestStatic ; \ - \ - template \ - static NonStaticFunctionType Test( TestNonStaticNonConst<&U::Identifier>*, int ); \ - \ - template \ - static NonStaticFunctionType Test( TestNonStaticConst<&U::Identifier>*, int ); \ - \ - template \ - static StaticFunctionType Test( TestStatic<&U::Identifier>*, int ); \ - \ - template \ - static NotFoundType Test( ... ); \ - public : \ - static const int check = NotFound + (sizeof(Test(0, 0)) - sizeof(NotFoundType));\ - };\ -}}} //namespace boost::container::function_detector { - -#define BOOST_CONTAINER_DETECT_FUNCTION(Class, InstantiationKey, ReturnType, Identifier, Params) \ - ::boost::container::function_detector::DetectMember_##InstantiationKey_##Identifier< Class,\ - ReturnType (Class::*)Params,\ - ReturnType (Class::*)Params const,\ - ReturnType (*)Params \ - >::check - -#include - -#endif //@ifndef BOOST_CONTAINER_DETAIL_FUNCTION_DETECTOR_HPP diff --git a/bundled/boost-1.56.0/include/boost/container/detail/iterators.hpp b/bundled/boost-1.56.0/include/boost/container/detail/iterators.hpp deleted file mode 100644 index ffc7236422..0000000000 --- a/bundled/boost-1.56.0/include/boost/container/detail/iterators.hpp +++ /dev/null @@ -1,812 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2005-2013. -// (C) Copyright Gennaro Prota 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) -// -// See http://www.boost.org/libs/container for documentation. -// -////////////////////////////////////////////////////////////////////////////// - -#ifndef BOOST_CONTAINER_DETAIL_ITERATORS_HPP -#define BOOST_CONTAINER_DETAIL_ITERATORS_HPP - -#if defined(_MSC_VER) -# pragma once -#endif - -#include -#include -#include -#include -#include -#include - -#ifdef BOOST_CONTAINER_PERFECT_FORWARDING -#include -#else -#include -#endif - -#include - -namespace boost { -namespace container { - -template -class constant_iterator - : public std::iterator - -{ - typedef constant_iterator this_type; - - public: - explicit constant_iterator(const T &ref, Difference range_size) - : m_ptr(&ref), m_num(range_size){} - - //Constructors - constant_iterator() - : m_ptr(0), m_num(0){} - - constant_iterator& operator++() - { increment(); return *this; } - - constant_iterator operator++(int) - { - constant_iterator result (*this); - increment(); - return result; - } - - constant_iterator& operator--() - { decrement(); return *this; } - - constant_iterator operator--(int) - { - constant_iterator result (*this); - decrement(); - return result; - } - - friend bool operator== (const constant_iterator& i, const constant_iterator& i2) - { return i.equal(i2); } - - friend bool operator!= (const constant_iterator& i, const constant_iterator& i2) - { return !(i == i2); } - - friend bool operator< (const constant_iterator& i, const constant_iterator& i2) - { return i.less(i2); } - - friend bool operator> (const constant_iterator& i, const constant_iterator& i2) - { return i2 < i; } - - friend bool operator<= (const constant_iterator& i, const constant_iterator& i2) - { return !(i > i2); } - - friend bool operator>= (const constant_iterator& i, const constant_iterator& i2) - { return !(i < i2); } - - friend Difference operator- (const constant_iterator& i, const constant_iterator& i2) - { return i2.distance_to(i); } - - //Arithmetic - constant_iterator& operator+=(Difference off) - { this->advance(off); return *this; } - - constant_iterator operator+(Difference off) const - { - constant_iterator other(*this); - other.advance(off); - return other; - } - - friend constant_iterator operator+(Difference off, const constant_iterator& right) - { return right + off; } - - constant_iterator& operator-=(Difference off) - { this->advance(-off); return *this; } - - constant_iterator operator-(Difference off) const - { return *this + (-off); } - - const T& operator*() const - { return dereference(); } - - const T& operator[] (Difference ) const - { return dereference(); } - - const T* operator->() const - { return &(dereference()); } - - private: - const T * m_ptr; - Difference m_num; - - void increment() - { --m_num; } - - void decrement() - { ++m_num; } - - bool equal(const this_type &other) const - { return m_num == other.m_num; } - - bool less(const this_type &other) const - { return other.m_num < m_num; } - - const T & dereference() const - { return *m_ptr; } - - void advance(Difference n) - { m_num -= n; } - - Difference distance_to(const this_type &other)const - { return m_num - other.m_num; } -}; - -template -class value_init_construct_iterator - : public std::iterator - -{ - typedef value_init_construct_iterator this_type; - - public: - explicit value_init_construct_iterator(Difference range_size) - : m_num(range_size){} - - //Constructors - value_init_construct_iterator() - : m_num(0){} - - value_init_construct_iterator& operator++() - { increment(); return *this; } - - value_init_construct_iterator operator++(int) - { - value_init_construct_iterator result (*this); - increment(); - return result; - } - - value_init_construct_iterator& operator--() - { decrement(); return *this; } - - value_init_construct_iterator operator--(int) - { - value_init_construct_iterator result (*this); - decrement(); - return result; - } - - friend bool operator== (const value_init_construct_iterator& i, const value_init_construct_iterator& i2) - { return i.equal(i2); } - - friend bool operator!= (const value_init_construct_iterator& i, const value_init_construct_iterator& i2) - { return !(i == i2); } - - friend bool operator< (const value_init_construct_iterator& i, const value_init_construct_iterator& i2) - { return i.less(i2); } - - friend bool operator> (const value_init_construct_iterator& i, const value_init_construct_iterator& i2) - { return i2 < i; } - - friend bool operator<= (const value_init_construct_iterator& i, const value_init_construct_iterator& i2) - { return !(i > i2); } - - friend bool operator>= (const value_init_construct_iterator& i, const value_init_construct_iterator& i2) - { return !(i < i2); } - - friend Difference operator- (const value_init_construct_iterator& i, const value_init_construct_iterator& i2) - { return i2.distance_to(i); } - - //Arithmetic - value_init_construct_iterator& operator+=(Difference off) - { this->advance(off); return *this; } - - value_init_construct_iterator operator+(Difference off) const - { - value_init_construct_iterator other(*this); - other.advance(off); - return other; - } - - friend value_init_construct_iterator operator+(Difference off, const value_init_construct_iterator& right) - { return right + off; } - - value_init_construct_iterator& operator-=(Difference off) - { this->advance(-off); return *this; } - - value_init_construct_iterator operator-(Difference off) const - { return *this + (-off); } - - //This pseudo-iterator's dereference operations have no sense since value is not - //constructed until ::boost::container::construct_in_place is called. - //So comment them to catch bad uses - //const T& operator*() const; - //const T& operator[](difference_type) const; - //const T* operator->() const; - - private: - Difference m_num; - - void increment() - { --m_num; } - - void decrement() - { ++m_num; } - - bool equal(const this_type &other) const - { return m_num == other.m_num; } - - bool less(const this_type &other) const - { return other.m_num < m_num; } - - const T & dereference() const - { - static T dummy; - return dummy; - } - - void advance(Difference n) - { m_num -= n; } - - Difference distance_to(const this_type &other)const - { return m_num - other.m_num; } -}; - -template -class default_init_construct_iterator - : public std::iterator - -{ - typedef default_init_construct_iterator this_type; - - public: - explicit default_init_construct_iterator(Difference range_size) - : m_num(range_size){} - - //Constructors - default_init_construct_iterator() - : m_num(0){} - - default_init_construct_iterator& operator++() - { increment(); return *this; } - - default_init_construct_iterator operator++(int) - { - default_init_construct_iterator result (*this); - increment(); - return result; - } - - default_init_construct_iterator& operator--() - { decrement(); return *this; } - - default_init_construct_iterator operator--(int) - { - default_init_construct_iterator result (*this); - decrement(); - return result; - } - - friend bool operator== (const default_init_construct_iterator& i, const default_init_construct_iterator& i2) - { return i.equal(i2); } - - friend bool operator!= (const default_init_construct_iterator& i, const default_init_construct_iterator& i2) - { return !(i == i2); } - - friend bool operator< (const default_init_construct_iterator& i, const default_init_construct_iterator& i2) - { return i.less(i2); } - - friend bool operator> (const default_init_construct_iterator& i, const default_init_construct_iterator& i2) - { return i2 < i; } - - friend bool operator<= (const default_init_construct_iterator& i, const default_init_construct_iterator& i2) - { return !(i > i2); } - - friend bool operator>= (const default_init_construct_iterator& i, const default_init_construct_iterator& i2) - { return !(i < i2); } - - friend Difference operator- (const default_init_construct_iterator& i, const default_init_construct_iterator& i2) - { return i2.distance_to(i); } - - //Arithmetic - default_init_construct_iterator& operator+=(Difference off) - { this->advance(off); return *this; } - - default_init_construct_iterator operator+(Difference off) const - { - default_init_construct_iterator other(*this); - other.advance(off); - return other; - } - - friend default_init_construct_iterator operator+(Difference off, const default_init_construct_iterator& right) - { return right + off; } - - default_init_construct_iterator& operator-=(Difference off) - { this->advance(-off); return *this; } - - default_init_construct_iterator operator-(Difference off) const - { return *this + (-off); } - - //This pseudo-iterator's dereference operations have no sense since value is not - //constructed until ::boost::container::construct_in_place is called. - //So comment them to catch bad uses - //const T& operator*() const; - //const T& operator[](difference_type) const; - //const T* operator->() const; - - private: - Difference m_num; - - void increment() - { --m_num; } - - void decrement() - { ++m_num; } - - bool equal(const this_type &other) const - { return m_num == other.m_num; } - - bool less(const this_type &other) const - { return other.m_num < m_num; } - - const T & dereference() const - { - static T dummy; - return dummy; - } - - void advance(Difference n) - { m_num -= n; } - - Difference distance_to(const this_type &other)const - { return m_num - other.m_num; } -}; - - -template -class repeat_iterator - : public std::iterator - -{ - typedef repeat_iterator this_type; - public: - explicit repeat_iterator(T &ref, Difference range_size) - : m_ptr(&ref), m_num(range_size){} - - //Constructors - repeat_iterator() - : m_ptr(0), m_num(0){} - - this_type& operator++() - { increment(); return *this; } - - this_type operator++(int) - { - this_type result (*this); - increment(); - return result; - } - - this_type& operator--() - { increment(); return *this; } - - this_type operator--(int) - { - this_type result (*this); - increment(); - return result; - } - - friend bool operator== (const this_type& i, const this_type& i2) - { return i.equal(i2); } - - friend bool operator!= (const this_type& i, const this_type& i2) - { return !(i == i2); } - - friend bool operator< (const this_type& i, const this_type& i2) - { return i.less(i2); } - - friend bool operator> (const this_type& i, const this_type& i2) - { return i2 < i; } - - friend bool operator<= (const this_type& i, const this_type& i2) - { return !(i > i2); } - - friend bool operator>= (const this_type& i, const this_type& i2) - { return !(i < i2); } - - friend Difference operator- (const this_type& i, const this_type& i2) - { return i2.distance_to(i); } - - //Arithmetic - this_type& operator+=(Difference off) - { this->advance(off); return *this; } - - this_type operator+(Difference off) const - { - this_type other(*this); - other.advance(off); - return other; - } - - friend this_type operator+(Difference off, const this_type& right) - { return right + off; } - - this_type& operator-=(Difference off) - { this->advance(-off); return *this; } - - this_type operator-(Difference off) const - { return *this + (-off); } - - T& operator*() const - { return dereference(); } - - T& operator[] (Difference ) const - { return dereference(); } - - T *operator->() const - { return &(dereference()); } - - private: - T * m_ptr; - Difference m_num; - - void increment() - { --m_num; } - - void decrement() - { ++m_num; } - - bool equal(const this_type &other) const - { return m_num == other.m_num; } - - bool less(const this_type &other) const - { return other.m_num < m_num; } - - T & dereference() const - { return *m_ptr; } - - void advance(Difference n) - { m_num -= n; } - - Difference distance_to(const this_type &other)const - { return m_num - other.m_num; } -}; - -template -class emplace_iterator - : public std::iterator - -{ - typedef emplace_iterator this_type; - - public: - typedef Difference difference_type; - explicit emplace_iterator(EmplaceFunctor&e) - : m_num(1), m_pe(&e){} - - emplace_iterator() - : m_num(0), m_pe(0){} - - this_type& operator++() - { increment(); return *this; } - - this_type operator++(int) - { - this_type result (*this); - increment(); - return result; - } - - this_type& operator--() - { decrement(); return *this; } - - this_type operator--(int) - { - this_type result (*this); - decrement(); - return result; - } - - friend bool operator== (const this_type& i, const this_type& i2) - { return i.equal(i2); } - - friend bool operator!= (const this_type& i, const this_type& i2) - { return !(i == i2); } - - friend bool operator< (const this_type& i, const this_type& i2) - { return i.less(i2); } - - friend bool operator> (const this_type& i, const this_type& i2) - { return i2 < i; } - - friend bool operator<= (const this_type& i, const this_type& i2) - { return !(i > i2); } - - friend bool operator>= (const this_type& i, const this_type& i2) - { return !(i < i2); } - - friend difference_type operator- (const this_type& i, const this_type& i2) - { return i2.distance_to(i); } - - //Arithmetic - this_type& operator+=(difference_type off) - { this->advance(off); return *this; } - - this_type operator+(difference_type off) const - { - this_type other(*this); - other.advance(off); - return other; - } - - friend this_type operator+(difference_type off, const this_type& right) - { return right + off; } - - this_type& operator-=(difference_type off) - { this->advance(-off); return *this; } - - this_type operator-(difference_type off) const - { return *this + (-off); } - - //This pseudo-iterator's dereference operations have no sense since value is not - //constructed until ::boost::container::construct_in_place is called. - //So comment them to catch bad uses - //const T& operator*() const; - //const T& operator[](difference_type) const; - //const T* operator->() const; - - template - void construct_in_place(A &a, T* ptr) - { (*m_pe)(a, ptr); } - - private: - difference_type m_num; - EmplaceFunctor * m_pe; - - void increment() - { --m_num; } - - void decrement() - { ++m_num; } - - bool equal(const this_type &other) const - { return m_num == other.m_num; } - - bool less(const this_type &other) const - { return other.m_num < m_num; } - - const T & dereference() const - { - static T dummy; - return dummy; - } - - void advance(difference_type n) - { m_num -= n; } - - difference_type distance_to(const this_type &other)const - { return difference_type(m_num - other.m_num); } -}; - -#ifdef BOOST_CONTAINER_PERFECT_FORWARDING - -template -struct emplace_functor -{ - typedef typename container_detail::build_number_seq::type index_tuple_t; - - emplace_functor(Args&&... args) - : args_(args...) - {} - - template - void operator()(A &a, T *ptr) - { emplace_functor::inplace_impl(a, ptr, index_tuple_t()); } - - template - void inplace_impl(A &a, T* ptr, const container_detail::index_tuple&) - { - allocator_traits::construct - (a, ptr, ::boost::forward(container_detail::get(args_))...); - } - - container_detail::tuple args_; -}; - -#else //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING - -#define BOOST_PP_LOCAL_MACRO(n) \ - BOOST_PP_EXPR_IF(n, template <) \ - BOOST_PP_ENUM_PARAMS(n, class P) \ - BOOST_PP_EXPR_IF(n, >) \ - struct BOOST_PP_CAT(BOOST_PP_CAT(emplace_functor, n), arg) \ - { \ - BOOST_PP_CAT(BOOST_PP_CAT(emplace_functor, n), arg) \ - ( BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _) ) \ - BOOST_PP_EXPR_IF(n, :) BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_INIT, _){} \ - \ - template \ - void operator()(A &a, T *ptr) \ - { \ - allocator_traits::construct \ - (a, ptr BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_MEMBER_FORWARD, _) ); \ - } \ - BOOST_PP_REPEAT(n, BOOST_CONTAINER_PP_PARAM_DEFINE, _) \ - }; \ - //! -#define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) -#include BOOST_PP_LOCAL_ITERATE() - -#endif - -namespace container_detail { - -template -struct has_iterator_category -{ - template - static char test(int, typename X::iterator_category*); - - template - static int test(int, ...); - - static const bool value = (1 == sizeof(test(0, 0))); -}; - - -template::value > -struct is_input_iterator -{ - static const bool value = is_same::value; -}; - -template -struct is_input_iterator -{ - static const bool value = false; -}; - -template::value > -struct is_forward_iterator -{ - static const bool value = is_same::value; -}; - -template -struct is_forward_iterator -{ - static const bool value = false; -}; - -template::value > -struct is_bidirectional_iterator -{ - static const bool value = is_same::value; -}; - -template -struct is_bidirectional_iterator -{ - static const bool value = false; -}; - -template -struct iiterator_types -{ - typedef typename IIterator::value_type it_value_type; - typedef typename it_value_type::value_type value_type; - typedef typename std::iterator_traits::pointer it_pointer; - typedef typename std::iterator_traits::difference_type difference_type; - typedef typename ::boost::intrusive::pointer_traits:: - template rebind_pointer::type pointer; - typedef typename ::boost::intrusive::pointer_traits:: - template rebind_pointer::type const_pointer; - typedef typename ::boost::intrusive:: - pointer_traits::reference reference; - typedef typename ::boost::intrusive:: - pointer_traits::reference const_reference; - typedef typename IIterator::iterator_category iterator_category; -}; - -template -struct std_iterator -{ - typedef typename std::iterator - < typename iiterator_types::iterator_category - , typename iiterator_types::value_type - , typename iiterator_types::difference_type - , typename iiterator_types::const_pointer - , typename iiterator_types::const_reference> type; -}; - -template -struct std_iterator -{ - typedef typename std::iterator - < typename iiterator_types::iterator_category - , typename iiterator_types::value_type - , typename iiterator_types::difference_type - , typename iiterator_types::pointer - , typename iiterator_types::reference> type; -}; - -template -class iterator - : public std_iterator::type -{ - typedef typename std_iterator::type types_t; - - public: - typedef typename types_t::value_type value_type; - typedef typename types_t::pointer pointer; - typedef typename types_t::reference reference; - - iterator() - {} - - explicit iterator(IIterator iit) BOOST_CONTAINER_NOEXCEPT - : m_iit(iit) - {} - - iterator(iterator const& other) BOOST_CONTAINER_NOEXCEPT - : m_iit(other.get()) - {} - - iterator& operator++() BOOST_CONTAINER_NOEXCEPT - { ++this->m_iit; return *this; } - - iterator operator++(int) BOOST_CONTAINER_NOEXCEPT - { - iterator result (*this); - ++this->m_iit; - return result; - } - - iterator& operator--() BOOST_CONTAINER_NOEXCEPT - { - //If the iterator is not a bidirectional iterator, operator-- should not exist - BOOST_STATIC_ASSERT((is_bidirectional_iterator::value)); - --this->m_iit; return *this; - } - - iterator operator--(int) BOOST_CONTAINER_NOEXCEPT - { - iterator result (*this); - --this->m_iit; - return result; - } - - friend bool operator== (const iterator& l, const iterator& r) BOOST_CONTAINER_NOEXCEPT - { return l.m_iit == r.m_iit; } - - friend bool operator!= (const iterator& l, const iterator& r) BOOST_CONTAINER_NOEXCEPT - { return !(l == r); } - - reference operator*() const BOOST_CONTAINER_NOEXCEPT - { return (*this->m_iit).get_data(); } - - pointer operator->() const BOOST_CONTAINER_NOEXCEPT - { return ::boost::intrusive::pointer_traits::pointer_to(this->operator*()); } - - const IIterator &get() const BOOST_CONTAINER_NOEXCEPT - { return this->m_iit; } - - private: - IIterator m_iit; -}; - -} //namespace container_detail { -} //namespace container { -} //namespace boost { - -#include - -#endif //#ifndef BOOST_CONTAINER_DETAIL_ITERATORS_HPP diff --git a/bundled/boost-1.56.0/include/boost/container/detail/mpl.hpp b/bundled/boost-1.56.0/include/boost/container/detail/mpl.hpp deleted file mode 100644 index fc1a8a6da2..0000000000 --- a/bundled/boost-1.56.0/include/boost/container/detail/mpl.hpp +++ /dev/null @@ -1,183 +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_CONTAINER_DETAIL_MPL_HPP -#define BOOST_CONTAINER_CONTAINER_DETAIL_MPL_HPP - -#if defined(_MSC_VER) -# pragma once -#endif - -#include -#include - -#include - -namespace boost { -namespace container { -namespace container_detail { - -template -struct integral_constant -{ - static const T value = val; - typedef integral_constant type; -}; - -template< bool C_ > -struct bool_ : integral_constant -{ - static const bool value = C_; - operator bool() const { return bool_::value; } -}; - -typedef bool_ true_; -typedef bool_ false_; - -typedef true_ true_type; -typedef false_ false_type; - -typedef char yes_type; -struct no_type -{ - char padding[8]; -}; - -template -struct enable_if_c { - typedef T type; -}; - -template -struct enable_if_c {}; - -template -struct enable_if : public enable_if_c {}; - -template -struct disable_if : public enable_if_c {}; - -template -struct disable_if_c : public enable_if_c {}; - -#if defined(_MSC_VER) && (_MSC_VER >= 1400) - -template -struct is_convertible -{ - static const bool value = __is_convertible_to(T, U); -}; - -#else - -template -class is_convertible -{ - typedef char true_t; - class false_t { char dummy[2]; }; - //use any_conversion as first parameter since in MSVC - //overaligned types can't go through ellipsis - static false_t dispatch(...); - static true_t dispatch(U); - static T &trigger(); - public: - static const bool value = sizeof(dispatch(trigger())) == sizeof(true_t); -}; - -#endif - -template< - bool C - , typename T1 - , typename T2 - > -struct if_c -{ - typedef T1 type; -}; - -template< - typename T1 - , typename T2 - > -struct if_c -{ - typedef T2 type; -}; - -template< - typename T1 - , typename T2 - , typename T3 - > -struct if_ -{ - typedef typename if_c<0 != T1::value, T2, T3>::type type; -}; - - -template -struct select1st -{ - typedef Pair argument_type; - typedef typename Pair::first_type result_type; - - template - const typename Pair::first_type& operator()(const OtherPair& x) const - { return x.first; } - - const typename Pair::first_type& operator()(const typename Pair::first_type& x) const - { return x; } -}; - -// identity is an extension: it is not part of the standard. -template -struct identity -{ - typedef T argument_type; - typedef T result_type; - - typedef T type; - const T& operator()(const T& x) const - { return x; } -}; - -template -struct ls_zeros -{ - static const std::size_t value = (S & std::size_t(1)) ? 0 : (1u + ls_zeros<(S >> 1u)>::value); -}; - -template<> -struct ls_zeros<0> -{ - static const std::size_t value = 0; -}; - -template<> -struct ls_zeros<1> -{ - static const std::size_t value = 0; -}; - -template struct unvoid { typedef T type; }; -template <> struct unvoid { struct type { }; }; -template <> struct unvoid { struct type { }; }; - -} //namespace container_detail { -} //namespace container { -} //namespace boost { - -#include - -#endif //#ifndef BOOST_CONTAINER_CONTAINER_DETAIL_MPL_HPP - diff --git a/bundled/boost-1.56.0/include/boost/container/detail/mutex.hpp b/bundled/boost-1.56.0/include/boost/container/detail/mutex.hpp deleted file mode 100644 index 89b041c1cb..0000000000 --- a/bundled/boost-1.56.0/include/boost/container/detail/mutex.hpp +++ /dev/null @@ -1,278 +0,0 @@ -// Copyright (C) 2000 Stephen Cleary -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org for updates, documentation, and revision history. - -////////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2007-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_MUTEX_HPP -#define BOOST_CONTAINER_MUTEX_HPP - -//#define BOOST_CONTAINER_NO_MT -//#define BOOST_CONTAINER_NO_SPINLOCKS - -#include -#include - -// Extremely Light-Weight wrapper classes for OS thread synchronization - -#define BOOST_MUTEX_HELPER_NONE 0 -#define BOOST_MUTEX_HELPER_WIN32 1 -#define BOOST_MUTEX_HELPER_PTHREAD 2 -#define BOOST_MUTEX_HELPER_SPINLOCKS 3 - -#if !defined(BOOST_HAS_THREADS) && !defined(BOOST_NO_MT) -# define BOOST_NO_MT -#endif - -#if defined(BOOST_NO_MT) || defined(BOOST_CONTAINER_NO_MT) - // No multithreading -> make locks into no-ops - #define BOOST_MUTEX_HELPER BOOST_MUTEX_HELPER_NONE -#else - //Taken from dlmalloc - #if !defined(BOOST_CONTAINER_NO_SPINLOCKS) && \ - ((defined(__GNUC__) && \ - ((__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 1)) || \ - defined(__i386__) || defined(__x86_64__))) || \ - (defined(_MSC_VER) && _MSC_VER>=1310)) - #define BOOST_MUTEX_HELPER BOOST_MUTEX_HELPER_SPINLOCKS - #endif - - #if defined(BOOST_WINDOWS) - #include - #ifndef BOOST_MUTEX_HELPER - #define BOOST_MUTEX_HELPER BOOST_MUTEX_HELPER_WIN32 - #endif - #elif defined(BOOST_HAS_UNISTD_H) - #include - #if !defined(BOOST_MUTEX_HELPER) && (defined(_POSIX_THREADS) || defined(BOOST_HAS_PTHREADS)) - #define BOOST_MUTEX_HELPER BOOST_MUTEX_HELPER_PTHREAD - #endif - #endif -#endif - -#ifndef BOOST_MUTEX_HELPER - #error Unable to determine platform mutex type; #define BOOST_NO_MT to assume single-threaded -#endif - -#if BOOST_MUTEX_HELPER == BOOST_MUTEX_HELPER_NONE - //... -#elif BOOST_MUTEX_HELPER == BOOST_MUTEX_HELPER_SPINLOCKS - #if defined(_MSC_VER) - #ifndef _M_AMD64 - /* These are already defined on AMD64 builds */ - #ifdef __cplusplus - extern "C" { - #endif /* __cplusplus */ - long __cdecl _InterlockedCompareExchange(long volatile *Dest, long Exchange, long Comp); - long __cdecl _InterlockedExchange(long volatile *Target, long Value); - #ifdef __cplusplus - } - #endif /* __cplusplus */ - #endif /* _M_AMD64 */ - #pragma intrinsic (_InterlockedCompareExchange) - #pragma intrinsic (_InterlockedExchange) - #define interlockedcompareexchange _InterlockedCompareExchange - #define interlockedexchange _InterlockedExchange - #elif defined(WIN32) && defined(__GNUC__) - #define interlockedcompareexchange(a, b, c) __sync_val_compare_and_swap(a, c, b) - #define interlockedexchange __sync_lock_test_and_set - #endif /* Win32 */ - - /* First, define CAS_LOCK and CLEAR_LOCK on ints */ - /* Note CAS_LOCK defined to return 0 on success */ - - #if defined(__GNUC__)&& (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 1)) - #define BOOST_CONTAINER_CAS_LOCK(sl) __sync_lock_test_and_set(sl, 1) - #define BOOST_CONTAINER_CLEAR_LOCK(sl) __sync_lock_release(sl) - - #elif (defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))) - /* Custom spin locks for older gcc on x86 */ - static FORCEINLINE int boost_container_x86_cas_lock(int *sl) { - int ret; - int val = 1; - int cmp = 0; - __asm__ __volatile__ ("lock; cmpxchgl %1, %2" - : "=a" (ret) - : "r" (val), "m" (*(sl)), "0"(cmp) - : "memory", "cc"); - return ret; - } - - static FORCEINLINE void boost_container_x86_clear_lock(int* sl) { - assert(*sl != 0); - int prev = 0; - int ret; - __asm__ __volatile__ ("lock; xchgl %0, %1" - : "=r" (ret) - : "m" (*(sl)), "0"(prev) - : "memory"); - } - - #define BOOST_CONTAINER_CAS_LOCK(sl) boost_container_x86_cas_lock(sl) - #define BOOST_CONTAINER_CLEAR_LOCK(sl) boost_container_x86_clear_lock(sl) - - #else /* Win32 MSC */ - #define BOOST_CONTAINER_CAS_LOCK(sl) interlockedexchange((long volatile*)sl, (long)1) - #define BOOST_CONTAINER_CLEAR_LOCK(sl) interlockedexchange((long volatile*)sl, (long)0) - #endif - - /* How to yield for a spin lock */ - #define SPINS_PER_YIELD 63 - #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) - #define SLEEP_EX_DURATION 50 /* delay for yield/sleep */ - #define SPIN_LOCK_YIELD SleepEx(SLEEP_EX_DURATION, FALSE) - #elif defined (__SVR4) && defined (__sun) /* solaris */ - #define SPIN_LOCK_YIELD thr_yield(); - #elif !defined(LACKS_SCHED_H) - #define SPIN_LOCK_YIELD sched_yield(); - #else - #define SPIN_LOCK_YIELD - #endif /* ... yield ... */ - - #define BOOST_CONTAINER_SPINS_PER_YIELD 63 - inline int boost_interprocess_spin_acquire_lock(int *sl) { - int spins = 0; - while (*(volatile int *)sl != 0 || - BOOST_CONTAINER_CAS_LOCK(sl)) { - if ((++spins & BOOST_CONTAINER_SPINS_PER_YIELD) == 0) { - SPIN_LOCK_YIELD; - } - } - return 0; - } - #define BOOST_CONTAINER_MLOCK_T int - #define BOOST_CONTAINER_TRY_LOCK(sl) !BOOST_CONTAINER_CAS_LOCK(sl) - #define BOOST_CONTAINER_RELEASE_LOCK(sl) BOOST_CONTAINER_CLEAR_LOCK(sl) - #define BOOST_CONTAINER_ACQUIRE_LOCK(sl) (BOOST_CONTAINER_CAS_LOCK(sl)? boost_interprocess_spin_acquire_lock(sl) : 0) - #define BOOST_CONTAINER_INITIAL_LOCK(sl) (*sl = 0) - #define BOOST_CONTAINER_DESTROY_LOCK(sl) (0) -#elif BOOST_MUTEX_HELPER == BOOST_MUTEX_HELPER_WIN32 - // -#elif BOOST_MUTEX_HELPER == BOOST_MUTEX_HELPER_PTHREAD - #include -#endif - -namespace boost { -namespace container { -namespace container_detail { - -#if BOOST_MUTEX_HELPER == BOOST_MUTEX_HELPER_NONE - class null_mutex - { - private: - null_mutex(const null_mutex &); - void operator=(const null_mutex &); - - public: - null_mutex() { } - - static void lock() { } - static void unlock() { } - }; - - typedef null_mutex default_mutex; -#elif BOOST_MUTEX_HELPER == BOOST_MUTEX_HELPER_SPINLOCKS - - class spin_mutex - { - private: - BOOST_CONTAINER_MLOCK_T sl; - spin_mutex(const spin_mutex &); - void operator=(const spin_mutex &); - - public: - spin_mutex() { BOOST_CONTAINER_INITIAL_LOCK(&sl); } - - void lock() { BOOST_CONTAINER_ACQUIRE_LOCK(&sl); } - void unlock() { BOOST_CONTAINER_RELEASE_LOCK(&sl); } - }; - typedef spin_mutex default_mutex; -#elif BOOST_MUTEX_HELPER == BOOST_MUTEX_HELPER_WIN32 - class mutex - { - private: - CRITICAL_SECTION mtx; - - mutex(const mutex &); - void operator=(const mutex &); - - public: - mutex() - { InitializeCriticalSection(&mtx); } - - ~mutex() - { DeleteCriticalSection(&mtx); } - - void lock() - { EnterCriticalSection(&mtx); } - - void unlock() - { LeaveCriticalSection(&mtx); } - }; - - typedef mutex default_mutex; -#elif BOOST_MUTEX_HELPER == BOOST_MUTEX_HELPER_PTHREAD - class mutex - { - private: - pthread_mutex_t mtx; - - mutex(const mutex &); - void operator=(const mutex &); - - public: - mutex() - { pthread_mutex_init(&mtx, 0); } - - ~mutex() - { pthread_mutex_destroy(&mtx); } - - void lock() - { pthread_mutex_lock(&mtx); } - - void unlock() - { pthread_mutex_unlock(&mtx); } - }; - - typedef mutex default_mutex; -#endif - -template -class scoped_lock -{ - public: - scoped_lock(Mutex &m) - : m_(m) - { m_.lock(); } - ~scoped_lock() - { m_.unlock(); } - - private: - Mutex &m_; -}; - -} // namespace container_detail -} // namespace container -} // namespace boost - -#undef BOOST_MUTEX_HELPER_WIN32 -#undef BOOST_MUTEX_HELPER_PTHREAD -#undef BOOST_MUTEX_HELPER_NONE -#undef BOOST_MUTEX_HELPER -#undef BOOST_MUTEX_HELPER_SPINLOCKS - -#include - -#endif diff --git a/bundled/boost-1.56.0/include/boost/container/detail/node_alloc_holder.hpp b/bundled/boost-1.56.0/include/boost/container/detail/node_alloc_holder.hpp deleted file mode 100644 index 6483e9600c..0000000000 --- a/bundled/boost-1.56.0/include/boost/container/detail/node_alloc_holder.hpp +++ /dev/null @@ -1,399 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2005-2013. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/container for documentation. -// -////////////////////////////////////////////////////////////////////////////// - -#ifndef BOOST_CONTAINER_DETAIL_NODE_ALLOC_HPP_ -#define BOOST_CONTAINER_DETAIL_NODE_ALLOC_HPP_ - -#if defined(_MSC_VER) -# pragma once -#endif - -#include -#include - -#include -#include - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifndef BOOST_CONTAINER_PERFECT_FORWARDING -#include -#endif - -#include -#include - - -namespace boost { -namespace container { -namespace container_detail { - -template -struct node_compare - : private ValueCompare -{ - typedef ValueCompare wrapped_value_compare; - typedef typename wrapped_value_compare::key_type key_type; - typedef typename wrapped_value_compare::value_type value_type; - typedef typename wrapped_value_compare::key_of_value key_of_value; - - explicit node_compare(const wrapped_value_compare &pred) - : wrapped_value_compare(pred) - {} - - node_compare() - : wrapped_value_compare() - {} - - wrapped_value_compare &value_comp() - { return static_cast(*this); } - - wrapped_value_compare &value_comp() const - { return static_cast(*this); } - - bool operator()(const Node &a, const Node &b) const - { return wrapped_value_compare::operator()(a.get_data(), b.get_data()); } -}; - -template -struct node_alloc_holder -{ - //If the intrusive container is an associative container, obtain the predicate, which will - //be of type node_compare<>. If not an associative container value_compare will be a "nat" type. - typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT(boost::container::container_detail::, ICont, - value_compare, container_detail::nat) intrusive_value_compare; - //In that case obtain the value predicate from the node predicate via wrapped_value_compare - //if intrusive_value_compare is node_compare<>, nat otherwise - typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT(boost::container::container_detail::, ICont, - wrapped_value_compare, container_detail::nat) value_compare; - - typedef allocator_traits allocator_traits_type; - typedef typename allocator_traits_type::value_type value_type; - typedef ICont intrusive_container; - typedef typename ICont::value_type Node; - typedef typename allocator_traits_type::template - portable_rebind_alloc::type NodeAlloc; - typedef allocator_traits node_allocator_traits_type; - typedef container_detail::allocator_version_traits node_allocator_version_traits_type; - typedef A ValAlloc; - typedef typename node_allocator_traits_type::pointer NodePtr; - typedef container_detail::scoped_deallocator Deallocator; - typedef typename node_allocator_traits_type::size_type size_type; - typedef typename node_allocator_traits_type::difference_type difference_type; - typedef container_detail::integral_constant allocator_v1; - typedef container_detail::integral_constant allocator_v2; - typedef container_detail::integral_constant::value> alloc_version; - typedef typename ICont::iterator icont_iterator; - typedef typename ICont::const_iterator icont_citerator; - typedef allocator_destroyer Destroyer; - typedef allocator_traits NodeAllocTraits; - typedef allocator_version_traits AllocVersionTraits; - - private: - BOOST_COPYABLE_AND_MOVABLE(node_alloc_holder) - - public: - - //Constructors for sequence containers - node_alloc_holder() - : members_() - {} - - explicit node_alloc_holder(const ValAlloc &a) - : members_(a) - {} - - explicit node_alloc_holder(const node_alloc_holder &x) - : members_(NodeAllocTraits::select_on_container_copy_construction(x.node_alloc())) - {} - - explicit node_alloc_holder(BOOST_RV_REF(node_alloc_holder) x) - : members_(boost::move(x.node_alloc())) - { this->icont().swap(x.icont()); } - - //Constructors for associative containers - explicit node_alloc_holder(const ValAlloc &a, const value_compare &c) - : members_(a, c) - {} - - explicit node_alloc_holder(const node_alloc_holder &x, const value_compare &c) - : members_(NodeAllocTraits::select_on_container_copy_construction(x.node_alloc()), c) - {} - - explicit node_alloc_holder(const value_compare &c) - : members_(c) - {} - - //helpers for move assignments - explicit node_alloc_holder(BOOST_RV_REF(node_alloc_holder) x, const value_compare &c) - : members_(boost::move(x.node_alloc()), c) - { this->icont().swap(x.icont()); } - - void copy_assign_alloc(const node_alloc_holder &x) - { - container_detail::bool_ flag; - container_detail::assign_alloc( static_cast(this->members_) - , static_cast(x.members_), flag); - } - - void move_assign_alloc( node_alloc_holder &x) - { - container_detail::bool_ flag; - container_detail::move_alloc( static_cast(this->members_) - , static_cast(x.members_), flag); - } - - ~node_alloc_holder() - { this->clear(alloc_version()); } - - size_type max_size() const - { return allocator_traits_type::max_size(this->node_alloc()); } - - NodePtr allocate_one() - { return AllocVersionTraits::allocate_one(this->node_alloc()); } - - void deallocate_one(const NodePtr &p) - { AllocVersionTraits::deallocate_one(this->node_alloc(), p); } - - #ifdef BOOST_CONTAINER_PERFECT_FORWARDING - - template - NodePtr create_node(Args &&...args) - { - NodePtr p = this->allocate_one(); - Deallocator node_deallocator(p, this->node_alloc()); - allocator_traits::construct - ( this->node_alloc() - , container_detail::addressof(p->m_data), boost::forward(args)...); - node_deallocator.release(); - //This does not throw - typedef typename Node::hook_type hook_type; - ::new(static_cast(container_detail::to_raw_pointer(p))) hook_type; - return (p); - } - - #else //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING - - #define BOOST_PP_LOCAL_MACRO(n) \ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - NodePtr create_node(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - NodePtr p = this->allocate_one(); \ - Deallocator node_deallocator(p, this->node_alloc()); \ - allocator_traits::construct \ - (this->node_alloc(), container_detail::addressof(p->m_data) \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); \ - node_deallocator.release(); \ - typedef typename Node::hook_type hook_type; \ - ::new(static_cast(container_detail::to_raw_pointer(p))) hook_type; \ - return (p); \ - } \ - //! - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() - - #endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING - - template - NodePtr create_node_from_it(const It &it) - { - NodePtr p = this->allocate_one(); - Deallocator node_deallocator(p, this->node_alloc()); - ::boost::container::construct_in_place(this->node_alloc(), container_detail::addressof(p->m_data), it); - node_deallocator.release(); - //This does not throw - typedef typename Node::hook_type hook_type; - ::new(static_cast(container_detail::to_raw_pointer(p))) hook_type; - return (p); - } - - void destroy_node(const NodePtr &nodep) - { - allocator_traits::destroy(this->node_alloc(), container_detail::to_raw_pointer(nodep)); - this->deallocate_one(nodep); - } - - void swap(node_alloc_holder &x) - { - this->icont().swap(x.icont()); - container_detail::bool_ flag; - container_detail::swap_alloc(this->node_alloc(), x.node_alloc(), flag); - } - - template - void allocate_many_and_construct - (FwdIterator beg, difference_type n, Inserter inserter) - { - if(n){ - typedef typename node_allocator_version_traits_type::multiallocation_chain multiallocation_chain; - - //Try to allocate memory in a single block - typedef typename multiallocation_chain::iterator multialloc_iterator; - multiallocation_chain mem; - NodeAlloc &nalloc = this->node_alloc(); - node_allocator_version_traits_type::allocate_individual(nalloc, n, mem); - multialloc_iterator itbeg(mem.begin()), itlast(mem.last()); - mem.clear(); - Node *p = 0; - BOOST_TRY{ - Deallocator node_deallocator(NodePtr(), nalloc); - container_detail::scoped_destructor sdestructor(nalloc, 0); - while(n--){ - p = container_detail::to_raw_pointer(iterator_to_pointer(itbeg)); - node_deallocator.set(p); - ++itbeg; - //This can throw - boost::container::construct_in_place(nalloc, container_detail::addressof(p->m_data), beg); - sdestructor.set(p); - ++beg; - //This does not throw - typedef typename Node::hook_type hook_type; - ::new(static_cast(p)) hook_type; - //This can throw in some containers (predicate might throw). - //(sdestructor will destruct the node and node_deallocator will deallocate it in case of exception) - inserter(*p); - sdestructor.set(0); - } - sdestructor.release(); - node_deallocator.release(); - } - BOOST_CATCH(...){ - mem.incorporate_after(mem.last(), &*itbeg, &*itlast, n); - node_allocator_version_traits_type::deallocate_individual(this->node_alloc(), mem); - BOOST_RETHROW - } - BOOST_CATCH_END - } - } - - void clear(allocator_v1) - { this->icont().clear_and_dispose(Destroyer(this->node_alloc())); } - - void clear(allocator_v2) - { - typename NodeAlloc::multiallocation_chain chain; - allocator_destroyer_and_chain_builder builder(this->node_alloc(), chain); - this->icont().clear_and_dispose(builder); - //BOOST_STATIC_ASSERT((::boost::has_move_emulation_enabled::value == true)); - if(!chain.empty()) - this->node_alloc().deallocate_individual(chain); - } - - icont_iterator erase_range(const icont_iterator &first, const icont_iterator &last, allocator_v1) - { return this->icont().erase_and_dispose(first, last, Destroyer(this->node_alloc())); } - - icont_iterator erase_range(const icont_iterator &first, const icont_iterator &last, allocator_v2) - { - typedef typename NodeAlloc::multiallocation_chain multiallocation_chain; - NodeAlloc & nalloc = this->node_alloc(); - multiallocation_chain chain; - allocator_destroyer_and_chain_builder chain_builder(nalloc, chain); - icont_iterator ret_it = this->icont().erase_and_dispose(first, last, chain_builder); - nalloc.deallocate_individual(chain); - return ret_it; - } - - template - size_type erase_key(const Key& k, const Comparator &comp, allocator_v1) - { return this->icont().erase_and_dispose(k, comp, Destroyer(this->node_alloc())); } - - template - size_type erase_key(const Key& k, const Comparator &comp, allocator_v2) - { - allocator_multialloc_chain_node_deallocator chain_holder(this->node_alloc()); - return this->icont().erase_and_dispose(k, comp, chain_holder.get_chain_builder()); - } - - protected: - struct cloner - { - cloner(node_alloc_holder &holder) - : m_holder(holder) - {} - - NodePtr operator()(const Node &other) const - { return m_holder.create_node(other.get_data()); } - - node_alloc_holder &m_holder; - }; - - struct members_holder - : public NodeAlloc - { - private: - members_holder(const members_holder&); - members_holder & operator=(const members_holder&); - - public: - members_holder() - : NodeAlloc(), m_icont() - {} - - template - explicit members_holder(BOOST_FWD_REF(ConvertibleToAlloc) c2alloc) - : NodeAlloc(boost::forward(c2alloc)) - , m_icont() - {} - - template - members_holder(BOOST_FWD_REF(ConvertibleToAlloc) c2alloc, const value_compare &c) - : NodeAlloc(boost::forward(c2alloc)) - , m_icont(typename ICont::value_compare(c)) - {} - - explicit members_holder(const value_compare &c) - : NodeAlloc() - , m_icont(typename ICont::value_compare(c)) - {} - - //The intrusive container - ICont m_icont; - }; - - ICont &non_const_icont() const - { return const_cast(this->members_.m_icont); } - - ICont &icont() - { return this->members_.m_icont; } - - const ICont &icont() const - { return this->members_.m_icont; } - - NodeAlloc &node_alloc() - { return static_cast(this->members_); } - - const NodeAlloc &node_alloc() const - { return static_cast(this->members_); } - - members_holder members_; -}; - -} //namespace container_detail { -} //namespace container { -} //namespace boost { - -#include - -#endif // BOOST_CONTAINER_DETAIL_NODE_ALLOC_HPP_ diff --git a/bundled/boost-1.56.0/include/boost/container/detail/pair.hpp b/bundled/boost-1.56.0/include/boost/container/detail/pair.hpp deleted file mode 100644 index 0d7e0a9b7d..0000000000 --- a/bundled/boost-1.56.0/include/boost/container/detail/pair.hpp +++ /dev/null @@ -1,354 +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_CONTAINER_DETAIL_PAIR_HPP -#define BOOST_CONTAINER_CONTAINER_DETAIL_PAIR_HPP - -#if defined(_MSC_VER) -# pragma once -#endif - -#include -#include - -#include -#include -#include -#include - -#include //std::pair -#include //std::swap - -#include -#include - -#ifndef BOOST_CONTAINER_PERFECT_FORWARDING -#include -#endif - -namespace boost { -namespace container { -namespace container_detail { - -template -struct pair; - -template -struct is_pair -{ - static const bool value = false; -}; - -template -struct is_pair< pair > -{ - static const bool value = true; -}; - -template -struct is_pair< std::pair > -{ - static const bool value = true; -}; - -struct pair_nat; - -struct piecewise_construct_t { }; -static const piecewise_construct_t piecewise_construct = piecewise_construct_t(); - -/* -template -struct pair -{ - template pair(pair&& p); - template - pair(piecewise_construct_t, tuple first_args, - tuple second_args); - - template pair& operator=(const pair& p); - pair& operator=(pair&& p) noexcept(is_nothrow_move_assignable::value && - is_nothrow_move_assignable::value); - template pair& operator=(pair&& p); - - void swap(pair& p) noexcept(noexcept(swap(first, p.first)) && - noexcept(swap(second, p.second))); -}; - -template bool operator==(const pair&, const pair&); -template bool operator!=(const pair&, const pair&); -template bool operator< (const pair&, const pair&); -template bool operator> (const pair&, const pair&); -template bool operator>=(const pair&, const pair&); -template bool operator<=(const pair&, const pair&); -*/ - - -template -struct pair -{ - private: - BOOST_COPYABLE_AND_MOVABLE(pair) - - public: - typedef T1 first_type; - typedef T2 second_type; - - T1 first; - T2 second; - - //Default constructor - pair() - : first(), second() - {} - - //pair copy assignment - pair(const pair& x) - : first(x.first), second(x.second) - {} - - //pair move constructor - pair(BOOST_RV_REF(pair) p) - : first(::boost::move(p.first)), second(::boost::move(p.second)) - {} - - template - pair(const pair &p) - : first(p.first), second(p.second) - {} - - template - pair(BOOST_RV_REF_BEG pair BOOST_RV_REF_END p) - : first(::boost::move(p.first)), second(::boost::move(p.second)) - {} - - //pair from two values - pair(const T1 &t1, const T2 &t2) - : first(t1) - , second(t2) - {} - - template - pair(BOOST_FWD_REF(U) u, BOOST_FWD_REF(V) v) - : first(::boost::forward(u)) - , second(::boost::forward(v)) - {} - - //And now compatibility with std::pair - pair(const std::pair& x) - : first(x.first), second(x.second) - {} - - template - pair(const std::pair& p) - : first(p.first), second(p.second) - {} - - pair(BOOST_RV_REF_BEG std::pair BOOST_RV_REF_END p) - : first(::boost::move(p.first)), second(::boost::move(p.second)) - {} - - template - pair(BOOST_RV_REF_BEG std::pair BOOST_RV_REF_END p) - : first(::boost::move(p.first)), second(::boost::move(p.second)) - {} - - //piecewise_construct missing - //template pair(pair&& p); - //template - // pair(piecewise_construct_t, tuple first_args, - // tuple second_args); -/* - //Variadic versions - template - pair(BOOST_CONTAINER_PP_PARAM(U, u), typename container_detail::disable_if - < container_detail::is_pair< typename container_detail::remove_ref_const::type >, pair_nat>::type* = 0) - : first(::boost::forward(u)) - , second() - {} - - #ifdef BOOST_CONTAINER_PERFECT_FORWARDING - - template - pair(U &&u, V &&v) - : first(::boost::forward(u)) - , second(::boost::forward(v), ::boost::forward(args)...) - {} - - #else - - #define BOOST_PP_LOCAL_MACRO(n) \ - template \ - pair(BOOST_CONTAINER_PP_PARAM(U, u) \ - ,BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - : first(::boost::forward(u)) \ - , second(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)) \ - {} \ - //! - #define BOOST_PP_LOCAL_LIMITS (1, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() - #endif -*/ - //pair copy assignment - pair& operator=(BOOST_COPY_ASSIGN_REF(pair) p) - { - first = p.first; - second = p.second; - return *this; - } - - //pair move assignment - pair& operator=(BOOST_RV_REF(pair) p) - { - first = ::boost::move(p.first); - second = ::boost::move(p.second); - return *this; - } - - template - typename ::boost::container::container_detail::enable_if_c - < !(::boost::container::container_detail::is_same::value && - ::boost::container::container_detail::is_same::value) - , pair &>::type - operator=(const pair&p) - { - first = p.first; - second = p.second; - return *this; - } - - template - typename ::boost::container::container_detail::enable_if_c - < !(::boost::container::container_detail::is_same::value && - ::boost::container::container_detail::is_same::value) - , pair &>::type - operator=(BOOST_RV_REF_BEG pair BOOST_RV_REF_END p) - { - first = ::boost::move(p.first); - second = ::boost::move(p.second); - return *this; - } - - //std::pair copy assignment - pair& operator=(const std::pair &p) - { - first = p.first; - second = p.second; - return *this; - } - - template - pair& operator=(const std::pair &p) - { - first = ::boost::move(p.first); - second = ::boost::move(p.second); - return *this; - } - - //std::pair move assignment - pair& operator=(BOOST_RV_REF_BEG std::pair BOOST_RV_REF_END p) - { - first = ::boost::move(p.first); - second = ::boost::move(p.second); - return *this; - } - - template - pair& operator=(BOOST_RV_REF_BEG std::pair BOOST_RV_REF_END p) - { - first = ::boost::move(p.first); - second = ::boost::move(p.second); - return *this; - } - - //swap - void swap(pair& p) - { - using std::swap; - swap(this->first, p.first); - swap(this->second, p.second); - } -}; - -template -inline bool operator==(const pair& x, const pair& y) -{ return static_cast(x.first == y.first && x.second == y.second); } - -template -inline bool operator< (const pair& x, const pair& y) -{ return static_cast(x.first < y.first || - (!(y.first < x.first) && x.second < y.second)); } - -template -inline bool operator!=(const pair& x, const pair& y) -{ return static_cast(!(x == y)); } - -template -inline bool operator> (const pair& x, const pair& y) -{ return y < x; } - -template -inline bool operator>=(const pair& x, const pair& y) -{ return static_cast(!(x < y)); } - -template -inline bool operator<=(const pair& x, const pair& y) -{ return static_cast(!(y < x)); } - -template -inline pair make_pair(T1 x, T2 y) -{ return pair(x, y); } - -template -inline void swap(pair& x, pair& y) -{ - swap(x.first, y.first); - swap(x.second, y.second); -} - -} //namespace container_detail { -} //namespace container { - - -//Without this specialization recursive flat_(multi)map instantiation fails -//because is_enum needs to instantiate the recursive pair, leading to a compilation error). -//This breaks the cycle clearly stating that pair is not an enum avoiding any instantiation. -template -struct is_enum; - -template -struct is_enum< ::boost::container::container_detail::pair > -{ - static const bool value = false; -}; - -//This specialization is needed to avoid instantiation of pair in -//is_class, and allow recursive maps. -template -struct is_class< ::boost::container::container_detail::pair > - : public ::boost::true_type -{}; - -#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES - -template -struct has_move_emulation_enabled< ::boost::container::container_detail::pair > - : ::boost::true_type -{}; - -#endif - - -} //namespace boost { - -#include - -#endif //#ifndef BOOST_CONTAINER_DETAIL_PAIR_HPP diff --git a/bundled/boost-1.56.0/include/boost/container/detail/singleton.hpp b/bundled/boost-1.56.0/include/boost/container/detail/singleton.hpp deleted file mode 100644 index 0843319a16..0000000000 --- a/bundled/boost-1.56.0/include/boost/container/detail/singleton.hpp +++ /dev/null @@ -1,113 +0,0 @@ -// Copyright (C) 2000 Stephen Cleary -// Copyright (C) 2008 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) -// -// See http://www.boost.org for updates, documentation, and revision history. -// -// This file is a modified file from Boost.Pool - -////////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2007-2013. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/container for documentation. -// -////////////////////////////////////////////////////////////////////////////// - -#ifndef BOOST_CONTAINER_DETAIL_SINGLETON_DETAIL_HPP -#define BOOST_CONTAINER_DETAIL_SINGLETON_DETAIL_HPP - -#include -#include - -// -// The following helper classes are placeholders for a generic "singleton" -// class. The classes below support usage of singletons, including use in -// program startup/shutdown code, AS LONG AS there is only one thread -// running before main() begins, and only one thread running after main() -// exits. -// -// This class is also limited in that it can only provide singleton usage for -// classes with default constructors. -// - -// The design of this class is somewhat twisted, but can be followed by the -// calling inheritance. Let us assume that there is some user code that -// calls "singleton_default::instance()". The following (convoluted) -// sequence ensures that the same function will be called before main(): -// instance() contains a call to create_object.do_nothing() -// Thus, object_creator is implicitly instantiated, and create_object -// must exist. -// Since create_object is a static member, its constructor must be -// called before main(). -// The constructor contains a call to instance(), thus ensuring that -// instance() will be called before main(). -// The first time instance() is called (i.e., before main()) is the -// latest point in program execution where the object of type T -// can be created. -// Thus, any call to instance() will auto-magically result in a call to -// instance() before main(), unless already present. -// Furthermore, since the instance() function contains the object, instead -// of the singleton_default class containing a static instance of the -// object, that object is guaranteed to be constructed (at the latest) in -// the first call to instance(). This permits calls to instance() from -// static code, even if that code is called before the file-scope objects -// in this file have been initialized. - -namespace boost { -namespace container { -namespace container_detail { - -// T must be: no-throw default constructible and no-throw destructible -template -struct singleton_default -{ - private: - struct object_creator - { - // This constructor does nothing more than ensure that instance() - // is called before main() begins, thus creating the static - // T object before multithreading race issues can come up. - object_creator() { singleton_default::instance(); } - inline void do_nothing() const { } - }; - static object_creator create_object; - - singleton_default(); - - public: - typedef T object_type; - - // If, at any point (in user code), singleton_default::instance() - // is called, then the following function is instantiated. - static object_type & instance() - { - // This is the object that we return a reference to. - // It is guaranteed to be created before main() begins because of - // the next line. - static object_type obj; - - // The following line does nothing else than force the instantiation - // of singleton_default::create_object, whose constructor is - // called before main() begins. - create_object.do_nothing(); - - return obj; - } -}; -template -typename singleton_default::object_creator -singleton_default::create_object; - -} // namespace container_detail -} // namespace container -} // namespace boost - -#include - -#endif //BOOST_CONTAINER_DETAIL_SINGLETON_DETAIL_HPP diff --git a/bundled/boost-1.56.0/include/boost/container/detail/transform_iterator.hpp b/bundled/boost-1.56.0/include/boost/container/detail/transform_iterator.hpp deleted file mode 100644 index c4e746c389..0000000000 --- a/bundled/boost-1.56.0/include/boost/container/detail/transform_iterator.hpp +++ /dev/null @@ -1,177 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2005-2013. -// (C) Copyright Gennaro Prota 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) -// -// See http://www.boost.org/libs/container for documentation. -// -////////////////////////////////////////////////////////////////////////////// - -#ifndef BOOST_CONTAINER_DETAIL_TRANSFORM_ITERATORS_HPP -#define BOOST_CONTAINER_DETAIL_TRANSFORM_ITERATORS_HPP - -#if defined(_MSC_VER) -# pragma once -#endif - -#include -#include - -#include -#include - -namespace boost { -namespace container { - -template -struct operator_arrow_proxy -{ - operator_arrow_proxy(const PseudoReference &px) - : m_value(px) - {} - - typedef PseudoReference element_type; - - PseudoReference* operator->() const { return &m_value; } - - mutable PseudoReference m_value; -}; - -template -struct operator_arrow_proxy -{ - operator_arrow_proxy(T &px) - : m_value(px) - {} - - typedef T element_type; - - T* operator->() const { return const_cast(&m_value); } - - T &m_value; -}; - -template -class transform_iterator - : public UnaryFunction - , public std::iterator - < typename Iterator::iterator_category - , typename container_detail::remove_reference::type - , typename Iterator::difference_type - , operator_arrow_proxy - , typename UnaryFunction::result_type> -{ - public: - explicit transform_iterator(const Iterator &it, const UnaryFunction &f = UnaryFunction()) - : UnaryFunction(f), m_it(it) - {} - - explicit transform_iterator() - : UnaryFunction(), m_it() - {} - - //Constructors - transform_iterator& operator++() - { increment(); return *this; } - - transform_iterator operator++(int) - { - transform_iterator result (*this); - increment(); - return result; - } - - friend bool operator== (const transform_iterator& i, const transform_iterator& i2) - { return i.equal(i2); } - - friend bool operator!= (const transform_iterator& i, const transform_iterator& i2) - { return !(i == i2); } - -/* - friend bool operator> (const transform_iterator& i, const transform_iterator& i2) - { return i2 < i; } - - friend bool operator<= (const transform_iterator& i, const transform_iterator& i2) - { return !(i > i2); } - - friend bool operator>= (const transform_iterator& i, const transform_iterator& i2) - { return !(i < i2); } -*/ - friend typename Iterator::difference_type operator- (const transform_iterator& i, const transform_iterator& i2) - { return i2.distance_to(i); } - - //Arithmetic - transform_iterator& operator+=(typename Iterator::difference_type off) - { this->advance(off); return *this; } - - transform_iterator operator+(typename Iterator::difference_type off) const - { - transform_iterator other(*this); - other.advance(off); - return other; - } - - friend transform_iterator operator+(typename Iterator::difference_type off, const transform_iterator& right) - { return right + off; } - - transform_iterator& operator-=(typename Iterator::difference_type off) - { this->advance(-off); return *this; } - - transform_iterator operator-(typename Iterator::difference_type off) const - { return *this + (-off); } - - typename UnaryFunction::result_type operator*() const - { return dereference(); } - - operator_arrow_proxy - operator->() const - { return operator_arrow_proxy(dereference()); } - - Iterator & base() - { return m_it; } - - const Iterator & base() const - { return m_it; } - - private: - Iterator m_it; - - void increment() - { ++m_it; } - - void decrement() - { --m_it; } - - bool equal(const transform_iterator &other) const - { return m_it == other.m_it; } - - bool less(const transform_iterator &other) const - { return other.m_it < m_it; } - - typename UnaryFunction::result_type dereference() const - { return UnaryFunction::operator()(*m_it); } - - void advance(typename Iterator::difference_type n) - { std::advance(m_it, n); } - - typename Iterator::difference_type distance_to(const transform_iterator &other)const - { return std::distance(other.m_it, m_it); } -}; - -template -transform_iterator -make_transform_iterator(Iterator it, UnaryFunc fun) -{ - return transform_iterator(it, fun); -} - -} //namespace container { -} //namespace boost { - -#include - -#endif //#ifndef BOOST_CONTAINER_DETAIL_TRANSFORM_ITERATORS_HPP diff --git a/bundled/boost-1.56.0/include/boost/container/detail/tree.hpp b/bundled/boost-1.56.0/include/boost/container/detail/tree.hpp deleted file mode 100644 index 8ccf2798d4..0000000000 --- a/bundled/boost-1.56.0/include/boost/container/detail/tree.hpp +++ /dev/null @@ -1,1173 +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_TREE_HPP -#define BOOST_CONTAINER_TREE_HPP - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// -#include -#include -#include -#include -#include -// -#include -#include -#include -// -#ifndef BOOST_CONTAINER_PERFECT_FORWARDING -#include -#endif - -#include //std::pair -#include -#include - -namespace boost { -namespace container { -namespace container_detail { - -template -struct tree_value_compare - : public KeyCompare -{ - typedef Value value_type; - typedef KeyCompare key_compare; - typedef KeyOfValue key_of_value; - typedef Key key_type; - - explicit tree_value_compare(const key_compare &kcomp) - : KeyCompare(kcomp) - {} - - tree_value_compare() - : KeyCompare() - {} - - const key_compare &key_comp() const - { return static_cast(*this); } - - key_compare &key_comp() - { return static_cast(*this); } - - template - struct is_key - { - static const bool value = is_same::value; - }; - - template - typename enable_if_c::value, const key_type &>::type - key_forward(const T &key) const - { return key; } - - template - typename enable_if_c::value, const key_type &>::type - key_forward(const T &key) const - { return KeyOfValue()(key); } - - template - bool operator()(const KeyType &key1, const KeyType2 &key2) const - { return key_compare::operator()(this->key_forward(key1), this->key_forward(key2)); } -}; - -template -struct intrusive_tree_hook; - -template -struct intrusive_tree_hook -{ - typedef typename container_detail::bi::make_set_base_hook - < container_detail::bi::void_pointer - , container_detail::bi::link_mode - , container_detail::bi::optimize_size - >::type type; -}; - -template -struct intrusive_tree_hook -{ - typedef typename container_detail::bi::make_avl_set_base_hook - < container_detail::bi::void_pointer - , container_detail::bi::link_mode - , container_detail::bi::optimize_size - >::type type; -}; - -template -struct intrusive_tree_hook -{ - typedef typename container_detail::bi::make_bs_set_base_hook - < container_detail::bi::void_pointer - , container_detail::bi::link_mode - >::type type; -}; - -template -struct intrusive_tree_hook -{ - typedef typename container_detail::bi::make_bs_set_base_hook - < container_detail::bi::void_pointer - , container_detail::bi::link_mode - >::type type; -}; - -//This trait is used to type-pun std::pair because in C++03 -//compilers std::pair is useless for C++11 features -template -struct tree_internal_data_type -{ - typedef T type; -}; - -template -struct tree_internal_data_type< std::pair > -{ - typedef pair type; -}; - -//The node to be store in the tree -template -struct tree_node - : public intrusive_tree_hook::type -{ - private: - //BOOST_COPYABLE_AND_MOVABLE(tree_node) - tree_node(); - - public: - typedef typename intrusive_tree_hook - ::type hook_type; - typedef T value_type; - typedef typename tree_internal_data_type::type internal_type; - - typedef tree_node< T, VoidPointer - , tree_type_value, OptimizeSize> node_type; - - T &get_data() - { - T* ptr = reinterpret_cast(&this->m_data); - return *ptr; - } - - const T &get_data() const - { - const T* ptr = reinterpret_cast(&this->m_data); - return *ptr; - } - - internal_type m_data; - - template - void do_assign(const std::pair &p) - { - const_cast(m_data.first) = p.first; - m_data.second = p.second; - } - - template - void do_assign(const pair &p) - { - const_cast(m_data.first) = p.first; - m_data.second = p.second; - } - - template - void do_assign(const V &v) - { m_data = v; } - - template - void do_move_assign(std::pair &p) - { - const_cast(m_data.first) = ::boost::move(p.first); - m_data.second = ::boost::move(p.second); - } - - template - void do_move_assign(pair &p) - { - const_cast(m_data.first) = ::boost::move(p.first); - m_data.second = ::boost::move(p.second); - } - - template - void do_move_assign(V &v) - { m_data = ::boost::move(v); } -}; - -template -class insert_equal_end_hint_functor -{ - Icont &icont_; - - public: - insert_equal_end_hint_functor(Icont &icont) - : icont_(icont) - {} - - void operator()(Node &n) - { this->icont_.insert_equal(this->icont_.cend(), n); } -}; - -template -class push_back_functor -{ - Icont &icont_; - - public: - push_back_functor(Icont &icont) - : icont_(icont) - {} - - void operator()(Node &n) - { this->icont_.push_back(n); } -}; - -}//namespace container_detail { - -namespace container_detail { - -template< class NodeType, class NodeCompareType - , class SizeType, class HookType - , boost::container::tree_type_enum tree_type_value> -struct intrusive_tree_dispatch; - -template -struct intrusive_tree_dispatch - -{ - typedef typename container_detail::bi::make_rbtree - - ,container_detail::bi::base_hook - ,container_detail::bi::constant_time_size - ,container_detail::bi::size_type - >::type type; -}; - -template -struct intrusive_tree_dispatch - -{ - typedef typename container_detail::bi::make_avltree - - ,container_detail::bi::base_hook - ,container_detail::bi::constant_time_size - ,container_detail::bi::size_type - >::type type; -}; - -template -struct intrusive_tree_dispatch - -{ - typedef typename container_detail::bi::make_sgtree - - ,container_detail::bi::base_hook - ,container_detail::bi::floating_point - ,container_detail::bi::size_type - >::type type; -}; - -template -struct intrusive_tree_dispatch - -{ - typedef typename container_detail::bi::make_splaytree - - ,container_detail::bi::base_hook - ,container_detail::bi::constant_time_size - ,container_detail::bi::size_type - >::type type; -}; - -template -struct intrusive_tree_type -{ - private: - typedef typename boost::container:: - allocator_traits::value_type value_type; - typedef typename boost::container:: - allocator_traits::void_pointer void_pointer; - typedef typename boost::container:: - allocator_traits::size_type size_type; - typedef typename container_detail::tree_node - < value_type, void_pointer - , tree_type_value, OptimizeSize> node_type; - typedef node_compare node_compare_type; - //Deducing the hook type from node_type (e.g. node_type::hook_type) would - //provoke an early instantiation of node_type that could ruin recursive - //tree definitions, so retype the complete type to avoid any problem. - typedef typename intrusive_tree_hook - ::type hook_type; - public: - typedef typename intrusive_tree_dispatch - < node_type, node_compare_type - , size_type, hook_type - , tree_type_value>::type type; -}; - -//Trait to detect manually rebalanceable tree types -template -struct is_manually_balanceable -{ static const bool value = true; }; - -template<> struct is_manually_balanceable -{ static const bool value = false; }; - -template<> struct is_manually_balanceable -{ static const bool value = false; }; - -//Proxy traits to implement different operations depending on the -//is_manually_balanceable<>::value -template< boost::container::tree_type_enum tree_type_value - , bool IsManuallyRebalanceable = is_manually_balanceable::value> -struct intrusive_tree_proxy -{ - template - static void rebalance(Icont &) {} -}; - -template -struct intrusive_tree_proxy -{ - template - static void rebalance(Icont &c) - { c.rebalance(); } -}; - -} //namespace container_detail { - -namespace container_detail { - -//This functor will be used with Intrusive clone functions to obtain -//already allocated nodes from a intrusive container instead of -//allocating new ones. When the intrusive container runs out of nodes -//the node holder is used instead. -template -class RecyclingCloner -{ - typedef typename AllocHolder::intrusive_container intrusive_container; - typedef typename AllocHolder::Node node_type; - typedef typename AllocHolder::NodePtr node_ptr_type; - - public: - RecyclingCloner(AllocHolder &holder, intrusive_container &itree) - : m_holder(holder), m_icont(itree) - {} - - static void do_assign(node_ptr_type &p, const node_type &other, bool_) - { p->do_assign(other.m_data); } - - static void do_assign(node_ptr_type &p, const node_type &other, bool_) - { p->do_move_assign(const_cast(other).m_data); } - - node_ptr_type operator()(const node_type &other) const - { - if(node_ptr_type p = m_icont.unlink_leftmost_without_rebalance()){ - //First recycle a node (this can't throw) - BOOST_TRY{ - //This can throw - this->do_assign(p, other, bool_()); - return p; - } - BOOST_CATCH(...){ - //If there is an exception destroy the whole source - m_holder.destroy_node(p); - while((p = m_icont.unlink_leftmost_without_rebalance())){ - m_holder.destroy_node(p); - } - BOOST_RETHROW - } - BOOST_CATCH_END - } - else{ - return m_holder.create_node(other.m_data); - } - } - - AllocHolder &m_holder; - intrusive_container &m_icont; -}; - -template -//where KeyValueCompare is tree_value_compare -struct key_node_compare - : private KeyValueCompare -{ - explicit key_node_compare(const KeyValueCompare &comp) - : KeyValueCompare(comp) - {} - - template - struct is_node - { - static const bool value = is_same::value; - }; - - template - typename enable_if_c::value, const typename KeyValueCompare::value_type &>::type - key_forward(const T &node) const - { return node.get_data(); } - - template - typename enable_if_c::value, const T &>::type - key_forward(const T &key) const - { return key; } - - template - bool operator()(const KeyType &key1, const KeyType2 &key2) const - { return KeyValueCompare::operator()(this->key_forward(key1), this->key_forward(key2)); } -}; - -template -class tree - : protected container_detail::node_alloc_holder - < A - , typename container_detail::intrusive_tree_type - < A, tree_value_compare //ValComp - , Options::tree_type, Options::optimize_size>::type - > -{ - typedef tree_value_compare - ValComp; - typedef typename container_detail::intrusive_tree_type - < A, ValComp, Options::tree_type - , Options::optimize_size>::type Icont; - typedef container_detail::node_alloc_holder - AllocHolder; - typedef typename AllocHolder::NodePtr NodePtr; - typedef tree < Key, Value, KeyOfValue - , KeyCompare, A, Options> ThisType; - typedef typename AllocHolder::NodeAlloc NodeAlloc; - typedef typename AllocHolder::ValAlloc ValAlloc; - typedef typename AllocHolder::Node Node; - typedef typename Icont::iterator iiterator; - typedef typename Icont::const_iterator iconst_iterator; - typedef container_detail::allocator_destroyer Destroyer; - typedef typename AllocHolder::allocator_v1 allocator_v1; - typedef typename AllocHolder::allocator_v2 allocator_v2; - typedef typename AllocHolder::alloc_version alloc_version; - typedef intrusive_tree_proxy intrusive_tree_proxy_t; - - BOOST_COPYABLE_AND_MOVABLE(tree) - - public: - - typedef Key key_type; - typedef Value value_type; - typedef A allocator_type; - typedef KeyCompare key_compare; - typedef ValComp value_compare; - typedef typename boost::container:: - allocator_traits::pointer pointer; - typedef typename boost::container:: - allocator_traits::const_pointer const_pointer; - typedef typename boost::container:: - allocator_traits::reference reference; - typedef typename boost::container:: - allocator_traits::const_reference const_reference; - typedef typename boost::container:: - allocator_traits::size_type size_type; - typedef typename boost::container:: - allocator_traits::difference_type difference_type; - typedef difference_type tree_difference_type; - typedef pointer tree_pointer; - typedef const_pointer tree_const_pointer; - typedef reference tree_reference; - typedef const_reference tree_const_reference; - typedef NodeAlloc stored_allocator_type; - - private: - - typedef key_node_compare KeyNodeCompare; - - public: - typedef container_detail::iterator iterator; - typedef container_detail::iterator const_iterator; - typedef std::reverse_iterator reverse_iterator; - typedef std::reverse_iterator const_reverse_iterator; - - tree() - : AllocHolder(ValComp(key_compare())) - {} - - explicit tree(const key_compare& comp, const allocator_type& a = allocator_type()) - : AllocHolder(a, ValComp(comp)) - {} - - explicit tree(const allocator_type& a) - : AllocHolder(a) - {} - - template - tree(bool unique_insertion, InputIterator first, InputIterator last, const key_compare& comp, - const allocator_type& a - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < container_detail::is_input_iterator::value - || container_detail::is_same::value - >::type * = 0 - #endif - ) - : AllocHolder(a, value_compare(comp)) - { - //Use cend() as hint to achieve linear time for - //ordered ranges as required by the standard - //for the constructor - const const_iterator end_it(this->cend()); - if(unique_insertion){ - for ( ; first != last; ++first){ - this->insert_unique(end_it, *first); - } - } - else{ - for ( ; first != last; ++first){ - this->insert_equal(end_it, *first); - } - } - } - - template - tree(bool unique_insertion, InputIterator first, InputIterator last, const key_compare& comp, - const allocator_type& a - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < !(container_detail::is_input_iterator::value - || container_detail::is_same::value) - >::type * = 0 - #endif - ) - : AllocHolder(a, value_compare(comp)) - { - if(unique_insertion){ - //Use cend() as hint to achieve linear time for - //ordered ranges as required by the standard - //for the constructor - const const_iterator end_it(this->cend()); - for ( ; first != last; ++first){ - this->insert_unique(end_it, *first); - } - } - else{ - //Optimized allocation and construction - this->allocate_many_and_construct - ( first, std::distance(first, last) - , insert_equal_end_hint_functor(this->icont())); - } - } - - template - tree( ordered_range_t, InputIterator first, InputIterator last - , const key_compare& comp = key_compare(), const allocator_type& a = allocator_type() - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < container_detail::is_input_iterator::value - || container_detail::is_same::value - >::type * = 0 - #endif - ) - : AllocHolder(a, value_compare(comp)) - { - for ( ; first != last; ++first){ - this->push_back_impl(*first); - } - } - - template - tree( ordered_range_t, InputIterator first, InputIterator last - , const key_compare& comp = key_compare(), const allocator_type& a = allocator_type() - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < !(container_detail::is_input_iterator::value - || container_detail::is_same::value) - >::type * = 0 - #endif - ) - : AllocHolder(a, value_compare(comp)) - { - //Optimized allocation and construction - this->allocate_many_and_construct - ( first, std::distance(first, last) - , container_detail::push_back_functor(this->icont())); - } - - tree(const tree& x) - : AllocHolder(x, x.value_comp()) - { - this->icont().clone_from - (x.icont(), typename AllocHolder::cloner(*this), Destroyer(this->node_alloc())); - } - - tree(BOOST_RV_REF(tree) x) - : AllocHolder(::boost::move(static_cast(x)), x.value_comp()) - {} - - tree(const tree& x, const allocator_type &a) - : AllocHolder(a, x.value_comp()) - { - this->icont().clone_from - (x.icont(), typename AllocHolder::cloner(*this), Destroyer(this->node_alloc())); - } - - tree(BOOST_RV_REF(tree) x, const allocator_type &a) - : AllocHolder(a, x.value_comp()) - { - if(this->node_alloc() == x.node_alloc()){ - this->icont().swap(x.icont()); - } - else{ - this->icont().clone_from - (x.icont(), typename AllocHolder::cloner(*this), Destroyer(this->node_alloc())); - } - } - - ~tree() - {} //AllocHolder clears the tree - - tree& operator=(BOOST_COPY_ASSIGN_REF(tree) x) - { - if (&x != this){ - NodeAlloc &this_alloc = this->get_stored_allocator(); - const NodeAlloc &x_alloc = x.get_stored_allocator(); - container_detail::bool_:: - propagate_on_container_copy_assignment::value> flag; - if(flag && this_alloc != x_alloc){ - this->clear(); - } - this->AllocHolder::copy_assign_alloc(x); - //Transfer all the nodes to a temporary tree - //If anything goes wrong, all the nodes will be destroyed - //automatically - Icont other_tree(::boost::move(this->icont())); - - //Now recreate the source tree reusing nodes stored by other_tree - this->icont().clone_from - (x.icont() - , RecyclingCloner(*this, other_tree) - , Destroyer(this->node_alloc())); - - //If there are remaining nodes, destroy them - NodePtr p; - while((p = other_tree.unlink_leftmost_without_rebalance())){ - AllocHolder::destroy_node(p); - } - } - return *this; - } - - tree& operator=(BOOST_RV_REF(tree) x) - { - BOOST_ASSERT(this != &x); - NodeAlloc &this_alloc = this->node_alloc(); - NodeAlloc &x_alloc = x.node_alloc(); - const bool propagate_alloc = allocator_traits:: - propagate_on_container_move_assignment::value; - 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 - this->clear(); - //Move allocator if needed - this->AllocHolder::move_assign_alloc(x); - //Obtain resources - this->icont() = boost::move(x.icont()); - } - //Else do a one by one move - else{ - //Transfer all the nodes to a temporary tree - //If anything goes wrong, all the nodes will be destroyed - //automatically - Icont other_tree(::boost::move(this->icont())); - - //Now recreate the source tree reusing nodes stored by other_tree - this->icont().clone_from - (x.icont() - , RecyclingCloner(*this, other_tree) - , Destroyer(this->node_alloc())); - - //If there are remaining nodes, destroy them - NodePtr p; - while((p = other_tree.unlink_leftmost_without_rebalance())){ - AllocHolder::destroy_node(p); - } - } - return *this; - } - - public: - // accessors: - value_compare value_comp() const - { return this->icont().value_comp().value_comp(); } - - key_compare key_comp() const - { return this->icont().value_comp().value_comp().key_comp(); } - - allocator_type get_allocator() const - { return allocator_type(this->node_alloc()); } - - const stored_allocator_type &get_stored_allocator() const - { return this->node_alloc(); } - - stored_allocator_type &get_stored_allocator() - { return this->node_alloc(); } - - iterator begin() - { return iterator(this->icont().begin()); } - - const_iterator begin() const - { return this->cbegin(); } - - iterator end() - { return iterator(this->icont().end()); } - - const_iterator end() const - { return this->cend(); } - - reverse_iterator rbegin() - { return reverse_iterator(end()); } - - const_reverse_iterator rbegin() const - { return this->crbegin(); } - - reverse_iterator rend() - { return reverse_iterator(begin()); } - - const_reverse_iterator rend() const - { return this->crend(); } - - //! Effects: Returns a const_iterator to the first element contained in the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator cbegin() const - { return const_iterator(this->non_const_icont().begin()); } - - //! Effects: Returns a const_iterator to the end of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator cend() const - { return const_iterator(this->non_const_icont().end()); } - - //! Effects: Returns a const_reverse_iterator pointing to the beginning - //! of the reversed container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator crbegin() const - { return const_reverse_iterator(cend()); } - - //! Effects: Returns a const_reverse_iterator pointing to the end - //! of the reversed container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator crend() const - { return const_reverse_iterator(cbegin()); } - - bool empty() const - { return !this->size(); } - - size_type size() const - { return this->icont().size(); } - - size_type max_size() const - { return AllocHolder::max_size(); } - - void swap(ThisType& x) - { AllocHolder::swap(x); } - - public: - - typedef typename Icont::insert_commit_data insert_commit_data; - - // insert/erase - std::pair insert_unique_check - (const key_type& key, insert_commit_data &data) - { - std::pair ret = - this->icont().insert_unique_check(key, KeyNodeCompare(value_comp()), data); - return std::pair(iterator(ret.first), ret.second); - } - - std::pair insert_unique_check - (const_iterator hint, const key_type& key, insert_commit_data &data) - { - std::pair ret = - this->icont().insert_unique_check(hint.get(), key, KeyNodeCompare(value_comp()), data); - return std::pair(iterator(ret.first), ret.second); - } - - iterator insert_unique_commit(const value_type& v, insert_commit_data &data) - { - NodePtr tmp = AllocHolder::create_node(v); - scoped_destroy_deallocator destroy_deallocator(tmp, this->node_alloc()); - iterator ret(this->icont().insert_unique_commit(*tmp, data)); - destroy_deallocator.release(); - return ret; - } - - template - iterator insert_unique_commit - (BOOST_FWD_REF(MovableConvertible) mv, insert_commit_data &data) - { - NodePtr tmp = AllocHolder::create_node(boost::forward(mv)); - scoped_destroy_deallocator destroy_deallocator(tmp, this->node_alloc()); - iterator ret(this->icont().insert_unique_commit(*tmp, data)); - destroy_deallocator.release(); - return ret; - } - - std::pair insert_unique(const value_type& v) - { - insert_commit_data data; - std::pair ret = - this->insert_unique_check(KeyOfValue()(v), data); - if(ret.second){ - ret.first = this->insert_unique_commit(v, data); - } - return ret; - } - - template - std::pair insert_unique(BOOST_FWD_REF(MovableConvertible) mv) - { - insert_commit_data data; - std::pair ret = - this->insert_unique_check(KeyOfValue()(mv), data); - if(ret.second){ - ret.first = this->insert_unique_commit(boost::forward(mv), data); - } - return ret; - } - - private: - - template - void push_back_impl(BOOST_FWD_REF(MovableConvertible) mv) - { - NodePtr tmp(AllocHolder::create_node(boost::forward(mv))); - //push_back has no-throw guarantee so avoid any deallocator/destroyer - this->icont().push_back(*tmp); - } - - std::pair emplace_unique_impl(NodePtr p) - { - value_type &v = p->get_data(); - insert_commit_data data; - scoped_destroy_deallocator destroy_deallocator(p, this->node_alloc()); - std::pair ret = - this->insert_unique_check(KeyOfValue()(v), data); - if(!ret.second){ - return ret; - } - //No throw insertion part, release rollback - destroy_deallocator.release(); - return std::pair - ( iterator(iiterator(this->icont().insert_unique_commit(*p, data))) - , true ); - } - - iterator emplace_unique_hint_impl(const_iterator hint, NodePtr p) - { - value_type &v = p->get_data(); - insert_commit_data data; - std::pair ret = - this->insert_unique_check(hint, KeyOfValue()(v), data); - if(!ret.second){ - Destroyer(this->node_alloc())(p); - return ret.first; - } - return iterator(iiterator(this->icont().insert_unique_commit(*p, data))); - } - - public: - - #ifdef BOOST_CONTAINER_PERFECT_FORWARDING - - template - std::pair emplace_unique(Args&&... args) - { return this->emplace_unique_impl(AllocHolder::create_node(boost::forward(args)...)); } - - template - iterator emplace_hint_unique(const_iterator hint, Args&&... args) - { return this->emplace_unique_hint_impl(hint, AllocHolder::create_node(boost::forward(args)...)); } - - template - iterator emplace_equal(Args&&... args) - { - NodePtr tmp(AllocHolder::create_node(boost::forward(args)...)); - scoped_destroy_deallocator destroy_deallocator(tmp, this->node_alloc()); - iterator ret(this->icont().insert_equal(this->icont().end(), *tmp)); - destroy_deallocator.release(); - return ret; - } - - template - iterator emplace_hint_equal(const_iterator hint, Args&&... args) - { - NodePtr tmp(AllocHolder::create_node(boost::forward(args)...)); - scoped_destroy_deallocator destroy_deallocator(tmp, this->node_alloc()); - iterator ret(this->icont().insert_equal(hint.get(), *tmp)); - destroy_deallocator.release(); - return ret; - } - - #else //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING - - #define BOOST_PP_LOCAL_MACRO(n) \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - std::pair emplace_unique(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - return this->emplace_unique_impl \ - (AllocHolder::create_node(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _))); \ - } \ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace_hint_unique(const_iterator hint \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - return this->emplace_unique_hint_impl \ - (hint, AllocHolder::create_node(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _))); \ - } \ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace_equal(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - NodePtr tmp(AllocHolder::create_node(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _))); \ - scoped_destroy_deallocator destroy_deallocator(tmp, this->node_alloc()); \ - iterator ret(this->icont().insert_equal(this->icont().end(), *tmp)); \ - destroy_deallocator.release(); \ - return ret; \ - } \ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace_hint_equal(const_iterator hint \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - NodePtr tmp(AllocHolder::create_node(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _))); \ - scoped_destroy_deallocator destroy_deallocator(tmp, this->node_alloc()); \ - iterator ret(this->icont().insert_equal(hint.get(), *tmp)); \ - destroy_deallocator.release(); \ - return ret; \ - } \ - //! - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() - - #endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING - - iterator insert_unique(const_iterator hint, const value_type& v) - { - insert_commit_data data; - std::pair ret = - this->insert_unique_check(hint, KeyOfValue()(v), data); - if(!ret.second) - return ret.first; - return this->insert_unique_commit(v, data); - } - - template - iterator insert_unique(const_iterator hint, BOOST_FWD_REF(MovableConvertible) mv) - { - insert_commit_data data; - std::pair ret = - this->insert_unique_check(hint, KeyOfValue()(mv), data); - if(!ret.second) - return ret.first; - return this->insert_unique_commit(boost::forward(mv), data); - } - - template - void insert_unique(InputIterator first, InputIterator last) - { - for( ; first != last; ++first) - this->insert_unique(*first); - } - - iterator insert_equal(const value_type& v) - { - NodePtr tmp(AllocHolder::create_node(v)); - scoped_destroy_deallocator destroy_deallocator(tmp, this->node_alloc()); - iterator ret(this->icont().insert_equal(this->icont().end(), *tmp)); - destroy_deallocator.release(); - return ret; - } - - template - iterator insert_equal(BOOST_FWD_REF(MovableConvertible) mv) - { - NodePtr tmp(AllocHolder::create_node(boost::forward(mv))); - scoped_destroy_deallocator destroy_deallocator(tmp, this->node_alloc()); - iterator ret(this->icont().insert_equal(this->icont().end(), *tmp)); - destroy_deallocator.release(); - return ret; - } - - iterator insert_equal(const_iterator hint, const value_type& v) - { - NodePtr tmp(AllocHolder::create_node(v)); - scoped_destroy_deallocator destroy_deallocator(tmp, this->node_alloc()); - iterator ret(this->icont().insert_equal(hint.get(), *tmp)); - destroy_deallocator.release(); - return ret; - } - - template - iterator insert_equal(const_iterator hint, BOOST_FWD_REF(MovableConvertible) mv) - { - NodePtr tmp(AllocHolder::create_node(boost::forward(mv))); - scoped_destroy_deallocator destroy_deallocator(tmp, this->node_alloc()); - iterator ret(this->icont().insert_equal(hint.get(), *tmp)); - destroy_deallocator.release(); - return ret; - } - - template - void insert_equal(InputIterator first, InputIterator last) - { - for( ; first != last; ++first) - this->insert_equal(*first); - } - - iterator erase(const_iterator position) - { return iterator(this->icont().erase_and_dispose(position.get(), Destroyer(this->node_alloc()))); } - - size_type erase(const key_type& k) - { return AllocHolder::erase_key(k, KeyNodeCompare(value_comp()), alloc_version()); } - - iterator erase(const_iterator first, const_iterator last) - { return iterator(AllocHolder::erase_range(first.get(), last.get(), alloc_version())); } - - void clear() - { AllocHolder::clear(alloc_version()); } - - // search operations. Const and non-const overloads even if no iterator is returned - // so splay implementations can to their rebalancing when searching in non-const versions - iterator find(const key_type& k) - { return iterator(this->icont().find(k, KeyNodeCompare(value_comp()))); } - - const_iterator find(const key_type& k) const - { return const_iterator(this->non_const_icont().find(k, KeyNodeCompare(value_comp()))); } - - size_type count(const key_type& k) const - { return size_type(this->icont().count(k, KeyNodeCompare(value_comp()))); } - - iterator lower_bound(const key_type& k) - { return iterator(this->icont().lower_bound(k, KeyNodeCompare(value_comp()))); } - - const_iterator lower_bound(const key_type& k) const - { return const_iterator(this->non_const_icont().lower_bound(k, KeyNodeCompare(value_comp()))); } - - iterator upper_bound(const key_type& k) - { return iterator(this->icont().upper_bound(k, KeyNodeCompare(value_comp()))); } - - const_iterator upper_bound(const key_type& k) const - { return const_iterator(this->non_const_icont().upper_bound(k, KeyNodeCompare(value_comp()))); } - - std::pair equal_range(const key_type& k) - { - std::pair ret = - this->icont().equal_range(k, KeyNodeCompare(value_comp())); - return std::pair(iterator(ret.first), iterator(ret.second)); - } - - std::pair equal_range(const key_type& k) const - { - std::pair ret = - this->non_const_icont().equal_range(k, KeyNodeCompare(value_comp())); - return std::pair - (const_iterator(ret.first), const_iterator(ret.second)); - } - - std::pair lower_bound_range(const key_type& k) - { - std::pair ret = - this->icont().lower_bound_range(k, KeyNodeCompare(value_comp())); - return std::pair(iterator(ret.first), iterator(ret.second)); - } - - std::pair lower_bound_range(const key_type& k) const - { - std::pair ret = - this->non_const_icont().lower_bound_range(k, KeyNodeCompare(value_comp())); - return std::pair - (const_iterator(ret.first), const_iterator(ret.second)); - } - - void rebalance() - { intrusive_tree_proxy_t::rebalance(this->icont()); } - - friend bool operator==(const tree& x, const tree& y) - { return x.size() == y.size() && std::equal(x.begin(), x.end(), y.begin()); } - - friend bool operator<(const tree& x, const tree& y) - { return std::lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); } - - friend bool operator!=(const tree& x, const tree& y) - { return !(x == y); } - - friend bool operator>(const tree& x, const tree& y) - { return y < x; } - - friend bool operator<=(const tree& x, const tree& y) - { return !(y < x); } - - friend bool operator>=(const tree& x, const tree& y) - { return !(x < y); } - - friend void swap(tree& x, tree& y) - { x.swap(y); } -}; - -} //namespace container_detail { -} //namespace container { -/* -//!has_trivial_destructor_after_move<> == true_type -//!specialization for optimizations -template -struct has_trivial_destructor_after_move - > -{ - static const bool value = has_trivial_destructor_after_move::value && has_trivial_destructor_after_move::value; -}; -*/ -} //namespace boost { - -#include - -#endif //BOOST_CONTAINER_TREE_HPP diff --git a/bundled/boost-1.56.0/include/boost/container/detail/type_traits.hpp b/bundled/boost-1.56.0/include/boost/container/detail/type_traits.hpp deleted file mode 100644 index 6f20bd5244..0000000000 --- a/bundled/boost-1.56.0/include/boost/container/detail/type_traits.hpp +++ /dev/null @@ -1,211 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// (C) Copyright John Maddock 2000. -// (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. -// -// The alignment_of implementation comes from John Maddock's boost::alignment_of code -// -////////////////////////////////////////////////////////////////////////////// - -#ifndef BOOST_CONTAINER_CONTAINER_DETAIL_TYPE_TRAITS_HPP -#define BOOST_CONTAINER_CONTAINER_DETAIL_TYPE_TRAITS_HPP - -#if defined(_MSC_VER) -# pragma once -#endif - -#include -#include - -#include - -namespace boost { -namespace container { -namespace container_detail { - -struct nat{}; - -template -struct LowPriorityConversion -{ - // Convertible from T with user-defined-conversion rank. - LowPriorityConversion(const U&) { } -}; - -//boost::alignment_of yields to 10K lines of preprocessed code, so we -//need an alternative -template struct alignment_of; - -template -struct alignment_of_hack -{ - char c; - T t; - alignment_of_hack(); -}; - -template -struct alignment_logic -{ - enum{ value = A < S ? A : S }; -}; - -template< typename T > -struct alignment_of -{ - enum{ value = alignment_logic - < sizeof(alignment_of_hack) - sizeof(T) - , sizeof(T)>::value }; -}; - -//This is not standard, but should work with all compilers -union max_align -{ - char char_; - short short_; - int int_; - long long_; - #ifdef BOOST_HAS_LONG_LONG - long long long_long_; - #endif - float float_; - double double_; - long double long_double_; - void * void_ptr_; -}; - -template -struct remove_reference -{ - typedef T type; -}; - -template -struct remove_reference -{ - typedef T type; -}; - -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - -template -struct remove_reference -{ - typedef T type; -}; - -#else - -template -struct remove_reference< ::boost::rv > -{ - typedef T type; -}; - -#endif - -template -struct is_reference -{ - enum { value = false }; -}; - -template -struct is_reference -{ - enum { value = true }; -}; - -template -struct is_pointer -{ - enum { value = false }; -}; - -template -struct is_pointer -{ - enum { value = true }; -}; - -template -struct add_reference -{ - typedef T& type; -}; - -template -struct add_reference -{ - typedef T& type; -}; - -template<> -struct add_reference -{ - typedef nat &type; -}; - -template<> -struct add_reference -{ - typedef const nat &type; -}; - -template -struct add_const_reference -{ typedef const T &type; }; - -template -struct add_const_reference -{ typedef T& type; }; - -template -struct is_same -{ - typedef char yes_type; - struct no_type - { - char padding[8]; - }; - - template - static yes_type is_same_tester(V*, V*); - static no_type is_same_tester(...); - - static T *t; - static U *u; - - static const bool value = sizeof(yes_type) == sizeof(is_same_tester(t,u)); -}; - -template -struct remove_const -{ - typedef T type; -}; - -template -struct remove_const< const T> -{ - typedef T type; -}; - -template -struct remove_ref_const -{ - typedef typename remove_const< typename remove_reference::type >::type type; -}; - -} // namespace container_detail -} //namespace container { -} //namespace boost { - -#include - -#endif //#ifndef BOOST_CONTAINER_CONTAINER_DETAIL_TYPE_TRAITS_HPP diff --git a/bundled/boost-1.56.0/include/boost/container/detail/workaround.hpp b/bundled/boost-1.56.0/include/boost/container/detail/workaround.hpp deleted file mode 100644 index c290861275..0000000000 --- a/bundled/boost-1.56.0/include/boost/container/detail/workaround.hpp +++ /dev/null @@ -1,63 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2005-2013. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/container for documentation. -// -////////////////////////////////////////////////////////////////////////////// - -#ifndef BOOST_CONTAINER_DETAIL_WORKAROUND_HPP -#define BOOST_CONTAINER_DETAIL_WORKAROUND_HPP - -#include - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)\ - && !defined(BOOST_INTERPROCESS_DISABLE_VARIADIC_TMPL) - #define BOOST_CONTAINER_PERFECT_FORWARDING -#endif - -#if defined(BOOST_NO_CXX11_NOEXCEPT) - #if defined(BOOST_MSVC) - #define BOOST_CONTAINER_NOEXCEPT throw() - #else - #define BOOST_CONTAINER_NOEXCEPT - #endif - #define BOOST_CONTAINER_NOEXCEPT_IF(x) -#else - #define BOOST_CONTAINER_NOEXCEPT noexcept - #define BOOST_CONTAINER_NOEXCEPT_IF(x) noexcept(x) -#endif - -#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && defined(__GXX_EXPERIMENTAL_CXX0X__)\ - && (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ < 40700) - #define BOOST_CONTAINER_UNIMPLEMENTED_PACK_EXPANSION_TO_FIXED_LIST -#endif - -#if !defined(BOOST_FALLTHOUGH) - #define BOOST_CONTAINER_FALLTHOUGH -#else - #define BOOST_CONTAINER_FALLTHOUGH BOOST_FALLTHOUGH; -#endif - -//Macros for documentation purposes. For code, expands to the argument -#define BOOST_CONTAINER_IMPDEF(TYPE) TYPE -#define BOOST_CONTAINER_SEEDOC(TYPE) TYPE - -//Macros for memset optimization. In most platforms -//memsetting pointers and floatings is safe and faster. -// -//If your platform does not offer these guarantees -//define these to value zero. -#ifndef BOOST_CONTAINER_MEMZEROED_FLOATING_POINT_IS_NOT_ZERO -#define BOOST_CONTAINER_MEMZEROED_FLOATING_POINT_IS_ZERO 1 -#endif - -#ifndef BOOST_CONTAINER_MEMZEROED_POINTER_IS_NOT_NULL -#define BOOST_CONTAINER_MEMZEROED_POINTER_IS_NULL -#endif - -#include - -#endif //#ifndef BOOST_CONTAINER_DETAIL_WORKAROUND_HPP diff --git a/bundled/boost-1.56.0/include/boost/container/flat_map.hpp b/bundled/boost-1.56.0/include/boost/container/flat_map.hpp deleted file mode 100644 index 7f64e323cf..0000000000 --- a/bundled/boost-1.56.0/include/boost/container/flat_map.hpp +++ /dev/null @@ -1,1757 +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 - -#if defined(_MSC_VER) -# pragma once -#endif - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { -namespace container { - -#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -namespace container_detail{ - -template -static D &force(const S &s) -{ return *const_cast((reinterpret_cast(&s))); } - -template -static D force_copy(S s) -{ - D *vp = reinterpret_cast(&s); - return D(*vp); -} - -} //namespace container_detail{ - -#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. The flat_map class supports random-access iterators. -//! -//! A flat_map satisfies all of the requirements of a container and of a reversible -//! container and of an associative container. A flat_map also provides -//! most operations described for unique keys. For a -//! flat_map the key_type is Key and the value_type is std::pair -//! (unlike std::map which value_type is std::pair<const Key, T>). -//! -//! Compare is the ordering function for Keys (e.g. std::less). -//! -//! Allocator is the allocator to allocate the value_types -//! (e.g. allocator< std::pair >). -//! -//! flat_map is similar to std::map but it's implemented like an ordered vector. -//! This means that inserting a new element into a flat_map invalidates -//! previous iterators and references -//! -//! Erasing an element invalidates 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 mapped_type -//! \tparam Compare is the ordering function for Keys (e.g. std::less). -//! \tparam Allocator is the allocator to allocate the value_types -//! (e.g. allocator< std::pair > ). -#ifdef BOOST_CONTAINER_DOXYGEN_INVOKED -template , class Allocator = std::allocator< std::pair< Key, T> > > -#else -template -#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 container_detail::flat_tree, - container_detail::select1st< std::pair >, - Compare, - Allocator> tree_t; - - //This is the real tree stored here. It's based on a movable pair - typedef container_detail::flat_tree, - container_detail::select1st >, - Compare, - typename allocator_traits::template portable_rebind_alloc - >::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::allocator_type impl_allocator_type; - typedef container_detail::flat_tree_value_compare - < Compare - , container_detail::select1st< std::pair > - , std::pair > value_compare_impl; - typedef typename container_detail::get_flat_tree_iterators - ::pointer>::iterator iterator_impl; - typedef typename container_detail::get_flat_tree_iterators - ::pointer>::const_iterator const_iterator_impl; - typedef typename container_detail::get_flat_tree_iterators - ::pointer>::reverse_iterator reverse_iterator_impl; - typedef typename container_detail::get_flat_tree_iterators - ::pointer>::const_reverse_iterator const_reverse_iterator_impl; - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - - public: - - ////////////////////////////////////////////// - // - // types - // - ////////////////////////////////////////////// - typedef Key key_type; - typedef T mapped_type; - typedef std::pair value_type; - typedef ::boost::container::allocator_traits allocator_traits_type; - typedef typename boost::container::allocator_traits::pointer pointer; - typedef typename boost::container::allocator_traits::const_pointer const_pointer; - typedef typename boost::container::allocator_traits::reference reference; - typedef typename boost::container::allocator_traits::const_reference const_reference; - typedef typename boost::container::allocator_traits::size_type size_type; - typedef typename boost::container::allocator_traits::difference_type difference_type; - typedef Allocator allocator_type; - typedef BOOST_CONTAINER_IMPDEF(Allocator) stored_allocator_type; - typedef BOOST_CONTAINER_IMPDEF(value_compare_impl) value_compare; - typedef Compare key_compare; - typedef BOOST_CONTAINER_IMPDEF(iterator_impl) iterator; - typedef BOOST_CONTAINER_IMPDEF(const_iterator_impl) const_iterator; - typedef BOOST_CONTAINER_IMPDEF(reverse_iterator_impl) reverse_iterator; - typedef BOOST_CONTAINER_IMPDEF(const_reverse_iterator_impl) const_reverse_iterator; - typedef BOOST_CONTAINER_IMPDEF(impl_value_type) movable_value_type; - - public: - ////////////////////////////////////////////// - // - // construct/copy/destroy - // - ////////////////////////////////////////////// - - //! Effects: Default constructs an empty flat_map. - //! - //! Complexity: Constant. - flat_map() - : m_flat_tree() - { - //Allocator type must be std::pair - BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); - } - - //! Effects: Constructs an empty flat_map using the specified - //! comparison object and allocator. - //! - //! Complexity: Constant. - explicit flat_map(const Compare& comp, const allocator_type& a = allocator_type()) - : m_flat_tree(comp, container_detail::force(a)) - { - //Allocator type must be std::pair - BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); - } - - //! Effects: Constructs an empty flat_map using the specified allocator. - //! - //! Complexity: Constant. - explicit flat_map(const allocator_type& a) - : m_flat_tree(container_detail::force(a)) - { - //Allocator type must be std::pair - BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); - } - - //! Effects: Constructs an empty flat_map using the specified comparison object and - //! allocator, and inserts elements from the range [first ,last ). - //! - //! Complexity: Linear in N if the range [first ,last ) is already sorted using - //! comp and otherwise N logN, where N is last - first. - template - flat_map(InputIterator first, InputIterator last, const Compare& comp = Compare(), - const allocator_type& a = allocator_type()) - : m_flat_tree(true, first, last, comp, container_detail::force(a)) - { - //Allocator type must be std::pair - BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); - } - - //! Effects: Constructs an empty flat_map using the specified comparison object and - //! allocator, and inserts elements from the ordered unique range [first ,last). This function - //! is more efficient than the normal range creation for ordered ranges. - //! - //! Requires: [first ,last) must be ordered according to the predicate and must be - //! unique values. - //! - //! Complexity: Linear in N. - //! - //! Note: Non-standard extension. - template - flat_map( ordered_unique_range_t, InputIterator first, InputIterator last - , const Compare& comp = Compare(), const allocator_type& a = allocator_type()) - : m_flat_tree(ordered_range, first, last, comp, a) - { - //Allocator type must be std::pair - BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); - } - - //! Effects: Copy constructs a flat_map. - //! - //! Complexity: Linear in x.size(). - flat_map(const flat_map& x) - : m_flat_tree(x.m_flat_tree) - { - //Allocator type must be std::pair - BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); - } - - //! Effects: Move constructs a flat_map. - //! Constructs *this using x's resources. - //! - //! Complexity: Constant. - //! - //! Postcondition: x is emptied. - flat_map(BOOST_RV_REF(flat_map) x) - : m_flat_tree(boost::move(x.m_flat_tree)) - { - //Allocator type must be std::pair - BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); - } - - //! Effects: Copy constructs a flat_map using the specified allocator. - //! - //! Complexity: Linear in x.size(). - flat_map(const flat_map& x, const allocator_type &a) - : m_flat_tree(x.m_flat_tree, a) - { - //Allocator type must be std::pair - BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); - } - - //! Effects: Move constructs a flat_map using the specified allocator. - //! Constructs *this using x's resources. - //! - //! Complexity: Constant if x.get_allocator() == a, linear otherwise. - flat_map(BOOST_RV_REF(flat_map) x, const allocator_type &a) - : m_flat_tree(boost::move(x.m_flat_tree), a) - { - //Allocator type must be std::pair - BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); - } - - //! Effects: Makes *this a copy of x. - //! - //! Complexity: Linear in x.size(). - flat_map& operator=(BOOST_COPY_ASSIGN_REF(flat_map) x) - { m_flat_tree = x.m_flat_tree; return *this; } - - //! Effects: Move constructs a flat_map. - //! Constructs *this using x's resources. - //! - //! Throws: If allocator_traits_type::propagate_on_container_move_assignment - //! is false and (allocation throws or value_type's move constructor throws) - //! - //! Complexity: Constant if allocator_traits_type:: - //! propagate_on_container_move_assignment is true or - //! this->get>allocator() == x.get_allocator(). Linear otherwise. - flat_map& operator=(BOOST_RV_REF(flat_map) x) - BOOST_CONTAINER_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value) - { m_flat_tree = boost::move(x.m_flat_tree); return *this; } - - //! Effects: Returns a copy of the Allocator that - //! was passed to the object's constructor. - //! - //! Complexity: Constant. - allocator_type get_allocator() const BOOST_CONTAINER_NOEXCEPT - { return container_detail::force_copy(m_flat_tree.get_allocator()); } - - //! Effects: Returns a reference to the internal allocator. - //! - //! Throws: Nothing - //! - //! Complexity: Constant. - //! - //! Note: Non-standard extension. - stored_allocator_type &get_stored_allocator() BOOST_CONTAINER_NOEXCEPT - { return container_detail::force(m_flat_tree.get_stored_allocator()); } - - //! Effects: Returns a reference to the internal allocator. - //! - //! Throws: Nothing - //! - //! Complexity: Constant. - //! - //! Note: Non-standard extension. - const stored_allocator_type &get_stored_allocator() const BOOST_CONTAINER_NOEXCEPT - { return container_detail::force(m_flat_tree.get_stored_allocator()); } - - ////////////////////////////////////////////// - // - // iterators - // - ////////////////////////////////////////////// - - //! Effects: Returns an iterator to the first element contained in the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - iterator begin() BOOST_CONTAINER_NOEXCEPT - { return container_detail::force_copy(m_flat_tree.begin()); } - - //! Effects: Returns a const_iterator to the first element contained in the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator begin() const BOOST_CONTAINER_NOEXCEPT - { return container_detail::force_copy(m_flat_tree.begin()); } - - //! Effects: Returns an iterator to the end of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - iterator end() BOOST_CONTAINER_NOEXCEPT - { return container_detail::force_copy(m_flat_tree.end()); } - - //! Effects: Returns a const_iterator to the end of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator end() const BOOST_CONTAINER_NOEXCEPT - { return container_detail::force_copy(m_flat_tree.end()); } - - //! Effects: Returns a reverse_iterator pointing to the beginning - //! of the reversed container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - reverse_iterator rbegin() BOOST_CONTAINER_NOEXCEPT - { return container_detail::force_copy(m_flat_tree.rbegin()); } - - //! Effects: Returns a const_reverse_iterator pointing to the beginning - //! of the reversed container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator rbegin() const BOOST_CONTAINER_NOEXCEPT - { return container_detail::force_copy(m_flat_tree.rbegin()); } - - //! Effects: Returns a reverse_iterator pointing to the end - //! of the reversed container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - reverse_iterator rend() BOOST_CONTAINER_NOEXCEPT - { return container_detail::force_copy(m_flat_tree.rend()); } - - //! Effects: Returns a const_reverse_iterator pointing to the end - //! of the reversed container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator rend() const BOOST_CONTAINER_NOEXCEPT - { return container_detail::force_copy(m_flat_tree.rend()); } - - //! Effects: Returns a const_iterator to the first element contained in the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator cbegin() const BOOST_CONTAINER_NOEXCEPT - { return container_detail::force_copy(m_flat_tree.cbegin()); } - - //! Effects: Returns a const_iterator to the end of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator cend() const BOOST_CONTAINER_NOEXCEPT - { return container_detail::force_copy(m_flat_tree.cend()); } - - //! Effects: Returns a const_reverse_iterator pointing to the beginning - //! of the reversed container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator crbegin() const BOOST_CONTAINER_NOEXCEPT - { return container_detail::force_copy(m_flat_tree.crbegin()); } - - //! Effects: Returns a const_reverse_iterator pointing to the end - //! of the reversed container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator crend() const BOOST_CONTAINER_NOEXCEPT - { return container_detail::force_copy(m_flat_tree.crend()); } - - ////////////////////////////////////////////// - // - // capacity - // - ////////////////////////////////////////////// - - //! Effects: Returns true if the container contains no elements. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - bool empty() const BOOST_CONTAINER_NOEXCEPT - { return m_flat_tree.empty(); } - - //! Effects: Returns the number of the elements contained in the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - size_type size() const BOOST_CONTAINER_NOEXCEPT - { return m_flat_tree.size(); } - - //! Effects: Returns the largest possible size of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - size_type max_size() const BOOST_CONTAINER_NOEXCEPT - { return m_flat_tree.max_size(); } - - //! Effects: Number of elements for which memory has been allocated. - //! capacity() is always greater than or equal to size(). - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - size_type capacity() const BOOST_CONTAINER_NOEXCEPT - { return m_flat_tree.capacity(); } - - //! Effects: If n is less than or equal to capacity(), this call has no - //! effect. Otherwise, it is a request for allocation of additional memory. - //! If the request is successful, then capacity() is greater than or equal to - //! n; otherwise, capacity() is unchanged. In either case, size() is unchanged. - //! - //! Throws: If memory allocation allocation throws or T's copy constructor throws. - //! - //! Note: If capacity() is less than "cnt", iterators and references to - //! to values might be invalidated. - void reserve(size_type cnt) - { m_flat_tree.reserve(cnt); } - - //! Effects: Tries to deallocate the excess of memory created - // with previous allocations. The size of the vector is unchanged - //! - //! Throws: If memory allocation throws, or T's copy constructor throws. - //! - //! Complexity: Linear to size(). - 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: Allocator reference to the mapped_type corresponding to x in *this. - //! - //! Complexity: Logarithmic. - 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: Allocator reference to the mapped_type corresponding to x in *this. - //! - //! Complexity: Logarithmic. - mapped_type &operator[](key_type &&k) ; - - #else - BOOST_MOVE_CONVERSION_AWARE_CATCH( operator[] , key_type, mapped_type&, this->priv_subscript) - #endif - - //! Returns: Allocator reference to the element whose key is equivalent to x. - //! - //! Throws: An exception object of type out_of_range if no such element is present. - //! - //! Complexity: logarithmic. - 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: Allocator reference to the element whose key is equivalent to x. - //! - //! Throws: An exception object of type out_of_range if no such element is present. - //! - //! Complexity: logarithmic. - const T& at(const key_type& k) const - { - 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_CONTAINER_PERFECT_FORWARDING) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - //! Effects: Inserts an object x of type T constructed with - //! std::forward(args)... if and only if there is no element in the container - //! with key equivalent to the key of x. - //! - //! Returns: 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. - //! - //! Complexity: Logarithmic search time plus linear insertion - //! to the elements with bigger keys than x. - //! - //! Note: If an element is inserted it might invalidate elements. - template - std::pair emplace(Args&&... args) - { return container_detail::force_copy< std::pair >(m_flat_tree.emplace_unique(boost::forward(args)...)); } - - //! Effects: Inserts an object of type T constructed with - //! std::forward(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. - //! - //! Returns: An iterator pointing to the element with key equivalent - //! to the key of x. - //! - //! Complexity: Logarithmic search time (constant if x is inserted - //! right before p) plus insertion linear to the elements with bigger keys than x. - //! - //! Note: If an element is inserted it might invalidate elements. - template - iterator emplace_hint(const_iterator hint, Args&&... args) - { - return container_detail::force_copy - (m_flat_tree.emplace_hint_unique( container_detail::force_copy(hint) - , boost::forward(args)...)); - } - - #else //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING - - #define BOOST_PP_LOCAL_MACRO(n) \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - std::pair emplace(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { return container_detail::force_copy< std::pair > \ - (m_flat_tree.emplace_unique(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _))); } \ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace_hint(const_iterator hint \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { return container_detail::force_copy(m_flat_tree.emplace_hint_unique \ - (container_detail::force_copy(hint) \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _))); } \ - //! - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() - - #endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING - - //! Effects: Inserts x if and only if there is no element in the container - //! with key equivalent to the key of x. - //! - //! Returns: 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. - //! - //! Complexity: Logarithmic search time plus linear insertion - //! to the elements with bigger keys than x. - //! - //! Note: If an element is inserted it might invalidate elements. - std::pair insert(const value_type& x) - { return container_detail::force_copy >( - m_flat_tree.insert_unique(container_detail::force(x))); } - - //! Effects: Inserts a new value_type move constructed from the pair if and - //! only if there is no element in the container with key equivalent to the key of x. - //! - //! Returns: 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. - //! - //! Complexity: Logarithmic search time plus linear insertion - //! to the elements with bigger keys than x. - //! - //! Note: If an element is inserted it might invalidate elements. - std::pair insert(BOOST_RV_REF(value_type) x) - { return container_detail::force_copy >( - m_flat_tree.insert_unique(boost::move(container_detail::force(x)))); } - - //! Effects: 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. - //! - //! Returns: 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. - //! - //! Complexity: Logarithmic search time plus linear insertion - //! to the elements with bigger keys than x. - //! - //! Note: If an element is inserted it might invalidate elements. - std::pair insert(BOOST_RV_REF(movable_value_type) x) - { - return container_detail::force_copy > - (m_flat_tree.insert_unique(boost::move(x))); - } - - //! Effects: 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. - //! - //! Returns: An iterator pointing to the element with key equivalent - //! to the key of x. - //! - //! Complexity: Logarithmic search time (constant if x is inserted - //! right before p) plus insertion linear to the elements with bigger keys than x. - //! - //! Note: If an element is inserted it might invalidate elements. - iterator insert(const_iterator position, const value_type& x) - { - return container_detail::force_copy( - m_flat_tree.insert_unique( container_detail::force_copy(position) - , container_detail::force(x))); - } - - //! Effects: Inserts an element move constructed from x in the container. - //! p is a hint pointing to where the insert should start to search. - //! - //! Returns: An iterator pointing to the element with key equivalent to the key of x. - //! - //! Complexity: Logarithmic search time (constant if x is inserted - //! right before p) plus insertion linear to the elements with bigger keys than x. - //! - //! Note: If an element is inserted it might invalidate elements. - iterator insert(const_iterator position, BOOST_RV_REF(value_type) x) - { - return container_detail::force_copy - (m_flat_tree.insert_unique( container_detail::force_copy(position) - , boost::move(container_detail::force(x)))); - } - - //! Effects: Inserts an element move constructed from x in the container. - //! p is a hint pointing to where the insert should start to search. - //! - //! Returns: An iterator pointing to the element with key equivalent to the key of x. - //! - //! Complexity: Logarithmic search time (constant if x is inserted - //! right before p) plus insertion linear to the elements with bigger keys than x. - //! - //! Note: If an element is inserted it might invalidate elements. - iterator insert(const_iterator position, BOOST_RV_REF(movable_value_type) x) - { - return container_detail::force_copy( - m_flat_tree.insert_unique(container_detail::force_copy(position), boost::move(x))); - } - - //! Requires: first, last are not iterators into *this. - //! - //! Effects: 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. - //! - //! Complexity: At most N log(size()+N) (N is the distance from first to last) - //! search time plus N*size() insertion time. - //! - //! Note: If an element is inserted it might invalidate elements. - template - void insert(InputIterator first, InputIterator last) - { m_flat_tree.insert_unique(first, last); } - - //! Requires: first, last are not iterators into *this. - //! - //! Requires: [first ,last) must be ordered according to the predicate and must be - //! unique values. - //! - //! Effects: 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. - //! - //! Complexity: At most N log(size()+N) (N is the distance from first to last) - //! search time plus N*size() insertion time. - //! - //! Note: If an element is inserted it might invalidate elements. - //! - //! Note: Non-standard extension. - template - void insert(ordered_unique_range_t, InputIterator first, InputIterator last) - { m_flat_tree.insert_unique(ordered_unique_range, first, last); } - - //! Effects: Erases the element pointed to by position. - //! - //! Returns: Returns an iterator pointing to the element immediately - //! following q prior to the element being erased. If no such element exists, - //! returns end(). - //! - //! Complexity: Linear to the elements with keys bigger than position - //! - //! Note: Invalidates elements with keys - //! not less than the erased element. - iterator erase(const_iterator position) - { - return container_detail::force_copy - (m_flat_tree.erase(container_detail::force_copy(position))); - } - - //! Effects: Erases all elements in the container with key equivalent to x. - //! - //! Returns: Returns the number of erased elements. - //! - //! Complexity: Logarithmic search time plus erasure time - //! linear to the elements with bigger keys. - size_type erase(const key_type& x) - { return m_flat_tree.erase(x); } - - //! Effects: Erases all the elements in the range [first, last). - //! - //! Returns: Returns last. - //! - //! Complexity: size()*N where N is the distance from first to last. - //! - //! Complexity: Logarithmic search time plus erasure time - //! linear to the elements with bigger keys. - iterator erase(const_iterator first, const_iterator last) - { - return container_detail::force_copy( - m_flat_tree.erase( container_detail::force_copy(first) - , container_detail::force_copy(last))); - } - - //! Effects: Swaps the contents of *this and x. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - void swap(flat_map& x) - { m_flat_tree.swap(x.m_flat_tree); } - - //! Effects: erase(a.begin(),a.end()). - //! - //! Postcondition: size() == 0. - //! - //! Complexity: linear in size(). - void clear() BOOST_CONTAINER_NOEXCEPT - { m_flat_tree.clear(); } - - ////////////////////////////////////////////// - // - // observers - // - ////////////////////////////////////////////// - - //! Effects: Returns the comparison object out - //! of which a was constructed. - //! - //! Complexity: Constant. - key_compare key_comp() const - { return container_detail::force_copy(m_flat_tree.key_comp()); } - - //! Effects: Returns an object of value_compare constructed out - //! of the comparison object. - //! - //! Complexity: Constant. - value_compare value_comp() const - { return value_compare(container_detail::force_copy(m_flat_tree.key_comp())); } - - ////////////////////////////////////////////// - // - // map operations - // - ////////////////////////////////////////////// - - //! Returns: An iterator pointing to an element with the key - //! equivalent to x, or end() if such an element is not found. - //! - //! Complexity: Logarithmic. - iterator find(const key_type& x) - { return container_detail::force_copy(m_flat_tree.find(x)); } - - //! Returns: Allocator const_iterator pointing to an element with the key - //! equivalent to x, or end() if such an element is not found. - //! - //! Complexity: Logarithmic.s - const_iterator find(const key_type& x) const - { return container_detail::force_copy(m_flat_tree.find(x)); } - - //! Returns: The number of elements with key equivalent to x. - //! - //! Complexity: log(size())+count(k) - size_type count(const key_type& x) const - { return static_cast(m_flat_tree.find(x) != m_flat_tree.end()); } - - //! Returns: An iterator pointing to the first element with key not less - //! than k, or a.end() if such an element is not found. - //! - //! Complexity: Logarithmic - iterator lower_bound(const key_type& x) - { return container_detail::force_copy(m_flat_tree.lower_bound(x)); } - - //! Returns: Allocator const iterator pointing to the first element with key not - //! less than k, or a.end() if such an element is not found. - //! - //! Complexity: Logarithmic - const_iterator lower_bound(const key_type& x) const - { return container_detail::force_copy(m_flat_tree.lower_bound(x)); } - - //! Returns: An iterator pointing to the first element with key not less - //! than x, or end() if such an element is not found. - //! - //! Complexity: Logarithmic - iterator upper_bound(const key_type& x) - { return container_detail::force_copy(m_flat_tree.upper_bound(x)); } - - //! Returns: Allocator const iterator pointing to the first element with key not - //! less than x, or end() if such an element is not found. - //! - //! Complexity: Logarithmic - const_iterator upper_bound(const key_type& x) const - { return container_detail::force_copy(m_flat_tree.upper_bound(x)); } - - //! Effects: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)). - //! - //! Complexity: Logarithmic - std::pair equal_range(const key_type& x) - { return container_detail::force_copy >(m_flat_tree.lower_bound_range(x)); } - - //! Effects: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)). - //! - //! Complexity: Logarithmic - std::pair equal_range(const key_type& x) const - { return container_detail::force_copy >(m_flat_tree.lower_bound_range(x)); } - - //! Effects: Returns true if x and y are equal - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator==(const flat_map& x, const flat_map& y) - { return x.size() == y.size() && std::equal(x.begin(), x.end(), y.begin()); } - - //! Effects: Returns true if x and y are unequal - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator!=(const flat_map& x, const flat_map& y) - { return !(x == y); } - - //! Effects: Returns true if x is less than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator<(const flat_map& x, const flat_map& y) - { return std::lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); } - - //! Effects: Returns true if x is greater than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator>(const flat_map& x, const flat_map& y) - { return y < x; } - - //! Effects: Returns true if x is equal or less than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator<=(const flat_map& x, const flat_map& y) - { return !(y < x); } - - //! Effects: Returns true if x is equal or greater than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator>=(const flat_map& x, const flat_map& y) - { return !(x < y); } - - //! Effects: x.swap(y) - //! - //! Complexity: Constant. - friend void swap(flat_map& x, flat_map& y) - { x.swap(y); } - - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - private: - mapped_type &priv_subscript(const key_type& k) - { - iterator i = lower_bound(k); - // i->first is greater than or equivalent to k. - if (i == end() || key_comp()(k, (*i).first)){ - container_detail::value_init m; - i = insert(i, impl_value_type(k, ::boost::move(m.m_t))); - } - return (*i).second; - } - mapped_type &priv_subscript(BOOST_RV_REF(key_type) mk) - { - key_type &k = mk; - iterator i = lower_bound(k); - // i->first is greater than or equivalent to k. - if (i == end() || key_comp()(k, (*i).first)){ - container_detail::value_init m; - i = insert(i, impl_value_type(boost::move(k), ::boost::move(m.m_t))); - } - return (*i).second; - } - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED -}; - -#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -} //namespace container { - -//!has_trivial_destructor_after_move<> == true_type -//!specialization for optimizations -template -struct has_trivial_destructor_after_move > -{ - static const bool value = has_trivial_destructor_after_move::value && has_trivial_destructor_after_move::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. The flat_multimap -//! class supports random-access iterators. -//! -//! 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 the key_type is Key and the value_type is std::pair -//! (unlike std::multimap which value_type is std::pair<const Key, T>). -//! -//! Compare is the ordering function for Keys (e.g. std::less). -//! -//! Allocator is the allocator to allocate the value_types -//! (e.g. allocator< std::pair >). -//! -//! flat_multimap is similar to std::multimap but it's implemented like an ordered vector. -//! This means that inserting a new element into a flat_map invalidates -//! previous iterators and references -//! -//! Erasing an element invalidates 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 mapped_type -//! \tparam Compare is the ordering function for Keys (e.g. std::less). -//! \tparam Allocator is the allocator to allocate the value_types -//! (e.g. allocator< std::pair > ). -#ifdef BOOST_CONTAINER_DOXYGEN_INVOKED -template , class Allocator = std::allocator< std::pair< Key, T> > > -#else -template -#endif -class flat_multimap -{ - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - private: - BOOST_COPYABLE_AND_MOVABLE(flat_multimap) - typedef container_detail::flat_tree, - container_detail::select1st< std::pair >, - Compare, - Allocator> tree_t; - //This is the real tree stored here. It's based on a movable pair - typedef container_detail::flat_tree, - container_detail::select1st >, - Compare, - typename allocator_traits::template portable_rebind_alloc - >::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::allocator_type impl_allocator_type; - typedef container_detail::flat_tree_value_compare - < Compare - , container_detail::select1st< std::pair > - , std::pair > value_compare_impl; - typedef typename container_detail::get_flat_tree_iterators - ::pointer>::iterator iterator_impl; - typedef typename container_detail::get_flat_tree_iterators - ::pointer>::const_iterator const_iterator_impl; - typedef typename container_detail::get_flat_tree_iterators - ::pointer>::reverse_iterator reverse_iterator_impl; - typedef typename container_detail::get_flat_tree_iterators - ::pointer>::const_reverse_iterator const_reverse_iterator_impl; - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - - public: - - ////////////////////////////////////////////// - // - // types - // - ////////////////////////////////////////////// - typedef Key key_type; - typedef T mapped_type; - typedef std::pair value_type; - typedef ::boost::container::allocator_traits allocator_traits_type; - typedef typename boost::container::allocator_traits::pointer pointer; - typedef typename boost::container::allocator_traits::const_pointer const_pointer; - typedef typename boost::container::allocator_traits::reference reference; - typedef typename boost::container::allocator_traits::const_reference const_reference; - typedef typename boost::container::allocator_traits::size_type size_type; - typedef typename boost::container::allocator_traits::difference_type difference_type; - typedef Allocator allocator_type; - typedef BOOST_CONTAINER_IMPDEF(Allocator) stored_allocator_type; - typedef BOOST_CONTAINER_IMPDEF(value_compare_impl) value_compare; - typedef Compare key_compare; - typedef BOOST_CONTAINER_IMPDEF(iterator_impl) iterator; - typedef BOOST_CONTAINER_IMPDEF(const_iterator_impl) const_iterator; - typedef BOOST_CONTAINER_IMPDEF(reverse_iterator_impl) reverse_iterator; - typedef BOOST_CONTAINER_IMPDEF(const_reverse_iterator_impl) const_reverse_iterator; - typedef BOOST_CONTAINER_IMPDEF(impl_value_type) movable_value_type; - - ////////////////////////////////////////////// - // - // construct/copy/destroy - // - ////////////////////////////////////////////// - - //! Effects: Default constructs an empty flat_map. - //! - //! Complexity: Constant. - flat_multimap() - : m_flat_tree() - { - //Allocator type must be std::pair - BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); - } - - //! Effects: Constructs an empty flat_multimap using the specified comparison - //! object and allocator. - //! - //! Complexity: Constant. - explicit flat_multimap(const Compare& comp, - const allocator_type& a = allocator_type()) - : m_flat_tree(comp, container_detail::force(a)) - { - //Allocator type must be std::pair - BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); - } - - //! Effects: Constructs an empty flat_multimap using the specified allocator. - //! - //! Complexity: Constant. - explicit flat_multimap(const allocator_type& a) - : m_flat_tree(container_detail::force(a)) - { - //Allocator type must be std::pair - BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); - } - - //! Effects: Constructs an empty flat_multimap using the specified comparison object - //! and allocator, and inserts elements from the range [first ,last ). - //! - //! Complexity: Linear in N if the range [first ,last ) is already sorted using - //! comp and otherwise N logN, where N is last - first. - template - flat_multimap(InputIterator first, InputIterator last, - const Compare& comp = Compare(), - const allocator_type& a = allocator_type()) - : m_flat_tree(false, first, last, comp, container_detail::force(a)) - { - //Allocator type must be std::pair - BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); - } - - //! Effects: Constructs an empty flat_multimap using the specified comparison object and - //! allocator, and inserts elements from the ordered range [first ,last). This function - //! is more efficient than the normal range creation for ordered ranges. - //! - //! Requires: [first ,last) must be ordered according to the predicate. - //! - //! Complexity: Linear in N. - //! - //! Note: Non-standard extension. - template - flat_multimap(ordered_range_t, InputIterator first, InputIterator last, - const Compare& comp = Compare(), - const allocator_type& a = allocator_type()) - : m_flat_tree(ordered_range, first, last, comp, a) - { - //Allocator type must be std::pair - BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); - } - - //! Effects: Copy constructs a flat_multimap. - //! - //! Complexity: Linear in x.size(). - flat_multimap(const flat_multimap& x) - : m_flat_tree(x.m_flat_tree) - { - //Allocator type must be std::pair - BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); - } - - //! Effects: Move constructs a flat_multimap. Constructs *this using x's resources. - //! - //! Complexity: Constant. - //! - //! Postcondition: x is emptied. - flat_multimap(BOOST_RV_REF(flat_multimap) x) - : m_flat_tree(boost::move(x.m_flat_tree)) - { - //Allocator type must be std::pair - BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); - } - - //! Effects: Copy constructs a flat_multimap using the specified allocator. - //! - //! Complexity: Linear in x.size(). - flat_multimap(const flat_multimap& x, const allocator_type &a) - : m_flat_tree(x.m_flat_tree, a) - { - //Allocator type must be std::pair - BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); - } - - //! Effects: Move constructs a flat_multimap using the specified allocator. - //! Constructs *this using x's resources. - //! - //! Complexity: Constant if a == x.get_allocator(), linear otherwise. - flat_multimap(BOOST_RV_REF(flat_multimap) x, const allocator_type &a) - : m_flat_tree(boost::move(x.m_flat_tree), a) - { - //Allocator type must be std::pair - BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); - } - - //! Effects: Makes *this a copy of x. - //! - //! Complexity: Linear in x.size(). - flat_multimap& operator=(BOOST_COPY_ASSIGN_REF(flat_multimap) x) - { m_flat_tree = x.m_flat_tree; return *this; } - - //! Effects: this->swap(x.get()). - //! - //! Complexity: Constant. - flat_multimap& operator=(BOOST_RV_REF(flat_multimap) x) - BOOST_CONTAINER_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value) - { m_flat_tree = boost::move(x.m_flat_tree); return *this; } - - //! Effects: Returns a copy of the Allocator that - //! was passed to the object's constructor. - //! - //! Complexity: Constant. - allocator_type get_allocator() const BOOST_CONTAINER_NOEXCEPT - { return container_detail::force_copy(m_flat_tree.get_allocator()); } - - //! Effects: Returns a reference to the internal allocator. - //! - //! Throws: Nothing - //! - //! Complexity: Constant. - //! - //! Note: Non-standard extension. - stored_allocator_type &get_stored_allocator() BOOST_CONTAINER_NOEXCEPT - { return container_detail::force(m_flat_tree.get_stored_allocator()); } - - //! Effects: Returns a reference to the internal allocator. - //! - //! Throws: Nothing - //! - //! Complexity: Constant. - //! - //! Note: Non-standard extension. - const stored_allocator_type &get_stored_allocator() const BOOST_CONTAINER_NOEXCEPT - { return container_detail::force(m_flat_tree.get_stored_allocator()); } - - ////////////////////////////////////////////// - // - // iterators - // - ////////////////////////////////////////////// - - //! Effects: Returns an iterator to the first element contained in the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - iterator begin() BOOST_CONTAINER_NOEXCEPT - { return container_detail::force_copy(m_flat_tree.begin()); } - - //! Effects: Returns a const_iterator to the first element contained in the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator begin() const BOOST_CONTAINER_NOEXCEPT - { return container_detail::force_copy(m_flat_tree.begin()); } - - //! Effects: Returns an iterator to the end of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - iterator end() BOOST_CONTAINER_NOEXCEPT - { return container_detail::force_copy(m_flat_tree.end()); } - - //! Effects: Returns a const_iterator to the end of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator end() const BOOST_CONTAINER_NOEXCEPT - { return container_detail::force_copy(m_flat_tree.end()); } - - //! Effects: Returns a reverse_iterator pointing to the beginning - //! of the reversed container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - reverse_iterator rbegin() BOOST_CONTAINER_NOEXCEPT - { return container_detail::force_copy(m_flat_tree.rbegin()); } - - //! Effects: Returns a const_reverse_iterator pointing to the beginning - //! of the reversed container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator rbegin() const BOOST_CONTAINER_NOEXCEPT - { return container_detail::force_copy(m_flat_tree.rbegin()); } - - //! Effects: Returns a reverse_iterator pointing to the end - //! of the reversed container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - reverse_iterator rend() BOOST_CONTAINER_NOEXCEPT - { return container_detail::force_copy(m_flat_tree.rend()); } - - //! Effects: Returns a const_reverse_iterator pointing to the end - //! of the reversed container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator rend() const BOOST_CONTAINER_NOEXCEPT - { return container_detail::force_copy(m_flat_tree.rend()); } - - //! Effects: Returns a const_iterator to the first element contained in the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator cbegin() const BOOST_CONTAINER_NOEXCEPT - { return container_detail::force_copy(m_flat_tree.cbegin()); } - - //! Effects: Returns a const_iterator to the end of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator cend() const BOOST_CONTAINER_NOEXCEPT - { return container_detail::force_copy(m_flat_tree.cend()); } - - //! Effects: Returns a const_reverse_iterator pointing to the beginning - //! of the reversed container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator crbegin() const BOOST_CONTAINER_NOEXCEPT - { return container_detail::force_copy(m_flat_tree.crbegin()); } - - //! Effects: Returns a const_reverse_iterator pointing to the end - //! of the reversed container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator crend() const BOOST_CONTAINER_NOEXCEPT - { return container_detail::force_copy(m_flat_tree.crend()); } - - ////////////////////////////////////////////// - // - // capacity - // - ////////////////////////////////////////////// - - //! Effects: Returns true if the container contains no elements. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - bool empty() const BOOST_CONTAINER_NOEXCEPT - { return m_flat_tree.empty(); } - - //! Effects: Returns the number of the elements contained in the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - size_type size() const BOOST_CONTAINER_NOEXCEPT - { return m_flat_tree.size(); } - - //! Effects: Returns the largest possible size of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - size_type max_size() const BOOST_CONTAINER_NOEXCEPT - { return m_flat_tree.max_size(); } - - //! Effects: Number of elements for which memory has been allocated. - //! capacity() is always greater than or equal to size(). - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - size_type capacity() const BOOST_CONTAINER_NOEXCEPT - { return m_flat_tree.capacity(); } - - //! Effects: If n is less than or equal to capacity(), this call has no - //! effect. Otherwise, it is a request for allocation of additional memory. - //! If the request is successful, then capacity() is greater than or equal to - //! n; otherwise, capacity() is unchanged. In either case, size() is unchanged. - //! - //! Throws: If memory allocation allocation throws or T's copy constructor throws. - //! - //! Note: If capacity() is less than "cnt", iterators and references to - //! to values might be invalidated. - void reserve(size_type cnt) - { m_flat_tree.reserve(cnt); } - - //! Effects: Tries to deallocate the excess of memory created - // with previous allocations. The size of the vector is unchanged - //! - //! Throws: If memory allocation throws, or T's copy constructor throws. - //! - //! Complexity: Linear to size(). - void shrink_to_fit() - { m_flat_tree.shrink_to_fit(); } - - ////////////////////////////////////////////// - // - // modifiers - // - ////////////////////////////////////////////// - - #if defined(BOOST_CONTAINER_PERFECT_FORWARDING) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - //! Effects: Inserts an object of type T constructed with - //! std::forward(args)... and returns the iterator pointing to the - //! newly inserted element. - //! - //! Complexity: Logarithmic search time plus linear insertion - //! to the elements with bigger keys than x. - //! - //! Note: If an element is inserted it might invalidate elements. - template - iterator emplace(Args&&... args) - { return container_detail::force_copy(m_flat_tree.emplace_equal(boost::forward(args)...)); } - - //! Effects: Inserts an object of type T constructed with - //! std::forward(args)... in the container. - //! p is a hint pointing to where the insert should start to search. - //! - //! Returns: An iterator pointing to the element with key equivalent - //! to the key of x. - //! - //! Complexity: 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. - //! - //! Note: If an element is inserted it might invalidate elements. - template - iterator emplace_hint(const_iterator hint, Args&&... args) - { - return container_detail::force_copy(m_flat_tree.emplace_hint_equal - (container_detail::force_copy(hint), boost::forward(args)...)); - } - - #else //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING - - #define BOOST_PP_LOCAL_MACRO(n) \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { return container_detail::force_copy(m_flat_tree.emplace_equal \ - (BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _))); } \ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace_hint(const_iterator hint \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { return container_detail::force_copy(m_flat_tree.emplace_hint_equal \ - (container_detail::force_copy(hint) \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _))); } \ - //! - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() - - #endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING - - //! Effects: Inserts x and returns the iterator pointing to the - //! newly inserted element. - //! - //! Complexity: Logarithmic search time plus linear insertion - //! to the elements with bigger keys than x. - //! - //! Note: If an element is inserted it might invalidate elements. - iterator insert(const value_type& x) - { - return container_detail::force_copy( - m_flat_tree.insert_equal(container_detail::force(x))); - } - - //! Effects: Inserts a new value move-constructed from x and returns - //! the iterator pointing to the newly inserted element. - //! - //! Complexity: Logarithmic search time plus linear insertion - //! to the elements with bigger keys than x. - //! - //! Note: If an element is inserted it might invalidate elements. - iterator insert(BOOST_RV_REF(value_type) x) - { return container_detail::force_copy(m_flat_tree.insert_equal(boost::move(x))); } - - //! Effects: Inserts a new value move-constructed from x and returns - //! the iterator pointing to the newly inserted element. - //! - //! Complexity: Logarithmic search time plus linear insertion - //! to the elements with bigger keys than x. - //! - //! Note: If an element is inserted it might invalidate elements. - iterator insert(BOOST_RV_REF(impl_value_type) x) - { return container_detail::force_copy(m_flat_tree.insert_equal(boost::move(x))); } - - //! Effects: Inserts a copy of x in the container. - //! p is a hint pointing to where the insert should start to search. - //! - //! Returns: An iterator pointing to the element with key equivalent - //! to the key of x. - //! - //! Complexity: 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. - //! - //! Note: If an element is inserted it might invalidate elements. - iterator insert(const_iterator position, const value_type& x) - { - return container_detail::force_copy - (m_flat_tree.insert_equal( container_detail::force_copy(position) - , container_detail::force(x))); - } - - //! Effects: Inserts a value move constructed from x in the container. - //! p is a hint pointing to where the insert should start to search. - //! - //! Returns: An iterator pointing to the element with key equivalent - //! to the key of x. - //! - //! Complexity: 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. - //! - //! Note: If an element is inserted it might invalidate elements. - iterator insert(const_iterator position, BOOST_RV_REF(value_type) x) - { - return container_detail::force_copy - (m_flat_tree.insert_equal(container_detail::force_copy(position) - , boost::move(x))); - } - - //! Effects: Inserts a value move constructed from x in the container. - //! p is a hint pointing to where the insert should start to search. - //! - //! Returns: An iterator pointing to the element with key equivalent - //! to the key of x. - //! - //! Complexity: 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. - //! - //! Note: If an element is inserted it might invalidate elements. - iterator insert(const_iterator position, BOOST_RV_REF(impl_value_type) x) - { - return container_detail::force_copy( - m_flat_tree.insert_equal(container_detail::force_copy(position), boost::move(x))); - } - - //! Requires: first, last are not iterators into *this. - //! - //! Effects: inserts each element from the range [first,last) . - //! - //! Complexity: At most N log(size()+N) (N is the distance from first to last) - //! search time plus N*size() insertion time. - //! - //! Note: If an element is inserted it might invalidate elements. - template - void insert(InputIterator first, InputIterator last) - { m_flat_tree.insert_equal(first, last); } - - //! Requires: first, last are not iterators into *this. - //! - //! Requires: [first ,last) must be ordered according to the predicate. - //! - //! Effects: 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. - //! - //! Complexity: At most N log(size()+N) (N is the distance from first to last) - //! search time plus N*size() insertion time. - //! - //! Note: If an element is inserted it might invalidate elements. - //! - //! Note: Non-standard extension. - template - void insert(ordered_range_t, InputIterator first, InputIterator last) - { m_flat_tree.insert_equal(ordered_range, first, last); } - - //! Effects: Erases the element pointed to by position. - //! - //! Returns: Returns an iterator pointing to the element immediately - //! following q prior to the element being erased. If no such element exists, - //! returns end(). - //! - //! Complexity: Linear to the elements with keys bigger than position - //! - //! Note: Invalidates elements with keys - //! not less than the erased element. - iterator erase(const_iterator position) - { - return container_detail::force_copy( - m_flat_tree.erase(container_detail::force_copy(position))); - } - - //! Effects: Erases all elements in the container with key equivalent to x. - //! - //! Returns: Returns the number of erased elements. - //! - //! Complexity: Logarithmic search time plus erasure time - //! linear to the elements with bigger keys. - size_type erase(const key_type& x) - { return m_flat_tree.erase(x); } - - //! Effects: Erases all the elements in the range [first, last). - //! - //! Returns: Returns last. - //! - //! Complexity: size()*N where N is the distance from first to last. - //! - //! Complexity: Logarithmic search time plus erasure time - //! linear to the elements with bigger keys. - iterator erase(const_iterator first, const_iterator last) - { - return container_detail::force_copy - (m_flat_tree.erase( container_detail::force_copy(first) - , container_detail::force_copy(last))); - } - - //! Effects: Swaps the contents of *this and x. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - void swap(flat_multimap& x) - { m_flat_tree.swap(x.m_flat_tree); } - - //! Effects: erase(a.begin(),a.end()). - //! - //! Postcondition: size() == 0. - //! - //! Complexity: linear in size(). - void clear() BOOST_CONTAINER_NOEXCEPT - { m_flat_tree.clear(); } - - ////////////////////////////////////////////// - // - // observers - // - ////////////////////////////////////////////// - - //! Effects: Returns the comparison object out - //! of which a was constructed. - //! - //! Complexity: Constant. - key_compare key_comp() const - { return container_detail::force_copy(m_flat_tree.key_comp()); } - - //! Effects: Returns an object of value_compare constructed out - //! of the comparison object. - //! - //! Complexity: Constant. - value_compare value_comp() const - { return value_compare(container_detail::force_copy(m_flat_tree.key_comp())); } - - ////////////////////////////////////////////// - // - // map operations - // - ////////////////////////////////////////////// - - //! Returns: An iterator pointing to an element with the key - //! equivalent to x, or end() if such an element is not found. - //! - //! Complexity: Logarithmic. - iterator find(const key_type& x) - { return container_detail::force_copy(m_flat_tree.find(x)); } - - //! Returns: An const_iterator pointing to an element with the key - //! equivalent to x, or end() if such an element is not found. - //! - //! Complexity: Logarithmic. - const_iterator find(const key_type& x) const - { return container_detail::force_copy(m_flat_tree.find(x)); } - - //! Returns: The number of elements with key equivalent to x. - //! - //! Complexity: log(size())+count(k) - size_type count(const key_type& x) const - { return m_flat_tree.count(x); } - - //! Returns: An iterator pointing to the first element with key not less - //! than k, or a.end() if such an element is not found. - //! - //! Complexity: Logarithmic - iterator lower_bound(const key_type& x) - { return container_detail::force_copy(m_flat_tree.lower_bound(x)); } - - //! Returns: Allocator const iterator pointing to the first element with key - //! not less than k, or a.end() if such an element is not found. - //! - //! Complexity: Logarithmic - const_iterator lower_bound(const key_type& x) const - { return container_detail::force_copy(m_flat_tree.lower_bound(x)); } - - //! Returns: An iterator pointing to the first element with key not less - //! than x, or end() if such an element is not found. - //! - //! Complexity: Logarithmic - iterator upper_bound(const key_type& x) - {return container_detail::force_copy(m_flat_tree.upper_bound(x)); } - - //! Returns: Allocator const iterator pointing to the first element with key - //! not less than x, or end() if such an element is not found. - //! - //! Complexity: Logarithmic - const_iterator upper_bound(const key_type& x) const - { return container_detail::force_copy(m_flat_tree.upper_bound(x)); } - - //! Effects: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)). - //! - //! Complexity: Logarithmic - std::pair equal_range(const key_type& x) - { return container_detail::force_copy >(m_flat_tree.equal_range(x)); } - - //! Effects: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)). - //! - //! Complexity: Logarithmic - std::pair equal_range(const key_type& x) const - { return container_detail::force_copy >(m_flat_tree.equal_range(x)); } - - //! Effects: Returns true if x and y are equal - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator==(const flat_multimap& x, const flat_multimap& y) - { return x.size() == y.size() && std::equal(x.begin(), x.end(), y.begin()); } - - //! Effects: Returns true if x and y are unequal - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator!=(const flat_multimap& x, const flat_multimap& y) - { return !(x == y); } - - //! Effects: Returns true if x is less than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator<(const flat_multimap& x, const flat_multimap& y) - { return std::lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); } - - //! Effects: Returns true if x is greater than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator>(const flat_multimap& x, const flat_multimap& y) - { return y < x; } - - //! Effects: Returns true if x is equal or less than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator<=(const flat_multimap& x, const flat_multimap& y) - { return !(y < x); } - - //! Effects: Returns true if x is equal or greater than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator>=(const flat_multimap& x, const flat_multimap& y) - { return !(x < y); } - - //! Effects: x.swap(y) - //! - //! Complexity: Constant. - friend void swap(flat_multimap& x, flat_multimap& y) - { x.swap(y); } -}; - -}} - -#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -namespace boost { - -//!has_trivial_destructor_after_move<> == true_type -//!specialization for optimizations -template -struct has_trivial_destructor_after_move< boost::container::flat_multimap > -{ - static const bool value = has_trivial_destructor_after_move::value && has_trivial_destructor_after_move::value; -}; - -} //namespace boost { - -#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -#include - -#endif /* BOOST_CONTAINER_FLAT_MAP_HPP */ diff --git a/bundled/boost-1.56.0/include/boost/container/flat_set.hpp b/bundled/boost-1.56.0/include/boost/container/flat_set.hpp deleted file mode 100644 index 96f2a91f89..0000000000 --- a/bundled/boost-1.56.0/include/boost/container/flat_set.hpp +++ /dev/null @@ -1,1131 +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_SET_HPP -#define BOOST_CONTAINER_FLAT_SET_HPP - -#if defined(_MSC_VER) -# pragma once -#endif - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { -namespace container { - -//! flat_set is a Sorted Associative Container that stores objects of type Key. -//! It is also a Unique Associative Container, meaning that no two elements are the same. -//! -//! flat_set is similar to std::set but it's implemented like an ordered vector. -//! This means that inserting a new element into a flat_set invalidates -//! previous iterators and references -//! -//! Erasing an element of a flat_set invalidates 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 type to be inserted in the set, which is also the key_type -//! \tparam Compare is the comparison functor used to order keys -//! \tparam Allocator is the allocator to be used to allocate memory for this container -#ifdef BOOST_CONTAINER_DOXYGEN_INVOKED -template , class Allocator = std::allocator > -#else -template -#endif -class flat_set - ///@cond - : public container_detail::flat_tree, Compare, Allocator> - ///@endcond -{ - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - private: - BOOST_COPYABLE_AND_MOVABLE(flat_set) - typedef container_detail::flat_tree, Compare, Allocator> base_t; - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - - public: - ////////////////////////////////////////////// - // - // types - // - ////////////////////////////////////////////// - typedef Key key_type; - typedef Key value_type; - typedef Compare key_compare; - typedef Compare value_compare; - typedef ::boost::container::allocator_traits allocator_traits_type; - typedef typename ::boost::container::allocator_traits::pointer pointer; - typedef typename ::boost::container::allocator_traits::const_pointer const_pointer; - typedef typename ::boost::container::allocator_traits::reference reference; - typedef typename ::boost::container::allocator_traits::const_reference const_reference; - typedef typename ::boost::container::allocator_traits::size_type size_type; - typedef typename ::boost::container::allocator_traits::difference_type difference_type; - typedef Allocator allocator_type; - typedef typename BOOST_CONTAINER_IMPDEF(base_t::stored_allocator_type) stored_allocator_type; - 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; - - public: - ////////////////////////////////////////////// - // - // construct/copy/destroy - // - ////////////////////////////////////////////// - - //! Effects: Default constructs an empty container. - //! - //! Complexity: Constant. - explicit flat_set() - : base_t() - {} - - //! Effects: Constructs an empty container using the specified - //! comparison object and allocator. - //! - //! Complexity: Constant. - explicit flat_set(const Compare& comp, - const allocator_type& a = allocator_type()) - : base_t(comp, a) - {} - - //! Effects: Constructs an empty container using the specified allocator. - //! - //! Complexity: Constant. - explicit flat_set(const allocator_type& a) - : base_t(a) - {} - - //! Effects: Constructs an empty container using the specified comparison object and - //! allocator, and inserts elements from the range [first ,last ). - //! - //! Complexity: Linear in N if the range [first ,last ) is already sorted using - //! comp and otherwise N logN, where N is last - first. - template - flat_set(InputIterator first, InputIterator last, - const Compare& comp = Compare(), - const allocator_type& a = allocator_type()) - : base_t(true, first, last, comp, a) - {} - - //! Effects: Constructs an empty container using the specified comparison object and - //! allocator, and inserts elements from the ordered unique range [first ,last). This function - //! is more efficient than the normal range creation for ordered ranges. - //! - //! Requires: [first ,last) must be ordered according to the predicate and must be - //! unique values. - //! - //! Complexity: Linear in N. - //! - //! Note: Non-standard extension. - template - flat_set(ordered_unique_range_t, InputIterator first, InputIterator last, - const Compare& comp = Compare(), - const allocator_type& a = allocator_type()) - : base_t(ordered_range, first, last, comp, a) - {} - - //! Effects: Copy constructs the container. - //! - //! Complexity: Linear in x.size(). - flat_set(const flat_set& x) - : base_t(static_cast(x)) - {} - - //! Effects: Move constructs thecontainer. Constructs *this using mx's resources. - //! - //! Complexity: Constant. - //! - //! Postcondition: mx is emptied. - flat_set(BOOST_RV_REF(flat_set) mx) - : base_t(boost::move(static_cast(mx))) - {} - - //! Effects: Copy constructs a container using the specified allocator. - //! - //! Complexity: Linear in x.size(). - flat_set(const flat_set& x, const allocator_type &a) - : base_t(static_cast(x), a) - {} - - //! Effects: Move constructs a container using the specified allocator. - //! Constructs *this using mx's resources. - //! - //! Complexity: Constant if a == mx.get_allocator(), linear otherwise - flat_set(BOOST_RV_REF(flat_set) mx, const allocator_type &a) - : base_t(boost::move(static_cast(mx)), a) - {} - - //! Effects: Makes *this a copy of x. - //! - //! Complexity: Linear in x.size(). - flat_set& operator=(BOOST_COPY_ASSIGN_REF(flat_set) x) - { return static_cast(this->base_t::operator=(static_cast(x))); } - - //! Throws: If allocator_traits_type::propagate_on_container_move_assignment - //! is false and (allocation throws or value_type's move constructor throws) - //! - //! Complexity: Constant if allocator_traits_type:: - //! propagate_on_container_move_assignment is true or - //! this->get>allocator() == x.get_allocator(). Linear otherwise. - flat_set& operator=(BOOST_RV_REF(flat_set) x) - BOOST_CONTAINER_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value) - { return static_cast(this->base_t::operator=(boost::move(static_cast(x)))); } - - #ifdef BOOST_CONTAINER_DOXYGEN_INVOKED - //! Effects: Returns a copy of the Allocator that - //! was passed to the object's constructor. - //! - //! Complexity: Constant. - allocator_type get_allocator() const BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Returns a reference to the internal allocator. - //! - //! Throws: Nothing - //! - //! Complexity: Constant. - //! - //! Note: Non-standard extension. - stored_allocator_type &get_stored_allocator() BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Returns a reference to the internal allocator. - //! - //! Throws: Nothing - //! - //! Complexity: Constant. - //! - //! Note: Non-standard extension. - const stored_allocator_type &get_stored_allocator() const BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Returns an iterator to the first element contained in the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - iterator begin() BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Returns a const_iterator to the first element contained in the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator begin() const BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Returns an iterator to the end of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - iterator end() BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Returns a const_iterator to the end of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator end() const BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Returns a reverse_iterator pointing to the beginning - //! of the reversed container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - reverse_iterator rbegin() BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Returns a const_reverse_iterator pointing to the beginning - //! of the reversed container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator rbegin() const BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Returns a reverse_iterator pointing to the end - //! of the reversed container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - reverse_iterator rend() BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Returns a const_reverse_iterator pointing to the end - //! of the reversed container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator rend() const BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Returns a const_iterator to the first element contained in the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator cbegin() const BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Returns a const_iterator to the end of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator cend() const BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Returns a const_reverse_iterator pointing to the beginning - //! of the reversed container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator crbegin() const BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Returns a const_reverse_iterator pointing to the end - //! of the reversed container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator crend() const BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Returns true if the container contains no elements. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - bool empty() const BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Returns the number of the elements contained in the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - size_type size() const BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Returns the largest possible size of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - size_type max_size() const BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Number of elements for which memory has been allocated. - //! capacity() is always greater than or equal to size(). - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - size_type capacity() const BOOST_CONTAINER_NOEXCEPT; - - //! Effects: If n is less than or equal to capacity(), this call has no - //! effect. Otherwise, it is a request for allocation of additional memory. - //! If the request is successful, then capacity() is greater than or equal to - //! n; otherwise, capacity() is unchanged. In either case, size() is unchanged. - //! - //! Throws: If memory allocation allocation throws or Key's copy constructor throws. - //! - //! Note: If capacity() is less than "cnt", iterators and references to - //! to values might be invalidated. - void reserve(size_type cnt); - - //! Effects: Tries to deallocate the excess of memory created - // with previous allocations. The size of the vector is unchanged - //! - //! Throws: If memory allocation throws, or Key's copy constructor throws. - //! - //! Complexity: Linear to size(). - void shrink_to_fit(); - - #endif // #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - ////////////////////////////////////////////// - // - // modifiers - // - ////////////////////////////////////////////// - - #if defined(BOOST_CONTAINER_PERFECT_FORWARDING) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - //! Effects: Inserts an object x of type Key constructed with - //! std::forward(args)... if and only if there is no element in the container - //! with key equivalent to the key of x. - //! - //! Returns: 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. - //! - //! Complexity: Logarithmic search time plus linear insertion - //! to the elements with bigger keys than x. - //! - //! Note: If an element is inserted it might invalidate elements. - template - std::pair emplace(Args&&... args) - { return this->base_t::emplace_unique(boost::forward(args)...); } - - //! Effects: Inserts an object of type Key constructed with - //! std::forward(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. - //! - //! Returns: An iterator pointing to the element with key equivalent - //! to the key of x. - //! - //! Complexity: Logarithmic search time (constant if x is inserted - //! right before p) plus insertion linear to the elements with bigger keys than x. - //! - //! Note: If an element is inserted it might invalidate elements. - template - iterator emplace_hint(const_iterator hint, Args&&... args) - { return this->base_t::emplace_hint_unique(hint, boost::forward(args)...); } - - #else //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING - - #define BOOST_PP_LOCAL_MACRO(n) \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - std::pair emplace(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { return this->base_t::emplace_unique(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); }\ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace_hint(const_iterator hint \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { return this->base_t::emplace_hint_unique \ - (hint BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); } \ - //! - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() - - #endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING - - #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - //! Effects: Inserts x if and only if there is no element in the container - //! with key equivalent to the key of x. - //! - //! Returns: 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. - //! - //! Complexity: Logarithmic search time plus linear insertion - //! to the elements with bigger keys than x. - //! - //! Note: If an element is inserted it might invalidate elements. - std::pair insert(const value_type &x); - - //! Effects: 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. - //! - //! Returns: 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. - //! - //! Complexity: Logarithmic search time plus linear insertion - //! to the elements with bigger keys than x. - //! - //! Note: If an element is inserted it might invalidate elements. - std::pair insert(value_type &&x); - #else - private: - typedef std::pair insert_return_pair; - public: - BOOST_MOVE_CONVERSION_AWARE_CATCH(insert, value_type, insert_return_pair, this->priv_insert) - #endif - - #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - //! Effects: 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. - //! - //! Returns: An iterator pointing to the element with key equivalent - //! to the key of x. - //! - //! Complexity: Logarithmic search time (constant if x is inserted - //! right before p) plus insertion linear to the elements with bigger keys than x. - //! - //! Note: If an element is inserted it might invalidate elements. - iterator insert(const_iterator p, const value_type &x); - - //! Effects: Inserts an element move constructed from x in the container. - //! p is a hint pointing to where the insert should start to search. - //! - //! Returns: An iterator pointing to the element with key equivalent to the key of x. - //! - //! Complexity: Logarithmic search time (constant if x is inserted - //! right before p) plus insertion linear to the elements with bigger keys than x. - //! - //! Note: If an element is inserted it might invalidate elements. - iterator insert(const_iterator position, value_type &&x); - #else - BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, value_type, iterator, this->priv_insert, const_iterator, const_iterator) - #endif - - //! Requires: first, last are not iterators into *this. - //! - //! Effects: 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. - //! - //! Complexity: At most N log(size()+N) (N is the distance from first to last) - //! search time plus N*size() insertion time. - //! - //! Note: If an element is inserted it might invalidate elements. - template - void insert(InputIterator first, InputIterator last) - { this->base_t::insert_unique(first, last); } - - //! Requires: first, last are not iterators into *this and - //! must be ordered according to the predicate and must be - //! unique values. - //! - //! Effects: inserts each element from the range [first,last) .This function - //! is more efficient than the normal range creation for ordered ranges. - //! - //! Complexity: At most N log(size()+N) (N is the distance from first to last) - //! search time plus N*size() insertion time. - //! - //! Note: Non-standard extension. If an element is inserted it might invalidate elements. - template - void insert(ordered_unique_range_t, InputIterator first, InputIterator last) - { this->base_t::insert_unique(ordered_unique_range, first, last); } - - #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - //! Effects: Erases the element pointed to by position. - //! - //! Returns: Returns an iterator pointing to the element immediately - //! following q prior to the element being erased. If no such element exists, - //! returns end(). - //! - //! Complexity: Linear to the elements with keys bigger than position - //! - //! Note: Invalidates elements with keys - //! not less than the erased element. - iterator erase(const_iterator position); - - //! Effects: Erases all elements in the container with key equivalent to x. - //! - //! Returns: Returns the number of erased elements. - //! - //! Complexity: Logarithmic search time plus erasure time - //! linear to the elements with bigger keys. - size_type erase(const key_type& x); - - //! Effects: Erases all the elements in the range [first, last). - //! - //! Returns: Returns last. - //! - //! Complexity: size()*N where N is the distance from first to last. - //! - //! Complexity: Logarithmic search time plus erasure time - //! linear to the elements with bigger keys. - iterator erase(const_iterator first, const_iterator last); - - //! Effects: Swaps the contents of *this and x. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - void swap(flat_set& x); - - //! Effects: erase(a.begin(),a.end()). - //! - //! Postcondition: size() == 0. - //! - //! Complexity: linear in size(). - void clear() BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Returns the comparison object out - //! of which a was constructed. - //! - //! Complexity: Constant. - key_compare key_comp() const; - - //! Effects: Returns an object of value_compare constructed out - //! of the comparison object. - //! - //! Complexity: Constant. - value_compare value_comp() const; - - //! Returns: An iterator pointing to an element with the key - //! equivalent to x, or end() if such an element is not found. - //! - //! Complexity: Logarithmic. - iterator find(const key_type& x); - - //! Returns: Allocator const_iterator pointing to an element with the key - //! equivalent to x, or end() if such an element is not found. - //! - //! Complexity: Logarithmic. - const_iterator find(const key_type& x) const; - - #endif // #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - //! Returns: The number of elements with key equivalent to x. - //! - //! Complexity: log(size())+count(k) - size_type count(const key_type& x) const - { return static_cast(this->base_t::find(x) != this->base_t::cend()); } - - #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - //! Returns: An iterator pointing to the first element with key not less - //! than k, or a.end() if such an element is not found. - //! - //! Complexity: Logarithmic - iterator lower_bound(const key_type& x); - - //! Returns: Allocator const iterator pointing to the first element with key not - //! less than k, or a.end() if such an element is not found. - //! - //! Complexity: Logarithmic - const_iterator lower_bound(const key_type& x) const; - - //! Returns: An iterator pointing to the first element with key not less - //! than x, or end() if such an element is not found. - //! - //! Complexity: Logarithmic - iterator upper_bound(const key_type& x); - - //! Returns: Allocator const iterator pointing to the first element with key not - //! less than x, or end() if such an element is not found. - //! - //! Complexity: Logarithmic - const_iterator upper_bound(const key_type& x) const; - - #endif // #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - //! Effects: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)). - //! - //! Complexity: Logarithmic - std::pair equal_range(const key_type& x) const - { return this->base_t::lower_bound_range(x); } - - //! Effects: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)). - //! - //! Complexity: Logarithmic - std::pair equal_range(const key_type& x) - { return this->base_t::lower_bound_range(x); } - - #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - //! Effects: Returns true if x and y are equal - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator==(const flat_set& x, const flat_set& y); - - //! Effects: Returns true if x and y are unequal - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator!=(const flat_set& x, const flat_set& y); - - //! Effects: Returns true if x is less than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator<(const flat_set& x, const flat_set& y); - - //! Effects: Returns true if x is greater than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator>(const flat_set& x, const flat_set& y); - - //! Effects: Returns true if x is equal or less than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator<=(const flat_set& x, const flat_set& y); - - //! Effects: Returns true if x is equal or greater than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator>=(const flat_set& x, const flat_set& y); - - //! Effects: x.swap(y) - //! - //! Complexity: Constant. - friend void swap(flat_set& x, flat_set& y); - - #endif //#ifdef BOOST_CONTAINER_DOXYGEN_INVOKED - - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - private: - template - std::pair priv_insert(BOOST_FWD_REF(KeyType) x) - { return this->base_t::insert_unique(::boost::forward(x)); } - - template - iterator priv_insert(const_iterator p, BOOST_FWD_REF(KeyType) x) - { return this->base_t::insert_unique(p, ::boost::forward(x)); } - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED -}; - -#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -} //namespace container { - -//!has_trivial_destructor_after_move<> == true_type -//!specialization for optimizations -template -struct has_trivial_destructor_after_move > -{ - static const bool value = has_trivial_destructor_after_move::value &&has_trivial_destructor_after_move::value; -}; - -namespace container { - -#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -//! flat_multiset is a Sorted Associative Container that stores objects of type Key. -//! -//! flat_multiset can store multiple copies of the same key value. -//! -//! flat_multiset is similar to std::multiset but it's implemented like an ordered vector. -//! This means that inserting a new element into a flat_multiset invalidates -//! previous iterators and references -//! -//! Erasing an element invalidates 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 type to be inserted in the multiset, which is also the key_type -//! \tparam Compare is the comparison functor used to order keys -//! \tparam Allocator is the allocator to be used to allocate memory for this container -#ifdef BOOST_CONTAINER_DOXYGEN_INVOKED -template , class Allocator = std::allocator > -#else -template -#endif -class flat_multiset - ///@cond - : public container_detail::flat_tree, Compare, Allocator> - ///@endcond -{ - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - private: - BOOST_COPYABLE_AND_MOVABLE(flat_multiset) - typedef container_detail::flat_tree, Compare, Allocator> base_t; - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - - public: - ////////////////////////////////////////////// - // - // types - // - ////////////////////////////////////////////// - typedef Key key_type; - typedef Key value_type; - typedef Compare key_compare; - typedef Compare value_compare; - typedef ::boost::container::allocator_traits allocator_traits_type; - typedef typename ::boost::container::allocator_traits::pointer pointer; - typedef typename ::boost::container::allocator_traits::const_pointer const_pointer; - typedef typename ::boost::container::allocator_traits::reference reference; - typedef typename ::boost::container::allocator_traits::const_reference const_reference; - typedef typename ::boost::container::allocator_traits::size_type size_type; - typedef typename ::boost::container::allocator_traits::difference_type difference_type; - typedef Allocator allocator_type; - typedef typename BOOST_CONTAINER_IMPDEF(base_t::stored_allocator_type) stored_allocator_type; - 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; - - //! @copydoc ::boost::container::flat_set::flat_set() - explicit flat_multiset() - : base_t() - {} - - //! @copydoc ::boost::container::flat_set::flat_set(const Compare&, const allocator_type&) - explicit flat_multiset(const Compare& comp, - const allocator_type& a = allocator_type()) - : base_t(comp, a) - {} - - //! @copydoc ::boost::container::flat_set::flat_set(const allocator_type&) - explicit flat_multiset(const allocator_type& a) - : base_t(a) - {} - - //! @copydoc ::boost::container::flat_set::flat_set(InputIterator, InputIterator, const Compare& comp, const allocator_type&) - template - flat_multiset(InputIterator first, InputIterator last, - const Compare& comp = Compare(), - const allocator_type& a = allocator_type()) - : base_t(false, first, last, comp, a) - {} - - //! Effects: Constructs an empty flat_multiset using the specified comparison object and - //! allocator, and inserts elements from the ordered range [first ,last ). This function - //! is more efficient than the normal range creation for ordered ranges. - //! - //! Requires: [first ,last) must be ordered according to the predicate. - //! - //! Complexity: Linear in N. - //! - //! Note: Non-standard extension. - template - flat_multiset(ordered_range_t, InputIterator first, InputIterator last, - const Compare& comp = Compare(), - const allocator_type& a = allocator_type()) - : base_t(ordered_range, first, last, comp, a) - {} - - //! @copydoc ::boost::container::flat_set::flat_set(const flat_set &) - flat_multiset(const flat_multiset& x) - : base_t(static_cast(x)) - {} - - //! @copydoc ::boost::container::flat_set(flat_set &&) - flat_multiset(BOOST_RV_REF(flat_multiset) mx) - : base_t(boost::move(static_cast(mx))) - {} - - //! @copydoc ::boost::container::flat_set(const flat_set &, const allocator_type &) - flat_multiset(const flat_multiset& x, const allocator_type &a) - : base_t(static_cast(x), a) - {} - - //! @copydoc ::boost::container::flat_set(flat_set &&, const allocator_type &) - flat_multiset(BOOST_RV_REF(flat_multiset) mx, const allocator_type &a) - : base_t(boost::move(static_cast(mx)), a) - {} - - //! @copydoc ::boost::container::flat_set::operator=(const flat_set &) - flat_multiset& operator=(BOOST_COPY_ASSIGN_REF(flat_multiset) x) - { return static_cast(this->base_t::operator=(static_cast(x))); } - - //! @copydoc ::boost::container::flat_set::operator=(flat_set &&) - flat_multiset& operator=(BOOST_RV_REF(flat_multiset) mx) - BOOST_CONTAINER_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value) - { return static_cast(this->base_t::operator=(boost::move(static_cast(mx)))); } - - #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - //! @copydoc ::boost::container::flat_set::get_allocator() - allocator_type get_allocator() const BOOST_CONTAINER_NOEXCEPT; - - //! @copydoc ::boost::container::flat_set::get_stored_allocator() - stored_allocator_type &get_stored_allocator() BOOST_CONTAINER_NOEXCEPT; - - //! @copydoc ::boost::container::flat_set::get_stored_allocator() const - const stored_allocator_type &get_stored_allocator() const BOOST_CONTAINER_NOEXCEPT; - - //! @copydoc ::boost::container::flat_set::begin() - iterator begin() BOOST_CONTAINER_NOEXCEPT; - - //! @copydoc ::boost::container::flat_set::begin() const - const_iterator begin() const; - - //! @copydoc ::boost::container::flat_set::cbegin() const - const_iterator cbegin() const BOOST_CONTAINER_NOEXCEPT; - - //! @copydoc ::boost::container::flat_set::end() - iterator end() BOOST_CONTAINER_NOEXCEPT; - - //! @copydoc ::boost::container::flat_set::end() const - const_iterator end() const BOOST_CONTAINER_NOEXCEPT; - - //! @copydoc ::boost::container::flat_set::cend() const - const_iterator cend() const BOOST_CONTAINER_NOEXCEPT; - - //! @copydoc ::boost::container::flat_set::rbegin() - reverse_iterator rbegin() BOOST_CONTAINER_NOEXCEPT; - - //! @copydoc ::boost::container::flat_set::rbegin() const - const_reverse_iterator rbegin() const BOOST_CONTAINER_NOEXCEPT; - - //! @copydoc ::boost::container::flat_set::crbegin() const - const_reverse_iterator crbegin() const BOOST_CONTAINER_NOEXCEPT; - - //! @copydoc ::boost::container::flat_set::rend() - reverse_iterator rend() BOOST_CONTAINER_NOEXCEPT; - - //! @copydoc ::boost::container::flat_set::rend() const - const_reverse_iterator rend() const BOOST_CONTAINER_NOEXCEPT; - - //! @copydoc ::boost::container::flat_set::crend() const - const_reverse_iterator crend() const BOOST_CONTAINER_NOEXCEPT; - - //! @copydoc ::boost::container::flat_set::empty() const - bool empty() const BOOST_CONTAINER_NOEXCEPT; - - //! @copydoc ::boost::container::flat_set::size() const - size_type size() const BOOST_CONTAINER_NOEXCEPT; - - //! @copydoc ::boost::container::flat_set::max_size() const - size_type max_size() const BOOST_CONTAINER_NOEXCEPT; - - //! @copydoc ::boost::container::flat_set::capacity() const - size_type capacity() const BOOST_CONTAINER_NOEXCEPT; - - //! @copydoc ::boost::container::flat_set::reserve(size_type) - void reserve(size_type cnt); - - //! @copydoc ::boost::container::flat_set::shrink_to_fit() - void shrink_to_fit(); - - #endif // #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - ////////////////////////////////////////////// - // - // modifiers - // - ////////////////////////////////////////////// - - #if defined(BOOST_CONTAINER_PERFECT_FORWARDING) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - //! Effects: Inserts an object of type Key constructed with - //! std::forward(args)... and returns the iterator pointing to the - //! newly inserted element. - //! - //! Complexity: Logarithmic search time plus linear insertion - //! to the elements with bigger keys than x. - //! - //! Note: If an element is inserted it might invalidate elements. - template - iterator emplace(Args&&... args) - { return this->base_t::emplace_equal(boost::forward(args)...); } - - //! Effects: Inserts an object of type Key constructed with - //! std::forward(args)... in the container. - //! p is a hint pointing to where the insert should start to search. - //! - //! Returns: An iterator pointing to the element with key equivalent - //! to the key of x. - //! - //! Complexity: Logarithmic search time (constant if x is inserted - //! right before p) plus insertion linear to the elements with bigger keys than x. - //! - //! Note: If an element is inserted it might invalidate elements. - template - iterator emplace_hint(const_iterator hint, Args&&... args) - { return this->base_t::emplace_hint_equal(hint, boost::forward(args)...); } - - #else //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING - - #define BOOST_PP_LOCAL_MACRO(n) \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { return this->base_t::emplace_equal(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); } \ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace_hint(const_iterator hint \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { return this->base_t::emplace_hint_equal \ - (hint BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); } \ - //! - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() - - #endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING - - #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - //! Effects: Inserts x and returns the iterator pointing to the - //! newly inserted element. - //! - //! Complexity: Logarithmic search time plus linear insertion - //! to the elements with bigger keys than x. - //! - //! Note: If an element is inserted it might invalidate elements. - iterator insert(const value_type &x); - - //! Effects: Inserts a new value_type move constructed from x - //! and returns the iterator pointing to the newly inserted element. - //! - //! Complexity: Logarithmic search time plus linear insertion - //! to the elements with bigger keys than x. - //! - //! Note: If an element is inserted it might invalidate elements. - iterator insert(value_type &&x); - #else - BOOST_MOVE_CONVERSION_AWARE_CATCH(insert, value_type, iterator, this->priv_insert) - #endif - - #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - //! Effects: Inserts a copy of x in the container. - //! p is a hint pointing to where the insert should start to search. - //! - //! Returns: An iterator pointing to the element with key equivalent - //! to the key of x. - //! - //! Complexity: Logarithmic search time (constant if x is inserted - //! right before p) plus insertion linear to the elements with bigger keys than x. - //! - //! Note: If an element is inserted it might invalidate elements. - iterator insert(const_iterator p, const value_type &x); - - //! Effects: Inserts a new value move constructed from x in the container. - //! p is a hint pointing to where the insert should start to search. - //! - //! Returns: An iterator pointing to the element with key equivalent - //! to the key of x. - //! - //! Complexity: Logarithmic search time (constant if x is inserted - //! right before p) plus insertion linear to the elements with bigger keys than x. - //! - //! Note: If an element is inserted it might invalidate elements. - iterator insert(const_iterator position, value_type &&x); - #else - BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, value_type, iterator, this->priv_insert, const_iterator, const_iterator) - #endif - - //! Requires: first, last are not iterators into *this. - //! - //! Effects: inserts each element from the range [first,last) . - //! - //! Complexity: At most N log(size()+N) (N is the distance from first to last) - //! search time plus N*size() insertion time. - //! - //! Note: If an element is inserted it might invalidate elements. - template - void insert(InputIterator first, InputIterator last) - { this->base_t::insert_equal(first, last); } - - //! Requires: first, last are not iterators into *this and - //! must be ordered according to the predicate. - //! - //! Effects: inserts each element from the range [first,last) .This function - //! is more efficient than the normal range creation for ordered ranges. - //! - //! Complexity: At most N log(size()+N) (N is the distance from first to last) - //! search time plus N*size() insertion time. - //! - //! Note: Non-standard extension. If an element is inserted it might invalidate elements. - template - void insert(ordered_range_t, InputIterator first, InputIterator last) - { this->base_t::insert_equal(ordered_range, first, last); } - - #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - //! @copydoc ::boost::container::flat_set::erase(const_iterator) - iterator erase(const_iterator position); - - //! @copydoc ::boost::container::flat_set::erase(const key_type&) - size_type erase(const key_type& x); - - //! @copydoc ::boost::container::flat_set::erase(const_iterator,const_iterator) - iterator erase(const_iterator first, const_iterator last); - - //! @copydoc ::boost::container::flat_set::swap - void swap(flat_multiset& x); - - //! @copydoc ::boost::container::flat_set::clear - void clear() BOOST_CONTAINER_NOEXCEPT; - - //! @copydoc ::boost::container::flat_set::key_comp - key_compare key_comp() const; - - //! @copydoc ::boost::container::flat_set::value_comp - value_compare value_comp() const; - - //! @copydoc ::boost::container::flat_set::find(const key_type& ) - iterator find(const key_type& x); - - //! @copydoc ::boost::container::flat_set::find(const key_type& ) const - const_iterator find(const key_type& x) const; - - //! @copydoc ::boost::container::flat_set::count(const key_type& ) const - size_type count(const key_type& x) const; - - //! @copydoc ::boost::container::flat_set::lower_bound(const key_type& ) - iterator lower_bound(const key_type& x); - - //! @copydoc ::boost::container::flat_set::lower_bound(const key_type& ) const - const_iterator lower_bound(const key_type& x) const; - - //! @copydoc ::boost::container::flat_set::upper_bound(const key_type& ) - iterator upper_bound(const key_type& x); - - //! @copydoc ::boost::container::flat_set::upper_bound(const key_type& ) const - const_iterator upper_bound(const key_type& x) const; - - //! @copydoc ::boost::container::flat_set::equal_range(const key_type& ) const - std::pair equal_range(const key_type& x) const; - - //! @copydoc ::boost::container::flat_set::equal_range(const key_type& ) - std::pair equal_range(const key_type& x); - - //! Effects: Returns true if x and y are equal - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator==(const flat_multiset& x, const flat_multiset& y); - - //! Effects: Returns true if x and y are unequal - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator!=(const flat_multiset& x, const flat_multiset& y); - - //! Effects: Returns true if x is less than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator<(const flat_multiset& x, const flat_multiset& y); - - //! Effects: Returns true if x is greater than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator>(const flat_multiset& x, const flat_multiset& y); - - //! Effects: Returns true if x is equal or less than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator<=(const flat_multiset& x, const flat_multiset& y); - - //! Effects: Returns true if x is equal or greater than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator>=(const flat_multiset& x, const flat_multiset& y); - - //! Effects: x.swap(y) - //! - //! Complexity: Constant. - friend void swap(flat_multiset& x, flat_multiset& y); - - #endif //#ifdef BOOST_CONTAINER_DOXYGEN_INVOKED - - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - private: - template - iterator priv_insert(BOOST_FWD_REF(KeyType) x) - { return this->base_t::insert_equal(::boost::forward(x)); } - - template - iterator priv_insert(const_iterator p, BOOST_FWD_REF(KeyType) x) - { return this->base_t::insert_equal(p, ::boost::forward(x)); } - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED -}; - -#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -} //namespace container { - -//!has_trivial_destructor_after_move<> == true_type -//!specialization for optimizations -template -struct has_trivial_destructor_after_move > -{ - static const bool value = has_trivial_destructor_after_move::value && has_trivial_destructor_after_move::value; -}; - -namespace container { - -#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -}} - -#include - -#endif /* BOOST_CONTAINER_FLAT_SET_HPP */ diff --git a/bundled/boost-1.56.0/include/boost/container/list.hpp b/bundled/boost-1.56.0/include/boost/container/list.hpp deleted file mode 100644 index 291c190035..0000000000 --- a/bundled/boost-1.56.0/include/boost/container/list.hpp +++ /dev/null @@ -1,1396 +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_LIST_HPP -#define BOOST_CONTAINER_LIST_HPP - -#if defined(_MSC_VER) -# pragma once -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if defined(BOOST_CONTAINER_PERFECT_FORWARDING) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) -#else -//Preprocessor library to emulate perfect forwarding -#include -#endif - -#include -#include -#include -#include -#include - -namespace boost { -namespace container { - -#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED -namespace container_detail { - -template -struct list_hook -{ - typedef typename container_detail::bi::make_list_base_hook - , container_detail::bi::link_mode >::type type; -}; - -template -struct list_node - : public list_hook::type -{ - private: - list_node(); - - public: - typedef T value_type; - typedef typename list_hook::type hook_type; - - T m_data; - - T &get_data() - { return this->m_data; } - - const T &get_data() const - { return this->m_data; } -}; - -template -struct intrusive_list_type -{ - typedef boost::container::allocator_traits allocator_traits_type; - typedef typename allocator_traits_type::value_type value_type; - typedef typename boost::intrusive::pointer_traits - ::template - rebind_pointer::type - void_pointer; - typedef typename container_detail::list_node - node_type; - typedef typename container_detail::bi::make_list - < node_type - , container_detail::bi::base_hook::type> - , container_detail::bi::constant_time_size - , container_detail::bi::size_type - - >::type container_type; - typedef container_type type ; -}; - -} //namespace container_detail { -#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -//! A list is a doubly linked list. That is, it is a Sequence that supports both -//! forward and backward traversal, and (amortized) constant time insertion and -//! removal of elements at the beginning or the end, or in the middle. Lists have -//! the important property that insertion and splicing do not invalidate iterators -//! to list elements, and that even removal invalidates only the iterators that point -//! to the elements that are removed. The ordering of iterators may be changed -//! (that is, list::iterator might have a different predecessor or successor -//! after a list operation than it did before), but the iterators themselves will -//! not be invalidated or made to point to different elements unless that invalidation -//! or mutation is explicit. -//! -//! \tparam T The type of object that is stored in the list -//! \tparam Allocator The allocator used for all internal memory management -#ifdef BOOST_CONTAINER_DOXYGEN_INVOKED -template > -#else -template -#endif -class list - : protected container_detail::node_alloc_holder - ::type> -{ - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - typedef typename - container_detail::intrusive_list_type::type Icont; - typedef container_detail::node_alloc_holder AllocHolder; - typedef typename AllocHolder::NodePtr NodePtr; - typedef typename AllocHolder::NodeAlloc NodeAlloc; - typedef typename AllocHolder::ValAlloc ValAlloc; - typedef typename AllocHolder::Node Node; - typedef container_detail::allocator_destroyer Destroyer; - typedef typename AllocHolder::allocator_v1 allocator_v1; - typedef typename AllocHolder::allocator_v2 allocator_v2; - typedef typename AllocHolder::alloc_version alloc_version; - typedef boost::container::allocator_traits allocator_traits_type; - - class equal_to_value - { - typedef typename AllocHolder::value_type value_type; - const value_type &t_; - - public: - equal_to_value(const value_type &t) - : t_(t) - {} - - bool operator()(const value_type &t)const - { return t_ == t; } - }; - - template - struct ValueCompareToNodeCompare - : Pred - { - ValueCompareToNodeCompare(Pred pred) - : Pred(pred) - {} - - bool operator()(const Node &a, const Node &b) const - { return static_cast(*this)(a.m_data, b.m_data); } - - bool operator()(const Node &a) const - { return static_cast(*this)(a.m_data); } - }; - - BOOST_COPYABLE_AND_MOVABLE(list) - - typedef container_detail::iterator iterator_impl; - typedef container_detail::iterator const_iterator_impl; - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - - public: - ////////////////////////////////////////////// - // - // types - // - ////////////////////////////////////////////// - - typedef T value_type; - typedef typename ::boost::container::allocator_traits::pointer pointer; - typedef typename ::boost::container::allocator_traits::const_pointer const_pointer; - typedef typename ::boost::container::allocator_traits::reference reference; - typedef typename ::boost::container::allocator_traits::const_reference const_reference; - typedef typename ::boost::container::allocator_traits::size_type size_type; - typedef typename ::boost::container::allocator_traits::difference_type difference_type; - typedef Allocator allocator_type; - typedef BOOST_CONTAINER_IMPDEF(NodeAlloc) stored_allocator_type; - typedef BOOST_CONTAINER_IMPDEF(iterator_impl) iterator; - typedef BOOST_CONTAINER_IMPDEF(const_iterator_impl) const_iterator; - typedef BOOST_CONTAINER_IMPDEF(std::reverse_iterator) reverse_iterator; - typedef BOOST_CONTAINER_IMPDEF(std::reverse_iterator) const_reverse_iterator; - - ////////////////////////////////////////////// - // - // construct/copy/destroy - // - ////////////////////////////////////////////// - - //! Effects: Default constructs a list. - //! - //! Throws: If allocator_type's default constructor throws. - //! - //! Complexity: Constant. - list() - : AllocHolder() - {} - - //! Effects: Constructs a list taking the allocator as parameter. - //! - //! Throws: Nothing - //! - //! Complexity: Constant. - explicit list(const allocator_type &a) BOOST_CONTAINER_NOEXCEPT - : AllocHolder(a) - {} - - //! Effects: Constructs a list that will use a copy of allocator a - //! and inserts n copies of value. - //! - //! Throws: If allocator_type's default constructor - //! throws or T's default or copy constructor throws. - //! - //! Complexity: Linear to n. - explicit list(size_type n) - : AllocHolder(Allocator()) - { this->resize(n); } - - //! Effects: Constructs a list that will use a copy of allocator a - //! and inserts n copies of value. - //! - //! Throws: If allocator_type's default constructor - //! throws or T's default or copy constructor throws. - //! - //! Complexity: Linear to n. - list(size_type n, const T& value, const Allocator& a = Allocator()) - : AllocHolder(a) - { this->insert(this->cbegin(), n, value); } - - //! Effects: Copy constructs a list. - //! - //! Postcondition: x == *this. - //! - //! Throws: If allocator_type's default constructor throws. - //! - //! Complexity: Linear to the elements x contains. - list(const list& x) - : AllocHolder(x) - { this->insert(this->cbegin(), x.begin(), x.end()); } - - //! Effects: Move constructor. Moves mx's resources to *this. - //! - //! Throws: If allocator_type's copy constructor throws. - //! - //! Complexity: Constant. - list(BOOST_RV_REF(list) x) - : AllocHolder(boost::move(static_cast(x))) - {} - - //! Effects: Copy constructs a list using the specified allocator. - //! - //! Postcondition: x == *this. - //! - //! Throws: If allocator_type's default constructor or copy constructor throws. - //! - //! Complexity: Linear to the elements x contains. - list(const list& x, const allocator_type &a) - : AllocHolder(a) - { this->insert(this->cbegin(), x.begin(), x.end()); } - - //! Effects: Move constructor sing the specified allocator. - //! Moves mx's resources to *this. - //! - //! Throws: If allocation or value_type's copy constructor throws. - //! - //! Complexity: Constant if a == x.get_allocator(), linear otherwise. - list(BOOST_RV_REF(list) x, const allocator_type &a) - : AllocHolder(a) - { - if(this->node_alloc() == x.node_alloc()){ - this->icont().swap(x.icont()); - } - else{ - this->insert(this->cbegin(), x.begin(), x.end()); - } - } - - //! Effects: Constructs a list that will use a copy of allocator a - //! and inserts a copy of the range [first, last) in the list. - //! - //! Throws: If allocator_type's default constructor - //! throws or T's constructor taking a dereferenced InIt throws. - //! - //! Complexity: Linear to the range [first, last). - template - list(InpIt first, InpIt last, const Allocator &a = Allocator()) - : AllocHolder(a) - { this->insert(this->cbegin(), first, last); } - - //! Effects: Destroys the list. All stored values are destroyed - //! and used memory is deallocated. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements. - ~list() BOOST_CONTAINER_NOEXCEPT - {} //AllocHolder clears the list - - //! Effects: Makes *this contain the same elements as x. - //! - //! Postcondition: this->size() == x.size(). *this contains a copy - //! of each of x's elements. - //! - //! Throws: If memory allocation throws or T's copy constructor throws. - //! - //! Complexity: Linear to the number of elements in x. - list& operator=(BOOST_COPY_ASSIGN_REF(list) x) - { - if (&x != this){ - NodeAlloc &this_alloc = this->node_alloc(); - const NodeAlloc &x_alloc = x.node_alloc(); - container_detail::bool_ flag; - if(flag && this_alloc != x_alloc){ - this->clear(); - } - this->AllocHolder::copy_assign_alloc(x); - this->assign(x.begin(), x.end()); - } - return *this; - } - - //! Effects: Move assignment. All x's values are transferred to *this. - //! - //! Postcondition: x.empty(). *this contains a the elements x had - //! before the function. - //! - //! Throws: If allocator_traits_type::propagate_on_container_move_assignment - //! is false and (allocation throws or value_type's move constructor throws) - //! - //! Complexity: Constant if allocator_traits_type:: - //! propagate_on_container_move_assignment is true or - //! this->get>allocator() == x.get_allocator(). Linear otherwise. - list& operator=(BOOST_RV_REF(list) x) - BOOST_CONTAINER_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value) - { - BOOST_ASSERT(this != &x); - NodeAlloc &this_alloc = this->node_alloc(); - NodeAlloc &x_alloc = x.node_alloc(); - const bool propagate_alloc = allocator_traits_type:: - propagate_on_container_move_assignment::value; - 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 - this->clear(); - //Move allocator if needed - this->AllocHolder::move_assign_alloc(x); - //Obtain resources - this->icont() = boost::move(x.icont()); - } - //Else do a one by one move - else{ - this->assign( boost::make_move_iterator(x.begin()) - , boost::make_move_iterator(x.end())); - } - return *this; - } - - //! Effects: Assigns the n copies of val to *this. - //! - //! Throws: If memory allocation throws or T's copy constructor throws. - //! - //! Complexity: Linear to n. - void assign(size_type n, const T& val) - { - typedef constant_iterator cvalue_iterator; - return this->assign(cvalue_iterator(val, n), cvalue_iterator()); - } - - //! Effects: Assigns the the range [first, last) to *this. - //! - //! Throws: If memory allocation throws or - //! T's constructor from dereferencing InpIt throws. - //! - //! Complexity: Linear to n. - template - void assign(InpIt first, InpIt last - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value - >::type * = 0 - #endif - ) - { - iterator first1 = this->begin(); - const iterator last1 = this->end(); - for ( ; first1 != last1 && first != last; ++first1, ++first) - *first1 = *first; - if (first == last) - this->erase(first1, last1); - else{ - this->insert(last1, first, last); - } - } - - //! Effects: Returns a copy of the internal allocator. - //! - //! Throws: If allocator's copy constructor throws. - //! - //! Complexity: Constant. - allocator_type get_allocator() const BOOST_CONTAINER_NOEXCEPT - { return allocator_type(this->node_alloc()); } - - //! Effects: Returns a reference to the internal allocator. - //! - //! Throws: Nothing - //! - //! Complexity: Constant. - //! - //! Note: Non-standard extension. - stored_allocator_type &get_stored_allocator() BOOST_CONTAINER_NOEXCEPT - { return this->node_alloc(); } - - //! Effects: Returns a reference to the internal allocator. - //! - //! Throws: Nothing - //! - //! Complexity: Constant. - //! - //! Note: Non-standard extension. - const stored_allocator_type &get_stored_allocator() const BOOST_CONTAINER_NOEXCEPT - { return this->node_alloc(); } - - ////////////////////////////////////////////// - // - // iterators - // - ////////////////////////////////////////////// - - //! Effects: Returns an iterator to the first element contained in the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - iterator begin() BOOST_CONTAINER_NOEXCEPT - { return iterator(this->icont().begin()); } - - //! Effects: Returns a const_iterator to the first element contained in the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator begin() const BOOST_CONTAINER_NOEXCEPT - { return this->cbegin(); } - - //! Effects: Returns an iterator to the end of the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - iterator end() BOOST_CONTAINER_NOEXCEPT - { return iterator(this->icont().end()); } - - //! Effects: Returns a const_iterator to the end of the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator end() const BOOST_CONTAINER_NOEXCEPT - { return this->cend(); } - - //! Effects: Returns a reverse_iterator pointing to the beginning - //! of the reversed list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - reverse_iterator rbegin() BOOST_CONTAINER_NOEXCEPT - { return reverse_iterator(end()); } - - //! Effects: Returns a const_reverse_iterator pointing to the beginning - //! of the reversed list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator rbegin() const BOOST_CONTAINER_NOEXCEPT - { return this->crbegin(); } - - //! Effects: Returns a reverse_iterator pointing to the end - //! of the reversed list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - reverse_iterator rend() BOOST_CONTAINER_NOEXCEPT - { return reverse_iterator(begin()); } - - //! Effects: Returns a const_reverse_iterator pointing to the end - //! of the reversed list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator rend() const BOOST_CONTAINER_NOEXCEPT - { return this->crend(); } - - //! Effects: Returns a const_iterator to the first element contained in the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator cbegin() const BOOST_CONTAINER_NOEXCEPT - { return const_iterator(this->non_const_icont().begin()); } - - //! Effects: Returns a const_iterator to the end of the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator cend() const BOOST_CONTAINER_NOEXCEPT - { return const_iterator(this->non_const_icont().end()); } - - //! Effects: Returns a const_reverse_iterator pointing to the beginning - //! of the reversed list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator crbegin() const BOOST_CONTAINER_NOEXCEPT - { return const_reverse_iterator(this->cend()); } - - //! Effects: Returns a const_reverse_iterator pointing to the end - //! of the reversed list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator crend() const BOOST_CONTAINER_NOEXCEPT - { return const_reverse_iterator(this->cbegin()); } - - ////////////////////////////////////////////// - // - // capacity - // - ////////////////////////////////////////////// - - //! Effects: Returns true if the list contains no elements. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - bool empty() const BOOST_CONTAINER_NOEXCEPT - { return !this->size(); } - - //! Effects: Returns the number of the elements contained in the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - size_type size() const BOOST_CONTAINER_NOEXCEPT - { return this->icont().size(); } - - //! Effects: Returns the largest possible size of the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - size_type max_size() const BOOST_CONTAINER_NOEXCEPT - { return AllocHolder::max_size(); } - - //! Effects: Inserts or erases elements at the end such that - //! the size becomes n. New elements are value initialized. - //! - //! Throws: If memory allocation throws, or T's copy constructor throws. - //! - //! Complexity: Linear to the difference between size() and new_size. - void resize(size_type new_size) - { - if(!priv_try_shrink(new_size)){ - typedef value_init_construct_iterator value_init_iterator; - this->insert(this->cend(), value_init_iterator(new_size - this->size()), value_init_iterator()); - } - } - - //! Effects: Inserts or erases elements at the end such that - //! the size becomes n. New elements are copy constructed from x. - //! - //! Throws: If memory allocation throws, or T's copy constructor throws. - //! - //! Complexity: Linear to the difference between size() and new_size. - void resize(size_type new_size, const T& x) - { - if(!priv_try_shrink(new_size)){ - this->insert(this->cend(), new_size - this->size(), x); - } - } - - ////////////////////////////////////////////// - // - // element access - // - ////////////////////////////////////////////// - - //! Requires: !empty() - //! - //! Effects: Returns a reference to the first element - //! from the beginning of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - reference front() BOOST_CONTAINER_NOEXCEPT - { return *this->begin(); } - - //! Requires: !empty() - //! - //! Effects: Returns a const reference to the first element - //! from the beginning of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reference front() const BOOST_CONTAINER_NOEXCEPT - { return *this->begin(); } - - //! Requires: !empty() - //! - //! Effects: Returns a reference to the first element - //! from the beginning of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - reference back() BOOST_CONTAINER_NOEXCEPT - { return *(--this->end()); } - - //! Requires: !empty() - //! - //! Effects: Returns a const reference to the first element - //! from the beginning of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reference back() const BOOST_CONTAINER_NOEXCEPT - { return *(--this->end()); } - - ////////////////////////////////////////////// - // - // modifiers - // - ////////////////////////////////////////////// - - #if defined(BOOST_CONTAINER_PERFECT_FORWARDING) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - //! Effects: Inserts an object of type T constructed with - //! std::forward(args)... in the end of the list. - //! - //! Throws: If memory allocation throws or - //! T's in-place constructor throws. - //! - //! Complexity: Constant - template - void emplace_back(Args&&... args) - { this->emplace(this->cend(), boost::forward(args)...); } - - //! Effects: Inserts an object of type T constructed with - //! std::forward(args)... in the beginning of the list. - //! - //! Throws: If memory allocation throws or - //! T's in-place constructor throws. - //! - //! Complexity: Constant - template - void emplace_front(Args&&... args) - { this->emplace(this->cbegin(), boost::forward(args)...); } - - //! Effects: Inserts an object of type T constructed with - //! std::forward(args)... before p. - //! - //! Throws: If memory allocation throws or - //! T's in-place constructor throws. - //! - //! Complexity: Constant - template - iterator emplace(const_iterator p, Args&&... args) - { - NodePtr pnode(AllocHolder::create_node(boost::forward(args)...)); - return iterator(this->icont().insert(p.get(), *pnode)); - } - - #else //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING - - #define BOOST_PP_LOCAL_MACRO(n) \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - void emplace_back(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - this->emplace(this->cend() \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); \ - } \ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - void emplace_front(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - this->emplace(this->cbegin() \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); \ - } \ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace(const_iterator p \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - NodePtr pnode (AllocHolder::create_node \ - (BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _))); \ - return iterator(this->icont().insert(p.get(), *pnode)); \ - } \ - //! - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() - - #endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING - - #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - //! Effects: Inserts a copy of x at the beginning of the list. - //! - //! Throws: If memory allocation throws or - //! T's copy constructor throws. - //! - //! Complexity: Amortized constant time. - void push_front(const T &x); - - //! Effects: Constructs a new element in the beginning of the list - //! and moves the resources of mx to this new element. - //! - //! Throws: If memory allocation throws. - //! - //! Complexity: Amortized constant time. - void push_front(T &&x); - #else - BOOST_MOVE_CONVERSION_AWARE_CATCH(push_front, T, void, priv_push_front) - #endif - - #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - //! Effects: Inserts a copy of x at the end of the list. - //! - //! Throws: If memory allocation throws or - //! T's copy constructor throws. - //! - //! Complexity: Amortized constant time. - void push_back(const T &x); - - //! Effects: Constructs a new element in the end of the list - //! and moves the resources of mx to this new element. - //! - //! Throws: If memory allocation throws. - //! - //! Complexity: Amortized constant time. - void push_back(T &&x); - #else - BOOST_MOVE_CONVERSION_AWARE_CATCH(push_back, T, void, priv_push_back) - #endif - - #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - //! Requires: position must be a valid iterator of *this. - //! - //! Effects: Insert a copy of x before position. - //! - //! Returns: an iterator to the inserted element. - //! - //! Throws: If memory allocation throws or x's copy constructor throws. - //! - //! Complexity: Amortized constant time. - iterator insert(const_iterator position, const T &x); - - //! Requires: position must be a valid iterator of *this. - //! - //! Effects: Insert a new element before position with mx's resources. - //! - //! Returns: an iterator to the inserted element. - //! - //! Throws: If memory allocation throws. - //! - //! Complexity: Amortized constant time. - iterator insert(const_iterator position, T &&x); - #else - BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, T, iterator, priv_insert, const_iterator, const_iterator) - #endif - - //! Requires: p must be a valid iterator of *this. - //! - //! Effects: Inserts n copies of x before p. - //! - //! Returns: an iterator to the first inserted element or p if n is 0. - //! - //! Throws: If memory allocation throws or T's copy constructor throws. - //! - //! Complexity: Linear to n. - iterator insert(const_iterator p, size_type n, const T& x) - { - typedef constant_iterator cvalue_iterator; - return this->insert(p, cvalue_iterator(x, n), cvalue_iterator()); - } - - //! Requires: p must be a valid iterator of *this. - //! - //! Effects: Insert a copy of the [first, last) range before p. - //! - //! Returns: an iterator to the first inserted element or p if first == last. - //! - //! Throws: If memory allocation throws, T's constructor from a - //! dereferenced InpIt throws. - //! - //! Complexity: Linear to std::distance [first, last). - template - iterator insert(const_iterator p, InpIt first, InpIt last - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value - && (container_detail::is_input_iterator::value - || container_detail::is_same::value - ) - >::type * = 0 - #endif - ) - { - const typename Icont::iterator ipos(p.get()); - iterator ret_it(ipos); - if(first != last){ - ret_it = iterator(this->icont().insert(ipos, *this->create_node_from_it(first))); - ++first; - } - for (; first != last; ++first){ - this->icont().insert(ipos, *this->create_node_from_it(first)); - } - return ret_it; - } - - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - template - iterator insert(const_iterator p, FwdIt first, FwdIt last - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value - && !(container_detail::is_input_iterator::value - || container_detail::is_same::value - ) - >::type * = 0 - ) - { - //Optimized allocation and construction - insertion_functor func(this->icont(), p.get()); - iterator before_p(p.get()); - --before_p; - this->allocate_many_and_construct(first, std::distance(first, last), func); - return ++before_p; - } - #endif - - //! Effects: Removes the first element from the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Amortized constant time. - void pop_front() BOOST_CONTAINER_NOEXCEPT - { this->erase(this->cbegin()); } - - //! Effects: Removes the last element from the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Amortized constant time. - void pop_back() BOOST_CONTAINER_NOEXCEPT - { const_iterator tmp = this->cend(); this->erase(--tmp); } - - //! Requires: p must be a valid iterator of *this. - //! - //! Effects: Erases the element at p p. - //! - //! Throws: Nothing. - //! - //! Complexity: Amortized constant time. - iterator erase(const_iterator p) BOOST_CONTAINER_NOEXCEPT - { return iterator(this->icont().erase_and_dispose(p.get(), Destroyer(this->node_alloc()))); } - - //! Requires: first and last must be valid iterator to elements in *this. - //! - //! Effects: Erases the elements pointed by [first, last). - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the distance between first and last. - iterator erase(const_iterator first, const_iterator last) BOOST_CONTAINER_NOEXCEPT - { return iterator(AllocHolder::erase_range(first.get(), last.get(), alloc_version())); } - - //! Effects: Swaps the contents of *this and x. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - void swap(list& x) - { AllocHolder::swap(x); } - - //! Effects: Erases all the elements of the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements in the list. - void clear() BOOST_CONTAINER_NOEXCEPT - { AllocHolder::clear(alloc_version()); } - - ////////////////////////////////////////////// - // - // slist operations - // - ////////////////////////////////////////////// - - //! Requires: p must point to an element contained - //! by the list. x != *this. this' allocator and x's allocator shall compare equal - //! - //! Effects: Transfers all the elements of list x to this list, before the - //! the element pointed by p. No destructors or copy constructors are called. - //! - //! Throws: Nothing - //! - //! Complexity: Constant. - //! - //! Note: Iterators of values obtained from list x now point to elements of - //! this list. Iterators of this list and all the references are not invalidated. - void splice(const_iterator p, list& x) BOOST_CONTAINER_NOEXCEPT - { - BOOST_ASSERT(this != &x); - BOOST_ASSERT(this->node_alloc() == x.node_alloc()); - this->icont().splice(p.get(), x.icont()); - } - - //! Requires: p must point to an element contained - //! by the list. x != *this. this' allocator and x's allocator shall compare equal - //! - //! Effects: Transfers all the elements of list x to this list, before the - //! the element pointed by p. No destructors or copy constructors are called. - //! - //! Throws: Nothing - //! - //! Complexity: Constant. - //! - //! Note: Iterators of values obtained from list x now point to elements of - //! this list. Iterators of this list and all the references are not invalidated. - void splice(const_iterator p, BOOST_RV_REF(list) x) BOOST_CONTAINER_NOEXCEPT - { this->splice(p, static_cast(x)); } - - //! Requires: p must point to an element contained - //! by this list. i must point to an element contained in list x. - //! this' allocator and x's allocator shall compare equal - //! - //! Effects: Transfers the value pointed by i, from list x to this list, - //! before the the element pointed by p. No destructors or copy constructors are called. - //! If p == i or p == ++i, this function is a null operation. - //! - //! Throws: Nothing - //! - //! Complexity: Constant. - //! - //! Note: Iterators of values obtained from list x now point to elements of this - //! list. Iterators of this list and all the references are not invalidated. - void splice(const_iterator p, list &x, const_iterator i) BOOST_CONTAINER_NOEXCEPT - { - //BOOST_ASSERT(this != &x); - BOOST_ASSERT(this->node_alloc() == x.node_alloc()); - this->icont().splice(p.get(), x.icont(), i.get()); - } - - //! Requires: p must point to an element contained - //! by this list. i must point to an element contained in list x. - //! this' allocator and x's allocator shall compare equal. - //! - //! Effects: Transfers the value pointed by i, from list x to this list, - //! before the the element pointed by p. No destructors or copy constructors are called. - //! If p == i or p == ++i, this function is a null operation. - //! - //! Throws: Nothing - //! - //! Complexity: Constant. - //! - //! Note: Iterators of values obtained from list x now point to elements of this - //! list. Iterators of this list and all the references are not invalidated. - void splice(const_iterator p, BOOST_RV_REF(list) x, const_iterator i) BOOST_CONTAINER_NOEXCEPT - { this->splice(p, static_cast(x), i); } - - //! Requires: p must point to an element contained - //! by this list. first and last must point to elements contained in list x. - //! this' allocator and x's allocator shall compare equal - //! - //! Effects: Transfers the range pointed by first and last from list x to this list, - //! before the the element pointed by p. No destructors or copy constructors are called. - //! - //! Throws: Nothing - //! - //! Complexity: Linear to the number of elements transferred. - //! - //! Note: Iterators of values obtained from list x now point to elements of this - //! list. Iterators of this list and all the references are not invalidated. - void splice(const_iterator p, list &x, const_iterator first, const_iterator last) BOOST_CONTAINER_NOEXCEPT - { - BOOST_ASSERT(this->node_alloc() == x.node_alloc()); - this->icont().splice(p.get(), x.icont(), first.get(), last.get()); - } - - //! Requires: p must point to an element contained - //! by this list. first and last must point to elements contained in list x. - //! this' allocator and x's allocator shall compare equal. - //! - //! Effects: Transfers the range pointed by first and last from list x to this list, - //! before the the element pointed by p. No destructors or copy constructors are called. - //! - //! Throws: Nothing - //! - //! Complexity: Linear to the number of elements transferred. - //! - //! Note: Iterators of values obtained from list x now point to elements of this - //! list. Iterators of this list and all the references are not invalidated. - void splice(const_iterator p, BOOST_RV_REF(list) x, const_iterator first, const_iterator last) BOOST_CONTAINER_NOEXCEPT - { this->splice(p, static_cast(x), first, last); } - - //! Requires: p must point to an element contained - //! by this list. first and last must point to elements contained in list x. - //! n == std::distance(first, last). this' allocator and x's allocator shall compare equal - //! - //! Effects: Transfers the range pointed by first and last from list x to this list, - //! before the the element pointed by p. No destructors or copy constructors are called. - //! - //! Throws: Nothing - //! - //! Complexity: Constant. - //! - //! Note: Iterators of values obtained from list x now point to elements of this - //! list. Iterators of this list and all the references are not invalidated. - //! - //! Note: Non-standard extension - void splice(const_iterator p, list &x, const_iterator first, const_iterator last, size_type n) BOOST_CONTAINER_NOEXCEPT - { - BOOST_ASSERT(this->node_alloc() == x.node_alloc()); - this->icont().splice(p.get(), x.icont(), first.get(), last.get(), n); - } - - //! Requires: p must point to an element contained - //! by this list. first and last must point to elements contained in list x. - //! n == std::distance(first, last). this' allocator and x's allocator shall compare equal - //! - //! Effects: Transfers the range pointed by first and last from list x to this list, - //! before the the element pointed by p. No destructors or copy constructors are called. - //! - //! Throws: Nothing - //! - //! Complexity: Constant. - //! - //! Note: Iterators of values obtained from list x now point to elements of this - //! list. Iterators of this list and all the references are not invalidated. - //! - //! Note: Non-standard extension - void splice(const_iterator p, BOOST_RV_REF(list) x, const_iterator first, const_iterator last, size_type n) BOOST_CONTAINER_NOEXCEPT - { this->splice(p, static_cast(x), first, last, n); } - - //! Effects: Removes all the elements that compare equal to value. - //! - //! Throws: If comparison throws. - //! - //! Complexity: Linear time. It performs exactly size() comparisons for equality. - //! - //! Note: The relative order of elements that are not removed is unchanged, - //! and iterators to elements that are not removed remain valid. - void remove(const T& value) - { this->remove_if(equal_to_value(value)); } - - //! Effects: Removes all the elements for which a specified - //! predicate is satisfied. - //! - //! Throws: If pred throws. - //! - //! Complexity: Linear time. It performs exactly size() calls to the predicate. - //! - //! Note: The relative order of elements that are not removed is unchanged, - //! and iterators to elements that are not removed remain valid. - template - void remove_if(Pred pred) - { - typedef ValueCompareToNodeCompare Predicate; - this->icont().remove_and_dispose_if(Predicate(pred), Destroyer(this->node_alloc())); - } - - //! Effects: Removes adjacent duplicate elements or adjacent - //! elements that are equal from the list. - //! - //! Throws: If comparison throws. - //! - //! Complexity: Linear time (size()-1 comparisons equality comparisons). - //! - //! Note: The relative order of elements that are not removed is unchanged, - //! and iterators to elements that are not removed remain valid. - void unique() - { this->unique(value_equal()); } - - //! Effects: Removes adjacent duplicate elements or adjacent - //! elements that satisfy some binary predicate from the list. - //! - //! Throws: If pred throws. - //! - //! Complexity: Linear time (size()-1 comparisons calls to pred()). - //! - //! Note: The relative order of elements that are not removed is unchanged, - //! and iterators to elements that are not removed remain valid. - template - void unique(BinaryPredicate binary_pred) - { - typedef ValueCompareToNodeCompare Predicate; - this->icont().unique_and_dispose(Predicate(binary_pred), Destroyer(this->node_alloc())); - } - - //! Requires: The lists x and *this must be distinct. - //! - //! Effects: This function removes all of x's elements and inserts them - //! in order into *this according to std::less. The merge is stable; - //! that is, if an element from *this is equivalent to one from x, then the element - //! from *this will precede the one from x. - //! - //! Throws: If comparison throws. - //! - //! Complexity: This function is linear time: it performs at most - //! size() + x.size() - 1 comparisons. - void merge(list &x) - { this->merge(x, value_less()); } - - //! Requires: The lists x and *this must be distinct. - //! - //! Effects: This function removes all of x's elements and inserts them - //! in order into *this according to std::less. The merge is stable; - //! that is, if an element from *this is equivalent to one from x, then the element - //! from *this will precede the one from x. - //! - //! Throws: If comparison throws. - //! - //! Complexity: This function is linear time: it performs at most - //! size() + x.size() - 1 comparisons. - void merge(BOOST_RV_REF(list) x) - { this->merge(static_cast(x)); } - - //! Requires: p must be a comparison function that induces a strict weak - //! ordering and both *this and x must be sorted according to that ordering - //! The lists x and *this must be distinct. - //! - //! Effects: This function removes all of x's elements and inserts them - //! in order into *this. The merge is stable; that is, if an element from *this is - //! equivalent to one from x, then the element from *this will precede the one from x. - //! - //! Throws: If comp throws. - //! - //! Complexity: This function is linear time: it performs at most - //! size() + x.size() - 1 comparisons. - //! - //! Note: Iterators and references to *this are not invalidated. - template - void merge(list &x, const StrictWeakOrdering &comp) - { - BOOST_ASSERT(this->node_alloc() == x.node_alloc()); - this->icont().merge(x.icont(), - ValueCompareToNodeCompare(comp)); - } - - //! Requires: p must be a comparison function that induces a strict weak - //! ordering and both *this and x must be sorted according to that ordering - //! The lists x and *this must be distinct. - //! - //! Effects: This function removes all of x's elements and inserts them - //! in order into *this. The merge is stable; that is, if an element from *this is - //! equivalent to one from x, then the element from *this will precede the one from x. - //! - //! Throws: If comp throws. - //! - //! Complexity: This function is linear time: it performs at most - //! size() + x.size() - 1 comparisons. - //! - //! Note: Iterators and references to *this are not invalidated. - template - void merge(BOOST_RV_REF(list) x, StrictWeakOrdering comp) - { this->merge(static_cast(x), comp); } - - //! Effects: This function sorts the list *this according to std::less. - //! The sort is stable, that is, the relative order of equivalent elements is preserved. - //! - //! Throws: If comparison throws. - //! - //! Notes: Iterators and references are not invalidated. - //! - //! Complexity: The number of comparisons is approximately N log N, where N - //! is the list's size. - void sort() - { this->sort(value_less()); } - - //! Effects: This function sorts the list *this according to std::less. - //! The sort is stable, that is, the relative order of equivalent elements is preserved. - //! - //! Throws: If comp throws. - //! - //! Notes: Iterators and references are not invalidated. - //! - //! Complexity: The number of comparisons is approximately N log N, where N - //! is the list's size. - template - void sort(StrictWeakOrdering comp) - { - // nothing if the list has length 0 or 1. - if (this->size() < 2) - return; - this->icont().sort(ValueCompareToNodeCompare(comp)); - } - - //! Effects: Reverses the order of elements in the list. - //! - //! Throws: Nothing. - //! - //! Complexity: This function is linear time. - //! - //! Note: Iterators and references are not invalidated - void reverse() BOOST_CONTAINER_NOEXCEPT - { this->icont().reverse(); } - - //! Effects: Returns true if x and y are equal - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator==(const list& x, const list& y) - { - if(x.size() != y.size()){ - return false; - } - typedef typename list::const_iterator const_iterator; - const_iterator end1 = x.end(); - - const_iterator i1 = x.begin(); - const_iterator i2 = y.begin(); - while (i1 != end1 && *i1 == *i2) { - ++i1; - ++i2; - } - return i1 == end1; - } - - //! Effects: Returns true if x and y are unequal - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator!=(const list& x, const list& y) - { return !(x == y); } - - //! Effects: Returns true if x is less than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator<(const list& x, const list& y) - { return std::lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); } - - //! Effects: Returns true if x is greater than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator>(const list& x, const list& y) - { return y < x; } - - //! Effects: Returns true if x is equal or less than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator<=(const list& x, const list& y) - { return !(y < x); } - - //! Effects: Returns true if x is equal or greater than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator>=(const list& x, const list& y) - { return !(x < y); } - - //! Effects: x.swap(y) - //! - //! Complexity: Constant. - friend void swap(list& x, list& y) - { x.swap(y); } - - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - private: - - bool priv_try_shrink(size_type new_size) - { - const size_type len = this->size(); - if(len > new_size){ - const const_iterator iend = this->cend(); - size_type to_erase = len - new_size; - const_iterator ifirst; - if(to_erase < len/2u){ - ifirst = iend; - while(to_erase--){ - --ifirst; - } - } - else{ - ifirst = this->cbegin(); - size_type to_skip = len - to_erase; - while(to_skip--){ - ++ifirst; - } - } - this->erase(ifirst, iend); - return true; - } - else{ - return false; - } - } - - iterator priv_insert(const_iterator p, const T &x) - { - NodePtr tmp = AllocHolder::create_node(x); - return iterator(this->icont().insert(p.get(), *tmp)); - } - - iterator priv_insert(const_iterator p, BOOST_RV_REF(T) x) - { - NodePtr tmp = AllocHolder::create_node(boost::move(x)); - return iterator(this->icont().insert(p.get(), *tmp)); - } - - void priv_push_back (const T &x) - { this->insert(this->cend(), x); } - - void priv_push_back (BOOST_RV_REF(T) x) - { this->insert(this->cend(), boost::move(x)); } - - void priv_push_front (const T &x) - { this->insert(this->cbegin(), x); } - - void priv_push_front (BOOST_RV_REF(T) x) - { this->insert(this->cbegin(), boost::move(x)); } - - class insertion_functor; - friend class insertion_functor; - - class insertion_functor - { - Icont &icont_; - typedef typename Icont::const_iterator iconst_iterator; - const iconst_iterator pos_; - - public: - insertion_functor(Icont &icont, typename Icont::const_iterator pos) - : icont_(icont), pos_(pos) - {} - - void operator()(Node &n) - { - this->icont_.insert(pos_, n); - } - }; - - //Functors for member algorithm defaults - struct value_less - { - bool operator()(const value_type &a, const value_type &b) const - { return a < b; } - }; - - struct value_equal - { - bool operator()(const value_type &a, const value_type &b) const - { return a == b; } - }; - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -}; - -#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -} //namespace container { - -//!has_trivial_destructor_after_move<> == true_type -//!specialization for optimizations -template -struct has_trivial_destructor_after_move > - : public ::boost::has_trivial_destructor_after_move -{}; - -namespace container { - -#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -}} - -#include - -#endif // BOOST_CONTAINER_LIST_HPP diff --git a/bundled/boost-1.56.0/include/boost/container/map.hpp b/bundled/boost-1.56.0/include/boost/container/map.hpp deleted file mode 100644 index ec1c30a3db..0000000000 --- a/bundled/boost-1.56.0/include/boost/container/map.hpp +++ /dev/null @@ -1,1317 +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 - -#if defined(_MSC_VER) -# pragma once -#endif - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -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 value_type stored -//! by this container is the value_type is std::pair. -//! -//! \tparam Key is the key_type of the map -//! \tparam Value is the mapped_type -//! \tparam Compare is the ordering function for Keys (e.g. std::less). -//! \tparam Allocator is the allocator to allocate the value_types -//! (e.g. allocator< std::pair > ). -//! \tparam MapOptions is an packed option type generated using using boost::container::tree_assoc_options. -template < class Key, class T, class Compare = std::less - , class Allocator = std::allocator< std::pair< const Key, T> >, class MapOptions = tree_assoc_defaults > -#else -template -#endif -class map - ///@cond - : public container_detail::tree - < Key, std::pair - , container_detail::select1st< std::pair > - , Compare, Allocator, MapOptions> - ///@endcond -{ - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - private: - BOOST_COPYABLE_AND_MOVABLE(map) - - typedef std::pair value_type_impl; - typedef container_detail::tree - , Compare, Allocator, MapOptions> base_t; - typedef container_detail::pair movable_value_type_impl; - typedef container_detail::tree_value_compare - < Key, value_type_impl, Compare, container_detail::select1st - > value_compare_impl; - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - - public: - ////////////////////////////////////////////// - // - // types - // - ////////////////////////////////////////////// - - typedef Key key_type; - typedef ::boost::container::allocator_traits allocator_traits_type; - typedef T mapped_type; - typedef std::pair value_type; - typedef typename boost::container::allocator_traits::pointer pointer; - typedef typename boost::container::allocator_traits::const_pointer const_pointer; - typedef typename boost::container::allocator_traits::reference reference; - typedef typename boost::container::allocator_traits::const_reference const_reference; - typedef typename boost::container::allocator_traits::size_type size_type; - typedef typename boost::container::allocator_traits::difference_type difference_type; - typedef Allocator allocator_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 nonconst_value_type; - typedef BOOST_CONTAINER_IMPDEF(movable_value_type_impl) movable_value_type; - - ////////////////////////////////////////////// - // - // construct/copy/destroy - // - ////////////////////////////////////////////// - - //! Effects: Default constructs an empty map. - //! - //! Complexity: Constant. - map() - : base_t() - { - //Allocator type must be std::pair - BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); - } - - //! Effects: Constructs an empty map using the specified comparison object - //! and allocator. - //! - //! Complexity: Constant. - explicit map(const Compare& comp, - const allocator_type& a = allocator_type()) - : base_t(comp, a) - { - //Allocator type must be std::pair - BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); - } - - //! Effects: Constructs an empty map using the specified allocator. - //! - //! Complexity: Constant. - explicit map(const allocator_type& a) - : base_t(a) - { - //Allocator type must be std::pair - BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); - } - - //! Effects: Constructs an empty map using the specified comparison object and - //! allocator, and inserts elements from the range [first ,last ). - //! - //! Complexity: Linear in N if the range [first ,last ) is already sorted using - //! comp and otherwise N logN, where N is last - first. - template - map(InputIterator first, InputIterator last, const Compare& comp = Compare(), - const allocator_type& a = allocator_type()) - : base_t(true, first, last, comp, a) - { - //Allocator type must be std::pair - BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); - } - - //! Effects: Constructs an empty map using the specified 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. - //! - //! Requires: [first ,last) must be ordered according to the predicate and must be - //! unique values. - //! - //! Complexity: Linear in N. - //! - //! Note: Non-standard extension. - template - map( ordered_unique_range_t, InputIterator first, InputIterator last - , const Compare& comp = Compare(), const allocator_type& a = allocator_type()) - : base_t(ordered_range, first, last, comp, a) - { - //Allocator type must be std::pair - BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); - } - - //! Effects: Copy constructs a map. - //! - //! Complexity: Linear in x.size(). - map(const map& x) - : base_t(static_cast(x)) - { - //Allocator type must be std::pair - BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); - } - - //! Effects: Move constructs a map. Constructs *this using x's resources. - //! - //! Complexity: Constant. - //! - //! Postcondition: x is emptied. - map(BOOST_RV_REF(map) x) - : base_t(boost::move(static_cast(x))) - { - //Allocator type must be std::pair - BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); - } - - //! Effects: Copy constructs a map using the specified allocator. - //! - //! Complexity: Linear in x.size(). - map(const map& x, const allocator_type &a) - : base_t(static_cast(x), a) - { - //Allocator type must be std::pair - BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); - } - - //! Effects: Move constructs a map using the specified allocator. - //! Constructs *this using x's resources. - //! - //! Complexity: Constant if x == x.get_allocator(), linear otherwise. - //! - //! Postcondition: x is emptied. - map(BOOST_RV_REF(map) x, const allocator_type &a) - : base_t(boost::move(static_cast(x)), a) - { - //Allocator type must be std::pair - BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); - } - - //! Effects: Makes *this a copy of x. - //! - //! Complexity: Linear in x.size(). - map& operator=(BOOST_COPY_ASSIGN_REF(map) x) - { return static_cast(this->base_t::operator=(static_cast(x))); } - - //! Effects: this->swap(x.get()). - //! - //! Throws: If allocator_traits_type::propagate_on_container_move_assignment - //! is false and (allocation throws or value_type's move constructor throws) - //! - //! Complexity: Constant if allocator_traits_type:: - //! propagate_on_container_move_assignment is true or - //! this->get>allocator() == x.get_allocator(). Linear otherwise. - map& operator=(BOOST_RV_REF(map) x) - BOOST_CONTAINER_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value) - { return static_cast(this->base_t::operator=(boost::move(static_cast(x)))); } - - #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - //! Effects: Returns a copy of the Allocator that - //! was passed to the object's constructor. - //! - //! Complexity: Constant. - allocator_type get_allocator() const; - - //! Effects: Returns a reference to the internal allocator. - //! - //! Throws: Nothing - //! - //! Complexity: Constant. - //! - //! Note: Non-standard extension. - stored_allocator_type &get_stored_allocator() BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Returns a reference to the internal allocator. - //! - //! Throws: Nothing - //! - //! Complexity: Constant. - //! - //! Note: Non-standard extension. - const stored_allocator_type &get_stored_allocator() const BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Returns an iterator to the first element contained in the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - iterator begin() BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Returns a const_iterator to the first element contained in the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator begin() const BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Returns a const_iterator to the first element contained in the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator cbegin() const BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Returns an iterator to the end of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - iterator end() BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Returns a const_iterator to the end of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator end() const BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Returns a const_iterator to the end of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator cend() const BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Returns a reverse_iterator pointing to the beginning - //! of the reversed container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - reverse_iterator rbegin() BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Returns a const_reverse_iterator pointing to the beginning - //! of the reversed container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator rbegin() const BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Returns a const_reverse_iterator pointing to the beginning - //! of the reversed container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator crbegin() const BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Returns a reverse_iterator pointing to the end - //! of the reversed container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - reverse_iterator rend() BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Returns a const_reverse_iterator pointing to the end - //! of the reversed container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator rend() const BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Returns a const_reverse_iterator pointing to the end - //! of the reversed container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator crend() const BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Returns true if the container contains no elements. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - bool empty() const BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Returns the number of the elements contained in the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - size_type size() const BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Returns the largest possible size of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - size_type max_size() const BOOST_CONTAINER_NOEXCEPT; - - #endif //#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - //! Effects: If there is no key equivalent to x in the map, inserts - //! value_type(x, T()) into the map. - //! - //! Returns: Allocator reference to the mapped_type corresponding to x in *this. - //! - //! Complexity: Logarithmic. - mapped_type& operator[](const key_type &k); - - //! Effects: If there is no key equivalent to x in the map, inserts - //! value_type(boost::move(x), T()) into the map (the key is move-constructed) - //! - //! Returns: Allocator reference to the mapped_type corresponding to x in *this. - //! - //! Complexity: Logarithmic. - mapped_type& operator[](key_type &&k); - #else - BOOST_MOVE_CONVERSION_AWARE_CATCH( operator[] , key_type, mapped_type&, this->priv_subscript) - #endif - - //! Returns: Allocator reference to the element whose key is equivalent to x. - //! Throws: An exception object of type out_of_range if no such element is present. - //! Complexity: 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; - } - - //! Returns: Allocator reference to the element whose key is equivalent to x. - //! Throws: An exception object of type out_of_range if no such element is present. - //! Complexity: logarithmic. - const T& at(const key_type& k) const - { - const_iterator i = this->find(k); - if(i == this->end()){ - throw_out_of_range("map::at key not found"); - } - return i->second; - } - - ////////////////////////////////////////////// - // - // modifiers - // - ////////////////////////////////////////////// - - //! Effects: Inserts x if and only if there is no element in the container - //! with key equivalent to the key of x. - //! - //! Returns: 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. - //! - //! Complexity: Logarithmic. - std::pair insert(const value_type& x) - { return this->base_t::insert_unique(x); } - - //! Effects: 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. - //! - //! Returns: 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. - //! - //! Complexity: Logarithmic. - std::pair insert(const nonconst_value_type& x) - { return this->base_t::insert_unique(x); } - - //! Effects: 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. - //! - //! Returns: 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. - //! - //! Complexity: Logarithmic. - std::pair insert(BOOST_RV_REF(nonconst_value_type) x) - { return this->base_t::insert_unique(boost::move(x)); } - - //! Effects: 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. - //! - //! Returns: 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. - //! - //! Complexity: Logarithmic. - std::pair insert(BOOST_RV_REF(movable_value_type) x) - { return this->base_t::insert_unique(boost::move(x)); } - - //! Effects: Move constructs a new value from x if and only if there is - //! no element in the container with key equivalent to the key of x. - //! - //! Returns: 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. - //! - //! Complexity: Logarithmic. - std::pair insert(BOOST_RV_REF(value_type) x) - { return this->base_t::insert_unique(boost::move(x)); } - - //! Effects: 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. - //! - //! Returns: An iterator pointing to the element with key equivalent - //! to the key of x. - //! - //! Complexity: Logarithmic in general, but amortized constant if t - //! is inserted right before p. - iterator insert(const_iterator position, const value_type& x) - { return this->base_t::insert_unique(position, x); } - - //! Effects: Move constructs a new value from x if and only if there is - //! no element in the container with key equivalent to the key of x. - //! p is a hint pointing to where the insert should start to search. - //! - //! Returns: An iterator pointing to the element with key equivalent - //! to the key of x. - //! - //! Complexity: Logarithmic in general, but amortized constant if t - //! is inserted right before p. - iterator insert(const_iterator position, BOOST_RV_REF(nonconst_value_type) x) - { return this->base_t::insert_unique(position, boost::move(x)); } - - //! Effects: Move constructs a new value from x if and only if there is - //! no element in the container with key equivalent to the key of x. - //! p is a hint pointing to where the insert should start to search. - //! - //! Returns: An iterator pointing to the element with key equivalent - //! to the key of x. - //! - //! Complexity: Logarithmic in general, but amortized constant if t - //! is inserted right before p. - iterator insert(const_iterator position, BOOST_RV_REF(movable_value_type) x) - { return this->base_t::insert_unique(position, boost::move(x)); } - - //! Effects: Inserts a copy of x in the container. - //! p is a hint pointing to where the insert should start to search. - //! - //! Returns: An iterator pointing to the element with key equivalent to the key of x. - //! - //! Complexity: Logarithmic. - iterator insert(const_iterator position, const nonconst_value_type& x) - { return this->base_t::insert_unique(position, x); } - - //! Effects: Inserts an element move constructed from x in the container. - //! p is a hint pointing to where the insert should start to search. - //! - //! Returns: An iterator pointing to the element with key equivalent to the key of x. - //! - //! Complexity: Logarithmic. - iterator insert(const_iterator position, BOOST_RV_REF(value_type) x) - { return this->base_t::insert_unique(position, boost::move(x)); } - - //! Requires: first, last are not iterators into *this. - //! - //! Effects: 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. - //! - //! Complexity: At most N log(size()+N) (N is the distance from first to last) - template - void insert(InputIterator first, InputIterator last) - { this->base_t::insert_unique(first, last); } - - #if defined(BOOST_CONTAINER_PERFECT_FORWARDING) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - //! Effects: Inserts an object x of type T constructed with - //! std::forward(args)... in the container if and only if there is - //! no element in the container with an equivalent key. - //! p is a hint pointing to where the insert should start to search. - //! - //! Returns: 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. - //! - //! Complexity: Logarithmic in general, but amortized constant if t - //! is inserted right before p. - template - std::pair emplace(Args&&... args) - { return this->base_t::emplace_unique(boost::forward(args)...); } - - //! Effects: Inserts an object of type T constructed with - //! std::forward(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. - //! - //! Returns: An iterator pointing to the element with key equivalent - //! to the key of x. - //! - //! Complexity: Logarithmic in general, but amortized constant if t - //! is inserted right before p. - template - iterator emplace_hint(const_iterator hint, Args&&... args) - { return this->base_t::emplace_hint_unique(hint, boost::forward(args)...); } - - #else //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING - - #define BOOST_PP_LOCAL_MACRO(n) \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - std::pair emplace(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { return this->base_t::emplace_unique(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); }\ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace_hint(const_iterator hint \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { return this->base_t::emplace_hint_unique(hint \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _));} \ - //! - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() - - #endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING - - #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - //! Effects: Erases the element pointed to by position. - //! - //! Returns: Returns an iterator pointing to the element immediately - //! following q prior to the element being erased. If no such element exists, - //! returns end(). - //! - //! Complexity: Amortized constant time - iterator erase(const_iterator position) BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Erases all elements in the container with key equivalent to x. - //! - //! Returns: Returns the number of erased elements. - //! - //! Complexity: log(size()) + count(k) - size_type erase(const key_type& x) BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Erases all the elements in the range [first, last). - //! - //! Returns: Returns last. - //! - //! Complexity: log(size())+N where N is the distance from first to last. - iterator erase(const_iterator first, const_iterator last) BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Swaps the contents of *this and x. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - void swap(map& x); - - //! Effects: erase(a.begin(),a.end()). - //! - //! Postcondition: size() == 0. - //! - //! Complexity: linear in size(). - void clear() BOOST_CONTAINER_NOEXCEPT; - - //! Effects: Returns the comparison object out - //! of which a was constructed. - //! - //! Complexity: Constant. - key_compare key_comp() const; - - //! Effects: Returns an object of value_compare constructed out - //! of the comparison object. - //! - //! Complexity: Constant. - value_compare value_comp() const; - - //! Returns: An iterator pointing to an element with the key - //! equivalent to x, or end() if such an element is not found. - //! - //! Complexity: Logarithmic. - iterator find(const key_type& x); - - //! Returns: Allocator const_iterator pointing to an element with the key - //! equivalent to x, or end() if such an element is not found. - //! - //! Complexity: Logarithmic. - const_iterator find(const key_type& x) const; - - #endif //#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - //! Returns: The number of elements with key equivalent to x. - //! - //! Complexity: log(size())+count(k) - size_type count(const key_type& x) const - { return static_cast(this->find(x) != this->cend()); } - - #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - //! Returns: An iterator pointing to the first element with key not less - //! than k, or a.end() if such an element is not found. - //! - //! Complexity: Logarithmic - iterator lower_bound(const key_type& x); - - //! Returns: Allocator const iterator pointing to the first element with key not - //! less than k, or a.end() if such an element is not found. - //! - //! Complexity: Logarithmic - const_iterator lower_bound(const key_type& x) const; - - //! Returns: An iterator pointing to the first element with key not less - //! than x, or end() if such an element is not found. - //! - //! Complexity: Logarithmic - iterator upper_bound(const key_type& x); - - //! Returns: Allocator const iterator pointing to the first element with key not - //! less than x, or end() if such an element is not found. - //! - //! Complexity: Logarithmic - const_iterator upper_bound(const key_type& x) const; - - //! Effects: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)). - //! - //! Complexity: Logarithmic - std::pair equal_range(const key_type& x); - - //! Effects: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)). - //! - //! Complexity: Logarithmic - std::pair equal_range(const key_type& x) const; - - //! Effects: Rebalances the tree. It's a no-op for Red-Black and AVL trees. - //! - //! Complexity: Linear - void rebalance(); - - //! Effects: Returns true if x and y are equal - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator==(const map& x, const map& y); - - //! Effects: Returns true if x and y are unequal - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator!=(const map& x, const map& y); - - //! Effects: Returns true if x is less than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator<(const map& x, const map& y); - - //! Effects: Returns true if x is greater than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator>(const map& x, const map& y); - - //! Effects: Returns true if x is equal or less than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator<=(const map& x, const map& y); - - //! Effects: Returns true if x is equal or greater than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator>=(const map& x, const map& y); - - //! Effects: x.swap(y) - //! - //! Complexity: Constant. - friend void swap(map& x, map& y); - - #endif //#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - private: - mapped_type& priv_subscript(const key_type &k) - { - //we can optimize this - iterator i = this->lower_bound(k); - // i->first is greater than or equivalent to k. - if (i == this->end() || this->key_comp()(k, (*i).first)){ - container_detail::value_init m; - movable_value_type val(k, boost::move(m.m_t)); - i = insert(i, boost::move(val)); - } - return (*i).second; - } - - mapped_type& priv_subscript(BOOST_RV_REF(key_type) mk) - { - key_type &k = mk; - //we can optimize this - iterator i = this->lower_bound(k); - // i->first is greater than or equivalent to k. - if (i == this->end() || this->key_comp()(k, (*i).first)){ - container_detail::value_init m; - movable_value_type val(boost::move(k), boost::move(m.m_t)); - i = insert(i, boost::move(val)); - } - return (*i).second; - } - - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED -}; - - -#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -} //namespace container { - -//!has_trivial_destructor_after_move<> == true_type -//!specialization for optimizations -template -struct has_trivial_destructor_after_move > -{ - static const bool value = has_trivial_destructor_after_move::value && has_trivial_destructor_after_move::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 value_type stored -//! by this container is the value_type is std::pair. -//! -//! \tparam Key is the key_type of the map -//! \tparam Value is the mapped_type -//! \tparam Compare is the ordering function for Keys (e.g. std::less). -//! \tparam Allocator is the allocator to allocate the value_types -//! (e.g. allocator< std::pair > ). -//! \tparam MultiMapOptions is an packed option type generated using using boost::container::tree_assoc_options. -template < class Key, class T, class Compare = std::less - , class Allocator = std::allocator< std::pair< const Key, T> >, class MultiMapOptions = tree_assoc_defaults> -#else -template -#endif -class multimap - ///@cond - : public container_detail::tree - < Key, std::pair - , container_detail::select1st< std::pair > - , Compare, Allocator, MultiMapOptions> - ///@endcond -{ - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - private: - BOOST_COPYABLE_AND_MOVABLE(multimap) - - typedef std::pair value_type_impl; - typedef container_detail::tree - , Compare, Allocator, MultiMapOptions> base_t; - typedef container_detail::pair movable_value_type_impl; - typedef container_detail::tree_value_compare - < Key, value_type_impl, Compare, container_detail::select1st - > value_compare_impl; - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - - public: - ////////////////////////////////////////////// - // - // types - // - ////////////////////////////////////////////// - - typedef Key key_type; - typedef T mapped_type; - typedef std::pair value_type; - typedef typename boost::container::allocator_traits::pointer pointer; - typedef typename boost::container::allocator_traits::const_pointer const_pointer; - typedef typename boost::container::allocator_traits::reference reference; - typedef typename boost::container::allocator_traits::const_reference const_reference; - typedef typename boost::container::allocator_traits::size_type size_type; - typedef typename boost::container::allocator_traits::difference_type difference_type; - typedef Allocator allocator_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 nonconst_value_type; - typedef BOOST_CONTAINER_IMPDEF(movable_value_type_impl) movable_value_type; - - ////////////////////////////////////////////// - // - // construct/copy/destroy - // - ////////////////////////////////////////////// - - //! Effects: Default constructs an empty multimap. - //! - //! Complexity: Constant. - multimap() - : base_t() - { - //Allocator type must be std::pair - BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); - } - - //! Effects: Constructs an empty multimap using the specified allocator. - //! - //! Complexity: Constant. - explicit multimap(const Compare& comp, const allocator_type& a = allocator_type()) - : base_t(comp, a) - { - //Allocator type must be std::pair - BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); - } - - //! Effects: Constructs an empty multimap using the specified comparison - //! object and allocator. - //! - //! Complexity: Constant. - explicit multimap(const allocator_type& a) - : base_t(a) - { - //Allocator type must be std::pair - BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); - } - - //! Effects: Constructs an empty multimap using the specified comparison object - //! and allocator, and inserts elements from the range [first ,last ). - //! - //! Complexity: Linear in N if the range [first ,last ) is already sorted using - //! comp and otherwise N logN, where N is last - first. - template - multimap(InputIterator first, InputIterator last, - const Compare& comp = Compare(), - const allocator_type& a = allocator_type()) - : base_t(false, first, last, comp, a) - { - //Allocator type must be std::pair - BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); - } - - //! Effects: Constructs an empty multimap using the specified 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. - //! - //! Requires: [first ,last) must be ordered according to the predicate. - //! - //! Complexity: Linear in N. - //! - //! Note: Non-standard extension. - template - multimap(ordered_range_t, InputIterator first, InputIterator last, const Compare& comp = Compare(), - const allocator_type& a = allocator_type()) - : base_t(ordered_range, first, last, comp, a) - {} - - //! Effects: Copy constructs a multimap. - //! - //! Complexity: Linear in x.size(). - multimap(const multimap& x) - : base_t(static_cast(x)) - { - //Allocator type must be std::pair - BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); - } - - //! Effects: Move constructs a multimap. Constructs *this using x's resources. - //! - //! Complexity: Constant. - //! - //! Postcondition: x is emptied. - multimap(BOOST_RV_REF(multimap) x) - : base_t(boost::move(static_cast(x))) - { - //Allocator type must be std::pair - BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); - } - - //! Effects: Copy constructs a multimap. - //! - //! Complexity: Linear in x.size(). - multimap(const multimap& x, const allocator_type &a) - : base_t(static_cast(x), a) - { - //Allocator type must be std::pair - BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); - } - - //! Effects: Move constructs a multimap using the specified allocator. - //! Constructs *this using x's resources. - //! Complexity: Constant if a == x.get_allocator(), linear otherwise. - //! - //! Postcondition: x is emptied. - multimap(BOOST_RV_REF(multimap) x, const allocator_type &a) - : base_t(boost::move(static_cast(x)), a) - { - //Allocator type must be std::pair - BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); - } - - //! Effects: Makes *this a copy of x. - //! - //! Complexity: Linear in x.size(). - multimap& operator=(BOOST_COPY_ASSIGN_REF(multimap) x) - { return static_cast(this->base_t::operator=(static_cast(x))); } - - //! Effects: this->swap(x.get()). - //! - //! Complexity: Constant. - multimap& operator=(BOOST_RV_REF(multimap) x) - { return static_cast(this->base_t::operator=(boost::move(static_cast(x)))); } - - #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_CONTAINER_NOEXCEPT; - - //! @copydoc ::boost::container::set::end() const - const_iterator end() const BOOST_CONTAINER_NOEXCEPT; - - //! @copydoc ::boost::container::set::cend() const - const_iterator cend() const BOOST_CONTAINER_NOEXCEPT; - - //! @copydoc ::boost::container::set::rbegin() - reverse_iterator rbegin() BOOST_CONTAINER_NOEXCEPT; - - //! @copydoc ::boost::container::set::rbegin() const - const_reverse_iterator rbegin() const BOOST_CONTAINER_NOEXCEPT; - - //! @copydoc ::boost::container::set::crbegin() const - const_reverse_iterator crbegin() const BOOST_CONTAINER_NOEXCEPT; - - //! @copydoc ::boost::container::set::rend() - reverse_iterator rend() BOOST_CONTAINER_NOEXCEPT; - - //! @copydoc ::boost::container::set::rend() const - const_reverse_iterator rend() const BOOST_CONTAINER_NOEXCEPT; - - //! @copydoc ::boost::container::set::crend() const - const_reverse_iterator crend() const BOOST_CONTAINER_NOEXCEPT; - - //! @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_CONTAINER_PERFECT_FORWARDING) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - //! Effects: Inserts an object of type T constructed with - //! std::forward(args)... in the container. - //! p is a hint pointing to where the insert should start to search. - //! - //! Returns: An iterator pointing to the element with key equivalent - //! to the key of x. - //! - //! Complexity: Logarithmic in general, but amortized constant if t - //! is inserted right before p. - template - iterator emplace(Args&&... args) - { return this->base_t::emplace_equal(boost::forward(args)...); } - - //! Effects: Inserts an object of type T constructed with - //! std::forward(args)... in the container. - //! p is a hint pointing to where the insert should start to search. - //! - //! Returns: An iterator pointing to the element with key equivalent - //! to the key of x. - //! - //! Complexity: Logarithmic in general, but amortized constant if t - //! is inserted right before p. - template - iterator emplace_hint(const_iterator hint, Args&&... args) - { return this->base_t::emplace_hint_equal(hint, boost::forward(args)...); } - - #else //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING - - #define BOOST_PP_LOCAL_MACRO(n) \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { return this->base_t::emplace_equal(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); } \ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace_hint(const_iterator hint \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { return this->base_t::emplace_hint_equal(hint \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _));} \ - //! - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() - - #endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING - - //! Effects: Inserts x and returns the iterator pointing to the - //! newly inserted element. - //! - //! Complexity: Logarithmic. - iterator insert(const value_type& x) - { return this->base_t::insert_equal(x); } - - //! Effects: Inserts a new value constructed from x and returns - //! the iterator pointing to the newly inserted element. - //! - //! Complexity: Logarithmic. - iterator insert(const nonconst_value_type& x) - { return this->base_t::insert_equal(x); } - - //! Effects: Inserts a new value move-constructed from x and returns - //! the iterator pointing to the newly inserted element. - //! - //! Complexity: Logarithmic. - iterator insert(BOOST_RV_REF(nonconst_value_type) x) - { return this->base_t::insert_equal(boost::move(x)); } - - //! Effects: Inserts a new value move-constructed from x and returns - //! the iterator pointing to the newly inserted element. - //! - //! Complexity: Logarithmic. - iterator insert(BOOST_RV_REF(movable_value_type) x) - { return this->base_t::insert_equal(boost::move(x)); } - - //! Effects: Inserts a copy of x in the container. - //! p is a hint pointing to where the insert should start to search. - //! - //! Returns: An iterator pointing to the element with key equivalent - //! to the key of x. - //! - //! Complexity: Logarithmic in general, but amortized constant if t - //! is inserted right before p. - iterator insert(const_iterator position, const value_type& x) - { return this->base_t::insert_equal(position, x); } - - //! Effects: Inserts a new value constructed from x in the container. - //! p is a hint pointing to where the insert should start to search. - //! - //! Returns: An iterator pointing to the element with key equivalent - //! to the key of x. - //! - //! Complexity: Logarithmic in general, but amortized constant if t - //! is inserted right before p. - iterator insert(const_iterator position, const nonconst_value_type& x) - { return this->base_t::insert_equal(position, x); } - - //! Effects: Inserts a new value move constructed from x in the container. - //! p is a hint pointing to where the insert should start to search. - //! - //! Returns: An iterator pointing to the element with key equivalent - //! to the key of x. - //! - //! Complexity: Logarithmic in general, but amortized constant if t - //! is inserted right before p. - iterator insert(const_iterator position, BOOST_RV_REF(nonconst_value_type) x) - { return this->base_t::insert_equal(position, boost::move(x)); } - - //! Effects: Inserts a new value move constructed from x in the container. - //! p is a hint pointing to where the insert should start to search. - //! - //! Returns: An iterator pointing to the element with key equivalent - //! to the key of x. - //! - //! Complexity: Logarithmic in general, but amortized constant if t - //! is inserted right before p. - iterator insert(const_iterator position, BOOST_RV_REF(movable_value_type) x) - { return this->base_t::insert_equal(position, boost::move(x)); } - - //! Requires: first, last are not iterators into *this. - //! - //! Effects: inserts each element from the range [first,last) . - //! - //! Complexity: At most N log(size()+N) (N is the distance from first to last) - template - void insert(InputIterator first, InputIterator last) - { this->base_t::insert_equal(first, last); } - - #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); - - //! @copydoc ::boost::container::set::swap - void swap(flat_multiset& x); - - //! @copydoc ::boost::container::set::clear - void clear() BOOST_CONTAINER_NOEXCEPT; - - //! @copydoc ::boost::container::set::key_comp - key_compare key_comp() const; - - //! @copydoc ::boost::container::set::value_comp - value_compare value_comp() const; - - //! Returns: An iterator pointing to an element with the key - //! equivalent to x, or end() if such an element is not found. - //! - //! Complexity: Logarithmic. - iterator find(const key_type& x); - - //! Returns: Allocator const iterator pointing to an element with the key - //! equivalent to x, or end() if such an element is not found. - //! - //! Complexity: Logarithmic. - const_iterator find(const key_type& x) const; - - //! Returns: The number of elements with key equivalent to x. - //! - //! Complexity: log(size())+count(k) - size_type count(const key_type& x) const; - - //! Returns: An iterator pointing to the first element with key not less - //! than k, or a.end() if such an element is not found. - //! - //! Complexity: Logarithmic - iterator lower_bound(const key_type& x); - - //! Returns: Allocator const iterator pointing to the first element with key not - //! less than k, or a.end() if such an element is not found. - //! - //! Complexity: Logarithmic - const_iterator lower_bound(const key_type& x) const; - - //! Returns: An iterator pointing to the first element with key not less - //! than x, or end() if such an element is not found. - //! - //! Complexity: Logarithmic - iterator upper_bound(const key_type& x); - - //! Returns: Allocator const iterator pointing to the first element with key not - //! less than x, or end() if such an element is not found. - //! - //! Complexity: Logarithmic - const_iterator upper_bound(const key_type& x) const; - - //! Effects: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)). - //! - //! Complexity: Logarithmic - std::pair equal_range(const key_type& x); - - //! Effects: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)). - //! - //! Complexity: Logarithmic - std::pair equal_range(const key_type& x) const; - - //! Effects: Rebalances the tree. It's a no-op for Red-Black and AVL trees. - //! - //! Complexity: Linear - void rebalance(); - - //! Effects: Returns true if x and y are equal - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator==(const multimap& x, const multimap& y); - - //! Effects: Returns true if x and y are unequal - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator!=(const multimap& x, const multimap& y); - - //! Effects: Returns true if x is less than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator<(const multimap& x, const multimap& y); - - //! Effects: Returns true if x is greater than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator>(const multimap& x, const multimap& y); - - //! Effects: Returns true if x is equal or less than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator<=(const multimap& x, const multimap& y); - - //! Effects: Returns true if x is equal or greater than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator>=(const multimap& x, const multimap& y); - - //! Effects: x.swap(y) - //! - //! Complexity: Constant. - friend void swap(multimap& x, multimap& y); - - #endif //#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) -}; - -#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -} //namespace container { - -//!has_trivial_destructor_after_move<> == true_type -//!specialization for optimizations -template -struct has_trivial_destructor_after_move > -{ - static const bool value = has_trivial_destructor_after_move::value && has_trivial_destructor_after_move::value; -}; - -namespace container { - -#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -}} - -#include - -#endif /* BOOST_CONTAINER_MAP_HPP */ - diff --git a/bundled/boost-1.56.0/include/boost/container/options.hpp b/bundled/boost-1.56.0/include/boost/container/options.hpp deleted file mode 100644 index 11bf9deee8..0000000000 --- a/bundled/boost-1.56.0/include/boost/container/options.hpp +++ /dev/null @@ -1,72 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// -// (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/container for documentation. -// -///////////////////////////////////////////////////////////////////////////// - -#ifndef BOOST_CONTAINER_OPTIONS_HPP -#define BOOST_CONTAINER_OPTIONS_HPP - -#include -#include -#include - -namespace boost { -namespace container { - -#if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - -template -struct tree_opt -{ - static const boost::container::tree_type_enum tree_type = TreeType; - static const bool optimize_size = OptimizeSize; -}; - -#endif //!defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - -//!This option setter specifies the underlying tree type -//!(red-black, AVL, Scapegoat or Splay) for ordered associative containers -BOOST_INTRUSIVE_OPTION_CONSTANT(tree_type, tree_type_enum, TreeType, tree_type) - -//!This option setter specifies if node size is optimized -//!storing rebalancing data masked into pointers for ordered associative containers -BOOST_INTRUSIVE_OPTION_CONSTANT(optimize_size, bool, Enabled, optimize_size) - -//! Helper metafunction to combine options into a single type to be used -//! by \c boost::container::set, \c boost::container::multiset -//! \c boost::container::map and \c boost::container::multimap. -//! Supported options are: \c boost::container::optimize_size and \c boost::container::tree_type -#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) || defined(BOOST_CONTAINER_VARIADIC_TEMPLATES) -template -#else -template -#endif -struct tree_assoc_options -{ - /// @cond - typedef typename ::boost::intrusive::pack_options - < tree_assoc_defaults, - #if !defined(BOOST_CONTAINER_VARIADIC_TEMPLATES) - O1, O2, O3, O4 - #else - Options... - #endif - >::type packed_options; - typedef tree_opt implementation_defined; - /// @endcond - typedef implementation_defined type; -}; - -} //namespace container { -} //namespace boost { - -#include - -#endif //#ifndef BOOST_CONTAINER_OPTIONS_HPP diff --git a/bundled/boost-1.56.0/include/boost/container/scoped_allocator.hpp b/bundled/boost-1.56.0/include/boost/container/scoped_allocator.hpp deleted file mode 100644 index e594c0a239..0000000000 --- a/bundled/boost-1.56.0/include/boost/container/scoped_allocator.hpp +++ /dev/null @@ -1,1534 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Pablo Halpern 2009. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -////////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2011-2013. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/container for documentation. -// -////////////////////////////////////////////////////////////////////////////// - -#ifndef BOOST_CONTAINER_ALLOCATOR_SCOPED_ALLOCATOR_HPP -#define BOOST_CONTAINER_ALLOCATOR_SCOPED_ALLOCATOR_HPP - -#if defined (_MSC_VER) -# pragma once -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace container { - -//! Remark: if a specialization is derived from true_type, indicates that T may be constructed -//! with an allocator as its last constructor argument. Ideally, all constructors of T (including the -//! copy and move constructors) should have a variant that accepts a final argument of -//! allocator_type. -//! -//! Requires: if a specialization is derived from true_type, T must have a nested type, -//! allocator_type and at least one constructor for which allocator_type is the last -//! parameter. If not all constructors of T can be called with a final allocator_type argument, -//! and if T is used in a context where a container must call such a constructor, then the program is -//! ill-formed. -//! -//! -//! template > -//! class Z { -//! public: -//! typedef Allocator allocator_type; -//! -//! // Default constructor with optional allocator suffix -//! Z(const allocator_type& a = allocator_type()); -//! -//! // Copy constructor and allocator-extended copy constructor -//! Z(const Z& zz); -//! Z(const Z& zz, const allocator_type& a); -//! }; -//! -//! // Specialize trait for class template Z -//! template > -//! struct constructible_with_allocator_suffix > -//! : ::boost::true_type { }; -//! -//! -//! Note: This trait is a workaround inspired by "N2554: The Scoped Allocator Model (Rev 2)" -//! (Pablo Halpern, 2008-02-29) to backport the scoped allocator model to C++03, as -//! in C++03 there is no mechanism to detect if a type can be constructed from arbitrary arguments. -//! Applications aiming portability with several compilers should always define this trait. -//! -//! In conforming C++11 compilers or compilers supporting SFINAE expressions -//! (when BOOST_NO_SFINAE_EXPR is NOT defined), this trait is ignored and C++11 rules will be used -//! to detect if a type should be constructed with suffix or prefix allocator arguments. -template -struct constructible_with_allocator_suffix - : ::boost::false_type -{}; - -//! Remark: if a specialization is derived from true_type, indicates that T may be constructed -//! with allocator_arg and T::allocator_type as its first two constructor arguments. -//! Ideally, all constructors of T (including the copy and move constructors) should have a variant -//! that accepts these two initial arguments. -//! -//! Requires: if a specialization is derived from true_type, T must have a nested type, -//! allocator_type and at least one constructor for which allocator_arg_t is the first -//! parameter and allocator_type is the second parameter. If not all constructors of T can be -//! called with these initial arguments, and if T is used in a context where a container must call such -//! a constructor, then the program is ill-formed. -//! -//! -//! template > -//! class Y { -//! public: -//! typedef Allocator allocator_type; -//! -//! // Default constructor with and allocator-extended default constructor -//! Y(); -//! Y(allocator_arg_t, const allocator_type& a); -//! -//! // Copy constructor and allocator-extended copy constructor -//! Y(const Y& yy); -//! Y(allocator_arg_t, const allocator_type& a, const Y& yy); -//! -//! // Variadic constructor and allocator-extended variadic constructor -//! template Y(Args&& args...); -//! template -//! Y(allocator_arg_t, const allocator_type& a, Args&&... args); -//! }; -//! -//! // Specialize trait for class template Y -//! template > -//! struct constructible_with_allocator_prefix > -//! : ::boost::true_type { }; -//! -//! -//! -//! Note: This trait is a workaround inspired by "N2554: The Scoped Allocator Model (Rev 2)" -//! (Pablo Halpern, 2008-02-29) to backport the scoped allocator model to C++03, as -//! in C++03 there is no mechanism to detect if a type can be constructed from arbitrary arguments. -//! Applications aiming portability with several compilers should always define this trait. -//! -//! In conforming C++11 compilers or compilers supporting SFINAE expressions -//! (when BOOST_NO_SFINAE_EXPR is NOT defined), this trait is ignored and C++11 rules will be used -//! to detect if a type should be constructed with suffix or prefix allocator arguments. -template -struct constructible_with_allocator_prefix - : ::boost::false_type -{}; - -#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -namespace container_detail { - -template -struct uses_allocator_imp -{ - // Use SFINAE (Substitution Failure Is Not An Error) to detect the - // presence of an 'allocator_type' nested type convertilble from Alloc. - - private: - // Match this function if TypeT::allocator_type exists and is - // implicitly convertible from Alloc - template - static char test(int, typename U::allocator_type); - - // Match this function if TypeT::allocator_type does not exist or is - // not convertible from Alloc. - template - static int test(LowPriorityConversion, LowPriorityConversion); - - static Alloc alloc; // Declared but not defined - - public: - enum { value = sizeof(test(0, alloc)) == sizeof(char) }; -}; - -} //namespace container_detail { - -#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -//! Remark: Automatically detects if T has a nested allocator_type that is convertible from -//! Alloc. Meets the BinaryTypeTrait requirements ([meta.rqmts] 20.4.1). A program may -//! specialize this type to derive from true_type for a T of user-defined type if T does not -//! have a nested allocator_type but is nonetheless constructible using the specified Alloc. -//! -//! Result: derived from true_type if Convertible and -//! derived from false_type otherwise. -template -struct uses_allocator - : boost::integral_constant::value> -{}; - -#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -namespace container_detail { - -template -struct is_scoped_allocator_imp -{ - template - static char test(int, typename T::outer_allocator_type*); - - template - static int test(LowPriorityConversion, void*); - - static const bool value = (sizeof(char) == sizeof(test(0, 0))); -}; - -template::value > -struct outermost_allocator_type_impl -{ - typedef typename MaybeScopedAlloc::outer_allocator_type outer_type; - typedef typename outermost_allocator_type_impl::type type; -}; - -template -struct outermost_allocator_type_impl -{ - typedef MaybeScopedAlloc type; -}; - -template::value > -struct outermost_allocator_imp -{ - typedef MaybeScopedAlloc type; - - static type &get(MaybeScopedAlloc &a) - { return a; } - - static const type &get(const MaybeScopedAlloc &a) - { return a; } -}; - -template -struct outermost_allocator_imp -{ - typedef typename MaybeScopedAlloc::outer_allocator_type outer_type; - typedef typename outermost_allocator_type_impl::type type; - - static type &get(MaybeScopedAlloc &a) - { return outermost_allocator_imp::get(a.outer_allocator()); } - - static const type &get(const MaybeScopedAlloc &a) - { return outermost_allocator_imp::get(a.outer_allocator()); } -}; - -} //namespace container_detail { - -template -struct is_scoped_allocator - : boost::integral_constant::value> -{}; - -template -struct outermost_allocator - : container_detail::outermost_allocator_imp -{}; - -template -typename container_detail::outermost_allocator_imp::type & - get_outermost_allocator(Alloc &a) -{ return container_detail::outermost_allocator_imp::get(a); } - -template -const typename container_detail::outermost_allocator_imp::type & - get_outermost_allocator(const Alloc &a) -{ return container_detail::outermost_allocator_imp::get(a); } - -namespace container_detail { - -// Check if we can detect is_convertible using advanced SFINAE expressions -#if !defined(BOOST_NO_SFINAE_EXPR) - - //! Code inspired by Mathias Gaunard's is_convertible.cpp found in the Boost mailing list - //! http://boost.2283326.n4.nabble.com/type-traits-is-constructible-when-decltype-is-supported-td3575452.html - //! Thanks Mathias! - - //With variadic templates, we need a single class to implement the trait - #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - - template - struct is_constructible_impl - { - typedef char yes_type; - struct no_type - { char padding[2]; }; - - template - struct dummy; - - template - static yes_type test(dummy()...))>*); - - template - static no_type test(...); - - static const bool value = sizeof(test(0)) == sizeof(yes_type); - }; - - template - struct is_constructible - : boost::integral_constant::value> - {}; - - template - struct is_constructible_with_allocator_prefix - : is_constructible - {}; - - #else // #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - - //Without variadic templates, we need to use de preprocessor to generate - //some specializations. - - #define BOOST_CONTAINER_MAX_IS_CONSTRUCTIBLE_PARAMETERS \ - BOOST_PP_ADD(BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS, 3) - //! - - //Generate N+1 template parameters so that we can specialize N - template - struct is_constructible_impl; - - //Generate N specializations, from 0 to - //BOOST_CONTAINER_MAX_IS_CONSTRUCTIBLE_PARAMETERS parameters - #define BOOST_PP_LOCAL_MACRO(n) \ - template \ - struct is_constructible_impl \ - \ - { \ - typedef char yes_type; \ - struct no_type \ - { char padding[2]; }; \ - \ - template \ - struct dummy; \ - \ - template \ - static yes_type test(dummy*); \ - \ - template \ - static no_type test(...); \ - \ - static const bool value = sizeof(test(0)) == sizeof(yes_type); \ - }; \ - //! - - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_IS_CONSTRUCTIBLE_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() - - //Finally just inherit from the implementation to define he trait - template< class T - BOOST_PP_ENUM_TRAILING( BOOST_CONTAINER_MAX_IS_CONSTRUCTIBLE_PARAMETERS - , BOOST_CONTAINER_PP_TEMPLATE_PARAM_WITH_DEFAULT - , void) - > - struct is_constructible - : boost::integral_constant - < bool - , is_constructible_impl - < T - BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_CONTAINER_MAX_IS_CONSTRUCTIBLE_PARAMETERS, P) - , void>::value - > - {}; - - //Finally just inherit from the implementation to define he trait - template - struct is_constructible_with_allocator_prefix - : is_constructible - < T, allocator_arg_t, InnerAlloc - BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_SUB(BOOST_CONTAINER_MAX_IS_CONSTRUCTIBLE_PARAMETERS, 2), P) - > - {}; -/* - template - struct is_constructible_with_allocator_suffix - : is_constructible - < T - BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_SUB(BOOST_CONTAINER_MAX_IS_CONSTRUCTIBLE_PARAMETERS, 1), P) - , InnerAlloc - > - {};*/ - - #endif // #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - -#else // #if !defined(BOOST_NO_SFINAE_EXPR) - - //Without advanced SFINAE expressions, we can't use is_constructible - //so backup to constructible_with_allocator_xxx - - #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - - template < class T, class InnerAlloc, class ...Args> - struct is_constructible_with_allocator_prefix - : constructible_with_allocator_prefix - {}; -/* - template < class T, class InnerAlloc, class ...Args> - struct is_constructible_with_allocator_suffix - : constructible_with_allocator_suffix - {};*/ - - #else // #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - - template < class T - , class InnerAlloc - BOOST_PP_ENUM_TRAILING( BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS - , BOOST_CONTAINER_PP_TEMPLATE_PARAM_WITH_DEFAULT - , void) - > - struct is_constructible_with_allocator_prefix - : constructible_with_allocator_prefix - {}; -/* - template < class T - , class InnerAlloc - BOOST_PP_ENUM_TRAILING( BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS - , BOOST_CONTAINER_PP_TEMPLATE_PARAM_WITH_DEFAULT - , void) - > - struct is_constructible_with_allocator_suffix - : constructible_with_allocator_suffix - {};*/ - - #endif // #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - -#endif // #if !defined(BOOST_NO_SFINAE_EXPR) - -#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - -template < typename OutermostAlloc - , typename InnerAlloc - , typename T - , class ...Args - > -inline void dispatch_allocator_prefix_suffix - ( boost::true_type use_alloc_prefix, OutermostAlloc& outermost_alloc - , InnerAlloc& inner_alloc, T* p, BOOST_FWD_REF(Args) ...args) -{ - (void)use_alloc_prefix; - allocator_traits::construct - ( outermost_alloc, p, allocator_arg, inner_alloc, ::boost::forward(args)...); -} - -template < typename OutermostAlloc - , typename InnerAlloc - , typename T - , class ...Args - > -inline void dispatch_allocator_prefix_suffix - ( boost::false_type use_alloc_prefix, OutermostAlloc& outermost_alloc - , InnerAlloc &inner_alloc, T* p, BOOST_FWD_REF(Args)...args) -{ - (void)use_alloc_prefix; - allocator_traits::construct - (outermost_alloc, p, ::boost::forward(args)..., inner_alloc); -} - -template < typename OutermostAlloc - , typename InnerAlloc - , typename T - , class ...Args - > -inline void dispatch_uses_allocator - ( boost::true_type uses_allocator, OutermostAlloc& outermost_alloc - , InnerAlloc& inner_alloc, T* p, BOOST_FWD_REF(Args)...args) -{ - (void)uses_allocator; - //BOOST_STATIC_ASSERT((is_constructible_with_allocator_prefix::value || - // is_constructible_with_allocator_suffix::value )); - dispatch_allocator_prefix_suffix - ( is_constructible_with_allocator_prefix() - , outermost_alloc, inner_alloc, p, ::boost::forward(args)...); -} - -template < typename OutermostAlloc - , typename InnerAlloc - , typename T - , class ...Args - > -inline void dispatch_uses_allocator - ( boost::false_type uses_allocator, OutermostAlloc & outermost_alloc - , InnerAlloc & inner_alloc - ,T* p, BOOST_FWD_REF(Args)...args) -{ - (void)uses_allocator; (void)inner_alloc; - allocator_traits::construct - (outermost_alloc, p, ::boost::forward(args)...); -} - -#else //#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - -#define BOOST_PP_LOCAL_MACRO(n) \ -template < typename OutermostAlloc \ - , typename InnerAlloc \ - , typename T \ - BOOST_PP_ENUM_TRAILING_PARAMS(n, class P) \ - > \ -inline void dispatch_allocator_prefix_suffix( \ - boost::true_type use_alloc_prefix, \ - OutermostAlloc& outermost_alloc, \ - InnerAlloc& inner_alloc, \ - T* p \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ -{ \ - (void)use_alloc_prefix, \ - allocator_traits::construct \ - (outermost_alloc, p, allocator_arg, inner_alloc \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); \ -} \ - \ -template < typename OutermostAlloc \ - , typename InnerAlloc \ - , typename T \ - BOOST_PP_ENUM_TRAILING_PARAMS(n, class P) \ - > \ -inline void dispatch_allocator_prefix_suffix( \ - boost::false_type use_alloc_prefix, \ - OutermostAlloc& outermost_alloc, \ - InnerAlloc& inner_alloc, \ - T* p BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ -{ \ - (void)use_alloc_prefix; \ - allocator_traits::construct \ - (outermost_alloc, p \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _) \ - , inner_alloc); \ -} \ - \ -template < typename OutermostAlloc \ - , typename InnerAlloc \ - , typename T \ - BOOST_PP_ENUM_TRAILING_PARAMS(n, class P) \ - > \ -inline void dispatch_uses_allocator(boost::true_type uses_allocator, \ - OutermostAlloc& outermost_alloc, \ - InnerAlloc& inner_alloc, \ - T* p BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ -{ \ - (void)uses_allocator; \ - dispatch_allocator_prefix_suffix \ - (is_constructible_with_allocator_prefix \ - < T, InnerAlloc BOOST_PP_ENUM_TRAILING_PARAMS(n, P)>() \ - , outermost_alloc, inner_alloc, p \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); \ -} \ - \ -template < typename OutermostAlloc \ - , typename InnerAlloc \ - , typename T \ - BOOST_PP_ENUM_TRAILING_PARAMS(n, class P) \ - > \ -inline void dispatch_uses_allocator(boost::false_type uses_allocator \ - ,OutermostAlloc & outermost_alloc \ - ,InnerAlloc & inner_alloc \ - ,T* p BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ -{ \ - (void)uses_allocator; (void)inner_alloc; \ - allocator_traits::construct \ - (outermost_alloc, p BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); \ -} \ -//! -#define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) -#include BOOST_PP_LOCAL_ITERATE() - -#endif //#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - -#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - -template -class scoped_allocator_adaptor_base - : public OuterAlloc -{ - typedef allocator_traits outer_traits_type; - BOOST_COPYABLE_AND_MOVABLE(scoped_allocator_adaptor_base) - - public: - template - struct rebind_base - { - typedef scoped_allocator_adaptor_base other; - }; - - typedef OuterAlloc outer_allocator_type; - typedef scoped_allocator_adaptor inner_allocator_type; - typedef allocator_traits inner_traits_type; - typedef scoped_allocator_adaptor - scoped_allocator_type; - typedef boost::integral_constant< - bool, - outer_traits_type::propagate_on_container_copy_assignment::value || - inner_allocator_type::propagate_on_container_copy_assignment::value - > propagate_on_container_copy_assignment; - typedef boost::integral_constant< - bool, - outer_traits_type::propagate_on_container_move_assignment::value || - inner_allocator_type::propagate_on_container_move_assignment::value - > propagate_on_container_move_assignment; - typedef boost::integral_constant< - bool, - outer_traits_type::propagate_on_container_swap::value || - inner_allocator_type::propagate_on_container_swap::value - > propagate_on_container_swap; - - scoped_allocator_adaptor_base() - {} - - template - scoped_allocator_adaptor_base(BOOST_FWD_REF(OuterA2) outerAlloc, const InnerAllocs &...args) - : outer_allocator_type(::boost::forward(outerAlloc)) - , m_inner(args...) - {} - - scoped_allocator_adaptor_base(const scoped_allocator_adaptor_base& other) - : outer_allocator_type(other.outer_allocator()) - , m_inner(other.inner_allocator()) - {} - - scoped_allocator_adaptor_base(BOOST_RV_REF(scoped_allocator_adaptor_base) other) - : outer_allocator_type(::boost::move(other.outer_allocator())) - , m_inner(::boost::move(other.inner_allocator())) - {} - - template - scoped_allocator_adaptor_base - (const scoped_allocator_adaptor_base& other) - : outer_allocator_type(other.outer_allocator()) - , m_inner(other.inner_allocator()) - {} - - template - scoped_allocator_adaptor_base - (BOOST_RV_REF_BEG scoped_allocator_adaptor_base - BOOST_RV_REF_END other) - : outer_allocator_type(other.outer_allocator()) - , m_inner(other.inner_allocator()) - {} - - public: - struct internal_type_t{}; - - template - scoped_allocator_adaptor_base - ( internal_type_t - , BOOST_FWD_REF(OuterA2) outerAlloc - , const inner_allocator_type &inner) - : outer_allocator_type(::boost::forward(outerAlloc)) - , m_inner(inner) - {} - - public: - - scoped_allocator_adaptor_base &operator= - (BOOST_COPY_ASSIGN_REF(scoped_allocator_adaptor_base) other) - { - outer_allocator_type::operator=(other.outer_allocator()); - m_inner = other.inner_allocator(); - return *this; - } - - scoped_allocator_adaptor_base &operator=(BOOST_RV_REF(scoped_allocator_adaptor_base) other) - { - outer_allocator_type::operator=(boost::move(other.outer_allocator())); - m_inner = ::boost::move(other.inner_allocator()); - return *this; - } - - void swap(scoped_allocator_adaptor_base &r) - { - boost::container::swap_dispatch(this->outer_allocator(), r.outer_allocator()); - boost::container::swap_dispatch(this->m_inner, r.inner_allocator()); - } - - friend void swap(scoped_allocator_adaptor_base &l, scoped_allocator_adaptor_base &r) - { l.swap(r); } - - inner_allocator_type& inner_allocator() BOOST_CONTAINER_NOEXCEPT - { return m_inner; } - - inner_allocator_type const& inner_allocator() const BOOST_CONTAINER_NOEXCEPT - { return m_inner; } - - outer_allocator_type & outer_allocator() BOOST_CONTAINER_NOEXCEPT - { return static_cast(*this); } - - const outer_allocator_type &outer_allocator() const BOOST_CONTAINER_NOEXCEPT - { return static_cast(*this); } - - scoped_allocator_type select_on_container_copy_construction() const - { - return scoped_allocator_type - (internal_type_t() - ,outer_traits_type::select_on_container_copy_construction(this->outer_allocator()) - ,inner_traits_type::select_on_container_copy_construction(this->inner_allocator()) - ); - } - - private: - inner_allocator_type m_inner; -}; - -#else //#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - -//Let's add a dummy first template parameter to allow creating -//specializations up to maximum InnerAlloc count -template < - typename OuterAlloc - , bool Dummy - BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS, class Q) - > -class scoped_allocator_adaptor_base; - -//Specializations for the adaptor with InnerAlloc allocators - -#define BOOST_PP_LOCAL_MACRO(n) \ -template \ -class scoped_allocator_adaptor_base \ - : public OuterAlloc \ -{ \ - typedef allocator_traits outer_traits_type; \ - BOOST_COPYABLE_AND_MOVABLE(scoped_allocator_adaptor_base) \ - \ - public: \ - template \ - struct rebind_base \ - { \ - typedef scoped_allocator_adaptor_base other; \ - }; \ - \ - typedef OuterAlloc outer_allocator_type; \ - typedef scoped_allocator_adaptor inner_allocator_type; \ - typedef scoped_allocator_adaptor scoped_allocator_type; \ - typedef allocator_traits inner_traits_type; \ - typedef boost::integral_constant< \ - bool, \ - outer_traits_type::propagate_on_container_copy_assignment::value || \ - inner_allocator_type::propagate_on_container_copy_assignment::value \ - > propagate_on_container_copy_assignment; \ - typedef boost::integral_constant< \ - bool, \ - outer_traits_type::propagate_on_container_move_assignment::value || \ - inner_allocator_type::propagate_on_container_move_assignment::value \ - > propagate_on_container_move_assignment; \ - typedef boost::integral_constant< \ - bool, \ - outer_traits_type::propagate_on_container_swap::value || \ - inner_allocator_type::propagate_on_container_swap::value \ - > propagate_on_container_swap; \ - \ - scoped_allocator_adaptor_base() \ - {} \ - \ - template \ - scoped_allocator_adaptor_base(BOOST_FWD_REF(OuterA2) outerAlloc \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_CONST_REF_PARAM_LIST_Q, _)) \ - : outer_allocator_type(::boost::forward(outerAlloc)) \ - , m_inner(BOOST_PP_ENUM_PARAMS(n, q)) \ - {} \ - \ - scoped_allocator_adaptor_base(const scoped_allocator_adaptor_base& other) \ - : outer_allocator_type(other.outer_allocator()) \ - , m_inner(other.inner_allocator()) \ - {} \ - \ - scoped_allocator_adaptor_base(BOOST_RV_REF(scoped_allocator_adaptor_base) other) \ - : outer_allocator_type(::boost::move(other.outer_allocator())) \ - , m_inner(::boost::move(other.inner_allocator())) \ - {} \ - \ - template \ - scoped_allocator_adaptor_base(const scoped_allocator_adaptor_base& other) \ - : outer_allocator_type(other.outer_allocator()) \ - , m_inner(other.inner_allocator()) \ - {} \ - \ - template \ - scoped_allocator_adaptor_base \ - (BOOST_RV_REF_BEG scoped_allocator_adaptor_base BOOST_RV_REF_END other) \ - : outer_allocator_type(other.outer_allocator()) \ - , m_inner(other.inner_allocator()) \ - {} \ - \ - public: \ - struct internal_type_t{}; \ - \ - template \ - scoped_allocator_adaptor_base \ - ( internal_type_t \ - , BOOST_FWD_REF(OuterA2) outerAlloc \ - , const inner_allocator_type &inner) \ - : outer_allocator_type(::boost::forward(outerAlloc)) \ - , m_inner(inner) \ - {} \ - \ - public: \ - scoped_allocator_adaptor_base &operator= \ - (BOOST_COPY_ASSIGN_REF(scoped_allocator_adaptor_base) other) \ - { \ - outer_allocator_type::operator=(other.outer_allocator()); \ - m_inner = other.inner_allocator(); \ - return *this; \ - } \ - \ - scoped_allocator_adaptor_base &operator=(BOOST_RV_REF(scoped_allocator_adaptor_base) other) \ - { \ - outer_allocator_type::operator=(boost::move(other.outer_allocator())); \ - m_inner = ::boost::move(other.inner_allocator()); \ - return *this; \ - } \ - \ - void swap(scoped_allocator_adaptor_base &r) \ - { \ - boost::container::swap_dispatch(this->outer_allocator(), r.outer_allocator()); \ - boost::container::swap_dispatch(this->m_inner, r.inner_allocator()); \ - } \ - \ - friend void swap(scoped_allocator_adaptor_base &l, scoped_allocator_adaptor_base &r) \ - { l.swap(r); } \ - \ - inner_allocator_type& inner_allocator() \ - { return m_inner; } \ - \ - inner_allocator_type const& inner_allocator() const \ - { return m_inner; } \ - \ - outer_allocator_type & outer_allocator() \ - { return static_cast(*this); } \ - \ - const outer_allocator_type &outer_allocator() const \ - { return static_cast(*this); } \ - \ - scoped_allocator_type select_on_container_copy_construction() const \ - { \ - return scoped_allocator_type \ - (internal_type_t() \ - ,outer_traits_type::select_on_container_copy_construction(this->outer_allocator()) \ - ,inner_traits_type::select_on_container_copy_construction(this->inner_allocator()) \ - ); \ - } \ - private: \ - inner_allocator_type m_inner; \ -}; \ -//! -#define BOOST_PP_LOCAL_LIMITS (1, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) -#include BOOST_PP_LOCAL_ITERATE() - -#endif //#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - -//Specialization for adaptor without any InnerAlloc -template -class scoped_allocator_adaptor_base - < OuterAlloc - #if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - , true - BOOST_PP_ENUM_TRAILING(BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS, BOOST_CONTAINER_PP_IDENTITY, nat) - #endif - > - : public OuterAlloc -{ - BOOST_COPYABLE_AND_MOVABLE(scoped_allocator_adaptor_base) - public: - - template - struct rebind_base - { - typedef scoped_allocator_adaptor_base - ::template portable_rebind_alloc::type - #if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - , true - BOOST_PP_ENUM_TRAILING(BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS, BOOST_CONTAINER_PP_IDENTITY, container_detail::nat) - #endif - > other; - }; - - typedef OuterAlloc outer_allocator_type; - typedef allocator_traits outer_traits_type; - typedef scoped_allocator_adaptor inner_allocator_type; - typedef inner_allocator_type scoped_allocator_type; - typedef allocator_traits inner_traits_type; - typedef typename outer_traits_type:: - propagate_on_container_copy_assignment propagate_on_container_copy_assignment; - typedef typename outer_traits_type:: - propagate_on_container_move_assignment propagate_on_container_move_assignment; - typedef typename outer_traits_type:: - propagate_on_container_swap propagate_on_container_swap; - - scoped_allocator_adaptor_base() - {} - - template - scoped_allocator_adaptor_base(BOOST_FWD_REF(OuterA2) outerAlloc) - : outer_allocator_type(::boost::forward(outerAlloc)) - {} - - scoped_allocator_adaptor_base(const scoped_allocator_adaptor_base& other) - : outer_allocator_type(other.outer_allocator()) - {} - - scoped_allocator_adaptor_base(BOOST_RV_REF(scoped_allocator_adaptor_base) other) - : outer_allocator_type(::boost::move(other.outer_allocator())) - {} - - template - scoped_allocator_adaptor_base - (const scoped_allocator_adaptor_base< - OuterA2 - #if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - , true - BOOST_PP_ENUM_TRAILING(BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS, BOOST_CONTAINER_PP_IDENTITY, container_detail::nat) - #endif - >& other) - : outer_allocator_type(other.outer_allocator()) - {} - - template - scoped_allocator_adaptor_base - (BOOST_RV_REF_BEG scoped_allocator_adaptor_base< - OuterA2 - #if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - , true - BOOST_PP_ENUM_TRAILING(BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS, BOOST_CONTAINER_PP_IDENTITY, container_detail::nat) - #endif - > BOOST_RV_REF_END other) - : outer_allocator_type(other.outer_allocator()) - {} - - public: - struct internal_type_t{}; - - template - scoped_allocator_adaptor_base(internal_type_t, BOOST_FWD_REF(OuterA2) outerAlloc, const inner_allocator_type &) - : outer_allocator_type(::boost::forward(outerAlloc)) - {} - - public: - scoped_allocator_adaptor_base &operator=(BOOST_COPY_ASSIGN_REF(scoped_allocator_adaptor_base) other) - { - outer_allocator_type::operator=(other.outer_allocator()); - return *this; - } - - scoped_allocator_adaptor_base &operator=(BOOST_RV_REF(scoped_allocator_adaptor_base) other) - { - outer_allocator_type::operator=(boost::move(other.outer_allocator())); - return *this; - } - - void swap(scoped_allocator_adaptor_base &r) - { - boost::container::swap_dispatch(this->outer_allocator(), r.outer_allocator()); - } - - friend void swap(scoped_allocator_adaptor_base &l, scoped_allocator_adaptor_base &r) - { l.swap(r); } - - inner_allocator_type& inner_allocator() - { return static_cast(*this); } - - inner_allocator_type const& inner_allocator() const - { return static_cast(*this); } - - outer_allocator_type & outer_allocator() - { return static_cast(*this); } - - const outer_allocator_type &outer_allocator() const - { return static_cast(*this); } - - scoped_allocator_type select_on_container_copy_construction() const - { - return scoped_allocator_type - (internal_type_t() - ,outer_traits_type::select_on_container_copy_construction(this->outer_allocator()) - //Don't use inner_traits_type::select_on_container_copy_construction(this->inner_allocator()) - //as inner_allocator() is equal to *this and that would trigger an infinite loop - , this->inner_allocator() - ); - } -}; - -} //namespace container_detail { - -#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -//Scoped allocator -#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - #if !defined(BOOST_CONTAINER_UNIMPLEMENTED_PACK_EXPANSION_TO_FIXED_LIST) - - //! This class is a C++03-compatible implementation of std::scoped_allocator_adaptor. - //! The class template scoped_allocator_adaptor is an allocator template that specifies - //! the memory resource (the outer allocator) to be used by a container (as any other - //! allocator does) and also specifies an inner allocator resource to be passed to - //! the constructor of every element within the container. - //! - //! This adaptor is - //! instantiated with one outer and zero or more inner allocator types. If - //! instantiated with only one allocator type, the inner allocator becomes the - //! scoped_allocator_adaptor itself, thus using the same allocator resource for the - //! container and every element within the container and, if the elements themselves - //! are containers, each of their elements recursively. If instantiated with more than - //! one allocator, the first allocator is the outer allocator for use by the container, - //! the second allocator is passed to the constructors of the container's elements, - //! and, if the elements themselves are containers, the third allocator is passed to - //! the elements' elements, and so on. If containers are nested to a depth greater - //! than the number of allocators, the last allocator is used repeatedly, as in the - //! single-allocator case, for any remaining recursions. - //! - //! [Note: The - //! scoped_allocator_adaptor is derived from the outer allocator type so it can be - //! substituted for the outer allocator type in most expressions. -end note] - //! - //! In the construct member functions, OUTERMOST(x) is x if x does not have - //! an outer_allocator() member function and - //! OUTERMOST(x.outer_allocator()) otherwise; OUTERMOST_ALLOC_TRAITS(x) is - //! allocator_traits. - //! - //! [Note: OUTERMOST(x) and - //! OUTERMOST_ALLOC_TRAITS(x) are recursive operations. It is incumbent upon - //! the definition of outer_allocator() to ensure that the recursion terminates. - //! It will terminate for all instantiations of scoped_allocator_adaptor. -end note] - template - class scoped_allocator_adaptor - - #else // #if !defined(BOOST_CONTAINER_UNIMPLEMENTED_PACK_EXPANSION_TO_FIXED_LIST) - - template - class scoped_allocator_adaptor - - #endif // #if !defined(BOOST_CONTAINER_UNIMPLEMENTED_PACK_EXPANSION_TO_FIXED_LIST) - -#else // #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - -template -class scoped_allocator_adaptor -#endif - : public container_detail::scoped_allocator_adaptor_base - -{ - BOOST_COPYABLE_AND_MOVABLE(scoped_allocator_adaptor) - - public: - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - typedef container_detail::scoped_allocator_adaptor_base - base_type; - typedef typename base_type::internal_type_t internal_type_t; - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - typedef OuterAlloc outer_allocator_type; - //! Type: For exposition only - //! - typedef allocator_traits outer_traits_type; - //! Type: scoped_allocator_adaptor if sizeof...(InnerAllocs) is zero; otherwise, - //! scoped_allocator_adaptor. - typedef typename base_type::inner_allocator_type inner_allocator_type; - typedef allocator_traits inner_traits_type; - typedef typename outer_traits_type::value_type value_type; - typedef typename outer_traits_type::size_type size_type; - typedef typename outer_traits_type::difference_type difference_type; - typedef typename outer_traits_type::pointer pointer; - typedef typename outer_traits_type::const_pointer const_pointer; - typedef typename outer_traits_type::void_pointer void_pointer; - typedef typename outer_traits_type::const_void_pointer const_void_pointer; - //! Type: true_type if allocator_traits::propagate_on_container_copy_assignment::value is - //! true for any Allocator in the set of OuterAlloc and InnerAllocs...; otherwise, false_type. - typedef typename base_type:: - propagate_on_container_copy_assignment propagate_on_container_copy_assignment; - //! Type: true_type if allocator_traits::propagate_on_container_move_assignment::value is - //! true for any Allocator in the set of OuterAlloc and InnerAllocs...; otherwise, false_type. - typedef typename base_type:: - propagate_on_container_move_assignment propagate_on_container_move_assignment; - //! Type: true_type if allocator_traits::propagate_on_container_swap::value is true for any - //! Allocator in the set of OuterAlloc and InnerAllocs...; otherwise, false_type. - typedef typename base_type:: - propagate_on_container_swap propagate_on_container_swap; - - //! Type: Rebinds scoped allocator to - //! typedef scoped_allocator_adaptor - //! < typename outer_traits_type::template portable_rebind_alloc::type - //! , InnerAllocs... > - template - struct rebind - { - typedef scoped_allocator_adaptor - < typename outer_traits_type::template portable_rebind_alloc::type - #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , InnerAllocs... - #else - BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS, Q) - #endif - > other; - }; - - //! Effects: value-initializes the OuterAlloc base class - //! and the inner allocator object. - scoped_allocator_adaptor() - {} - - ~scoped_allocator_adaptor() - {} - - //! Effects: initializes each allocator within the adaptor with - //! the corresponding allocator from other. - scoped_allocator_adaptor(const scoped_allocator_adaptor& other) - : base_type(other.base()) - {} - - //! Effects: move constructs each allocator within the adaptor with - //! the corresponding allocator from other. - scoped_allocator_adaptor(BOOST_RV_REF(scoped_allocator_adaptor) other) - : base_type(::boost::move(other.base())) - {} - - #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - //! Requires: OuterAlloc shall be constructible from OuterA2. - //! - //! Effects: initializes the OuterAlloc base class with boost::forward(outerAlloc) and inner - //! with innerAllocs...(hence recursively initializing each allocator within the adaptor with the - //! corresponding allocator from the argument list). - template - scoped_allocator_adaptor(BOOST_FWD_REF(OuterA2) outerAlloc, const InnerAllocs & ...innerAllocs) - : base_type(::boost::forward(outerAlloc), innerAllocs...) - {} - #else // #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - #define BOOST_PP_LOCAL_MACRO(n) \ - template \ - scoped_allocator_adaptor(BOOST_FWD_REF(OuterA2) outerAlloc \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_CONST_REF_PARAM_LIST_Q, _)) \ - : base_type(::boost::forward(outerAlloc) \ - BOOST_PP_ENUM_TRAILING_PARAMS(n, q) \ - ) \ - {} \ - //! - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() - - #endif // #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - //! Requires: OuterAlloc shall be constructible from OuterA2. - //! - //! Effects: initializes each allocator within the adaptor with the corresponding allocator from other. - template - scoped_allocator_adaptor(const scoped_allocator_adaptor &other) - : base_type(other.base()) - {} - - //! Requires: OuterAlloc shall be constructible from OuterA2. - //! - //! Effects: initializes each allocator within the adaptor with the corresponding allocator - //! rvalue from other. - template - scoped_allocator_adaptor(BOOST_RV_REF_BEG scoped_allocator_adaptor BOOST_RV_REF_END other) - : base_type(::boost::move(other.base())) - {} - - scoped_allocator_adaptor &operator=(BOOST_COPY_ASSIGN_REF(scoped_allocator_adaptor) other) - { return static_cast(base_type::operator=(static_cast(other))); } - - scoped_allocator_adaptor &operator=(BOOST_RV_REF(scoped_allocator_adaptor) other) - { return static_cast(base_type::operator=(boost::move(static_cast(other)))); } - - #ifdef BOOST_CONTAINER_DOXYGEN_INVOKED - //! Effects: swaps *this with r. - //! - void swap(scoped_allocator_adaptor &r); - - //! Effects: swaps *this with r. - //! - friend void swap(scoped_allocator_adaptor &l, scoped_allocator_adaptor &r); - - //! Returns: - //! static_cast(*this). - outer_allocator_type & outer_allocator() BOOST_CONTAINER_NOEXCEPT; - - //! Returns: - //! static_cast(*this). - const outer_allocator_type &outer_allocator() const BOOST_CONTAINER_NOEXCEPT; - - //! Returns: - //! *this if sizeof...(InnerAllocs) is zero; otherwise, inner. - inner_allocator_type& inner_allocator() BOOST_CONTAINER_NOEXCEPT; - - //! Returns: - //! *this if sizeof...(InnerAllocs) is zero; otherwise, inner. - inner_allocator_type const& inner_allocator() const BOOST_CONTAINER_NOEXCEPT; - - #endif //BOOST_CONTAINER_DOXYGEN_INVOKED - - //! Returns: - //! allocator_traits::max_size(outer_allocator()). - size_type max_size() const BOOST_CONTAINER_NOEXCEPT - { - return outer_traits_type::max_size(this->outer_allocator()); - } - - //! Effects: - //! calls OUTERMOST_ALLOC_TRAITS(*this)::destroy(OUTERMOST(*this), p). - template - void destroy(T* p) BOOST_CONTAINER_NOEXCEPT - { - allocator_traits::type> - ::destroy(get_outermost_allocator(this->outer_allocator()), p); - } - - //! Returns: - //! allocator_traits::allocate(outer_allocator(), n). - pointer allocate(size_type n) - { - return outer_traits_type::allocate(this->outer_allocator(), n); - } - - //! Returns: - //! allocator_traits::allocate(outer_allocator(), n, hint). - pointer allocate(size_type n, const_void_pointer hint) - { - return outer_traits_type::allocate(this->outer_allocator(), n, hint); - } - - //! Effects: - //! allocator_traits::deallocate(outer_allocator(), p, n). - void deallocate(pointer p, size_type n) - { - outer_traits_type::deallocate(this->outer_allocator(), p, n); - } - - #ifdef BOOST_CONTAINER_DOXYGEN_INVOKED - //! Returns: Allocator new scoped_allocator_adaptor object where each allocator - //! A in the adaptor is initialized from the result of calling - //! allocator_traits::select_on_container_copy_construction() on - //! the corresponding allocator in *this. - scoped_allocator_adaptor select_on_container_copy_construction() const; - #endif //BOOST_CONTAINER_DOXYGEN_INVOKED - - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - base_type &base() { return *this; } - - const base_type &base() const { return *this; } - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - - #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - //! Effects: - //! 1) If uses_allocator::value is false calls - //! OUTERMOST_ALLOC_TRAITS(*this)::construct - //! (OUTERMOST(*this), p, std::forward(args)...). - //! - //! 2) Otherwise, if uses_allocator::value is true and - //! is_constructible::value is true, calls - //! OUTERMOST_ALLOC_TRAITS(*this)::construct(OUTERMOST(*this), p, allocator_arg, - //! inner_allocator(), std::forward(args)...). - //! - //! [Note: In compilers without advanced decltype SFINAE support, is_constructible can't - //! be implemented so that condition will be replaced by - //! constructible_with_allocator_prefix::value. -end note] - //! - //! 3) Otherwise, if uses_allocator::value is true and - //! is_constructible::value is true, calls - //! OUTERMOST_ALLOC_TRAITS(*this)::construct(OUTERMOST(*this), p, - //! std::forward(args)..., inner_allocator()). - //! - //! [Note: In compilers without advanced decltype SFINAE support, is_constructible can't be - //! implemented so that condition will be replaced by - //! constructible_with_allocator_suffix::value. -end note] - //! - //! 4) Otherwise, the program is ill-formed. - //! - //! [Note: An error will result if uses_allocator evaluates - //! to true but the specific constructor does not take an allocator. This definition prevents a silent - //! failure to pass an inner allocator to a contained element. -end note] - template < typename T, class ...Args> - #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - void - #else - typename container_detail::enable_if_c::value, void>::type - #endif - construct(T* p, BOOST_FWD_REF(Args)...args) - { - container_detail::dispatch_uses_allocator - ( uses_allocator() - , get_outermost_allocator(this->outer_allocator()) - , this->inner_allocator() - , p, ::boost::forward(args)...); - } - - #else // #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - //Disable this overload if the first argument is pair as some compilers have - //overload selection problems when the first parameter is a pair. - #define BOOST_PP_LOCAL_MACRO(n) \ - template < typename T \ - BOOST_PP_ENUM_TRAILING_PARAMS(n, class P) \ - > \ - typename container_detail::enable_if_c::value, void>::type \ - construct(T* p BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - container_detail::dispatch_uses_allocator \ - ( uses_allocator() \ - , get_outermost_allocator(this->outer_allocator()) \ - , this->inner_allocator() \ - , p BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); \ - } \ - //! - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() - - #endif // #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - template - void construct(std::pair* p) - { this->construct_pair(p); } - - template - void construct(container_detail::pair* p) - { this->construct_pair(p); } - - template - void construct(std::pair* p, BOOST_FWD_REF(U) x, BOOST_FWD_REF(V) y) - { this->construct_pair(p, ::boost::forward(x), ::boost::forward(y)); } - - template - void construct(container_detail::pair* p, BOOST_FWD_REF(U) x, BOOST_FWD_REF(V) y) - { this->construct_pair(p, ::boost::forward(x), ::boost::forward(y)); } - - template - void construct(std::pair* p, const std::pair& x) - { this->construct_pair(p, x); } - - template - void construct( container_detail::pair* p - , const container_detail::pair& x) - { this->construct_pair(p, x); } - - template - void construct( std::pair* p - , BOOST_RV_REF_BEG std::pair BOOST_RV_REF_END x) - { this->construct_pair(p, x); } - - template - void construct( container_detail::pair* p - , BOOST_RV_REF_BEG container_detail::pair BOOST_RV_REF_END x) - { this->construct_pair(p, x); } - - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - private: - template - void construct_pair(Pair* p) - { - this->construct(container_detail::addressof(p->first)); - BOOST_TRY{ - this->construct(container_detail::addressof(p->second)); - } - BOOST_CATCH(...){ - this->destroy(container_detail::addressof(p->first)); - BOOST_RETHROW - } - BOOST_CATCH_END - } - - template - void construct_pair(Pair* p, BOOST_FWD_REF(U) x, BOOST_FWD_REF(V) y) - { - this->construct(container_detail::addressof(p->first), ::boost::forward(x)); - BOOST_TRY{ - this->construct(container_detail::addressof(p->second), ::boost::forward(y)); - } - BOOST_CATCH(...){ - this->destroy(container_detail::addressof(p->first)); - BOOST_RETHROW - } - BOOST_CATCH_END - } - - template - void construct_pair(Pair* p, const Pair2& pr) - { - this->construct(container_detail::addressof(p->first), pr.first); - BOOST_TRY{ - this->construct(container_detail::addressof(p->second), pr.second); - } - BOOST_CATCH(...){ - this->destroy(container_detail::addressof(p->first)); - BOOST_RETHROW - } - BOOST_CATCH_END - } - - template - void construct_pair(Pair* p, BOOST_RV_REF(Pair2) pr) - { - this->construct(container_detail::addressof(p->first), ::boost::move(pr.first)); - BOOST_TRY{ - this->construct(container_detail::addressof(p->second), ::boost::move(pr.second)); - } - BOOST_CATCH(...){ - this->destroy(container_detail::addressof(p->first)); - BOOST_RETHROW - } - BOOST_CATCH_END - } - - //template - //void construct(pair* p, piecewise_construct_t, tuple x, tuple y); - - public: - //Internal function - template - scoped_allocator_adaptor(internal_type_t, BOOST_FWD_REF(OuterA2) outer, const inner_allocator_type& inner) - : base_type(internal_type_t(), ::boost::forward(outer), inner) - {} - - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED -}; - -template -inline bool operator==( - const scoped_allocator_adaptor& a, - const scoped_allocator_adaptor& b) -{ - #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - const bool has_zero_inner = sizeof...(InnerAllocs) == 0u; - #else - const bool has_zero_inner = - boost::container::container_detail::is_same - ::value; - #endif - - return a.outer_allocator() == b.outer_allocator() - && (has_zero_inner || a.inner_allocator() == b.inner_allocator()); -} - -template -inline bool operator!=( - const scoped_allocator_adaptor& a, - const scoped_allocator_adaptor& b) -{ - return ! (a == b); -} - -}} // namespace boost { namespace container { - -#include - -#endif // BOOST_CONTAINER_ALLOCATOR_SCOPED_ALLOCATOR_HPP diff --git a/bundled/boost-1.56.0/include/boost/container/scoped_allocator_fwd.hpp b/bundled/boost-1.56.0/include/boost/container/scoped_allocator_fwd.hpp deleted file mode 100644 index f19e27e885..0000000000 --- a/bundled/boost-1.56.0/include/boost/container/scoped_allocator_fwd.hpp +++ /dev/null @@ -1,87 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2011-2013. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/container for documentation. -// -////////////////////////////////////////////////////////////////////////////// - -#ifndef BOOST_CONTAINER_ALLOCATOR_SCOPED_ALLOCATOR_FWD_HPP -#define BOOST_CONTAINER_ALLOCATOR_SCOPED_ALLOCATOR_FWD_HPP - -//! \file -//! This header file forward declares boost::container::scoped_allocator_adaptor -//! and defines the following types: - -#if defined(_MSC_VER) -# pragma once -#endif - -#include -#include - -#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) -#include -#include -#endif - -namespace boost { namespace container { - -#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - - #if !defined(BOOST_CONTAINER_UNIMPLEMENTED_PACK_EXPANSION_TO_FIXED_LIST) - - template - class scoped_allocator_adaptor; - - #else // #if !defined(BOOST_CONTAINER_UNIMPLEMENTED_PACK_EXPANSION_TO_FIXED_LIST) - - template - class scoped_allocator_adaptor; - - template - class scoped_allocator_adaptor; - - #endif // #if !defined(BOOST_CONTAINER_UNIMPLEMENTED_PACK_EXPANSION_TO_FIXED_LIST) - - -#else // #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - -template -class scoped_allocator_adaptor; - -#endif - -#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -//! The allocator_arg_t struct is an empty structure type used as a unique type to -//! disambiguate constructor and function overloading. Specifically, several types -//! have constructors with allocator_arg_t as the first argument, immediately followed -//! by an argument of a type that satisfies the Allocator requirements -struct allocator_arg_t{}; - -//! A instance of type allocator_arg_t -//! -static const allocator_arg_t allocator_arg = allocator_arg_t(); - -template -struct constructible_with_allocator_suffix; - -template -struct constructible_with_allocator_prefix; - -template -struct uses_allocator; - -}} // namespace boost { namespace container { - -#include - -#endif // BOOST_CONTAINER_ALLOCATOR_SCOPED_ALLOCATOR_FWD_HPP diff --git a/bundled/boost-1.56.0/include/boost/container/set.hpp b/bundled/boost-1.56.0/include/boost/container/set.hpp deleted file mode 100644 index 93a02d0faf..0000000000 --- a/bundled/boost-1.56.0/include/boost/container/set.hpp +++ /dev/null @@ -1,1051 +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_SET_HPP -#define BOOST_CONTAINER_SET_HPP - -#if defined(_MSC_VER) -# pragma once -#endif - -#include -#include -#include - -#include -#include -#include - -#include -#include -#include -#include -#include -#ifndef BOOST_CONTAINER_PERFECT_FORWARDING -#include -#endif - -namespace boost { -namespace container { - -#ifdef BOOST_CONTAINER_DOXYGEN_INVOKED - -//! A set is a kind of associative container that supports unique keys (contains at -//! most one of each key value) and provides for fast retrieval of the keys themselves. -//! Class set supports bidirectional iterators. -//! -//! A set satisfies all of the requirements of a container and of a reversible container -//! , and of an associative container. A set also provides most operations described in -//! for unique keys. -//! -//! \tparam Key is the type to be inserted in the set, which is also the key_type -//! \tparam Compare is the comparison functor used to order keys -//! \tparam Allocator is the allocator to be used to allocate memory for this container -//! \tparam SetOptions is an packed option type generated using using boost::container::tree_assoc_options. -template , class Allocator = std::allocator, class SetOptions = tree_assoc_defaults > -#else -template -#endif -class set - ///@cond - : public container_detail::tree - < Key, Key, container_detail::identity, Compare, Allocator, SetOptions> - ///@endcond -{ - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - private: - BOOST_COPYABLE_AND_MOVABLE(set) - typedef container_detail::tree - < Key, Key, container_detail::identity, Compare, Allocator, SetOptions> base_t; - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - - public: - ////////////////////////////////////////////// - // - // types - // - ////////////////////////////////////////////// - typedef Key key_type; - typedef Key value_type; - typedef Compare key_compare; - typedef Compare value_compare; - typedef ::boost::container::allocator_traits allocator_traits_type; - typedef typename ::boost::container::allocator_traits::pointer pointer; - typedef typename ::boost::container::allocator_traits::const_pointer const_pointer; - typedef typename ::boost::container::allocator_traits::reference reference; - typedef typename ::boost::container::allocator_traits::const_reference const_reference; - typedef typename ::boost::container::allocator_traits::size_type size_type; - typedef typename ::boost::container::allocator_traits::difference_type difference_type; - typedef Allocator allocator_type; - typedef typename BOOST_CONTAINER_IMPDEF(base_t::stored_allocator_type) stored_allocator_type; - 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; - - ////////////////////////////////////////////// - // - // construct/copy/destroy - // - ////////////////////////////////////////////// - - //! Effects: Default constructs an empty set. - //! - //! Complexity: Constant. - set() - : base_t() - {} - - //! Effects: Constructs an empty set using the specified comparison object - //! and allocator. - //! - //! Complexity: Constant. - explicit set(const Compare& comp, - const allocator_type& a = allocator_type()) - : base_t(comp, a) - {} - - //! Effects: Constructs an empty set using the specified allocator object. - //! - //! Complexity: Constant. - explicit set(const allocator_type& a) - : base_t(a) - {} - - //! Effects: Constructs an empty set using the specified comparison object and - //! allocator, and inserts elements from the range [first ,last ). - //! - //! Complexity: Linear in N if the range [first ,last ) is already sorted using - //! comp and otherwise N logN, where N is last - first. - template - set(InputIterator first, InputIterator last, const Compare& comp = Compare(), - const allocator_type& a = allocator_type()) - : base_t(true, first, last, comp, a) - {} - - //! Effects: Constructs an empty set using the specified comparison object and - //! allocator, and inserts elements from the ordered unique range [first ,last). This function - //! is more efficient than the normal range creation for ordered ranges. - //! - //! Requires: [first ,last) must be ordered according to the predicate and must be - //! unique values. - //! - //! Complexity: Linear in N. - //! - //! Note: Non-standard extension. - template - set( ordered_unique_range_t, InputIterator first, InputIterator last - , const Compare& comp = Compare(), const allocator_type& a = allocator_type()) - : base_t(ordered_range, first, last, comp, a) - {} - - //! Effects: Copy constructs a set. - //! - //! Complexity: Linear in x.size(). - set(const set& x) - : base_t(static_cast(x)) - {} - - //! Effects: Move constructs a set. Constructs *this using x's resources. - //! - //! Complexity: Constant. - //! - //! Postcondition: x is emptied. - set(BOOST_RV_REF(set) x) - : base_t(boost::move(static_cast(x))) - {} - - //! Effects: Copy constructs a set using the specified allocator. - //! - //! Complexity: Linear in x.size(). - set(const set& x, const allocator_type &a) - : base_t(static_cast(x), a) - {} - - //! Effects: Move constructs a set using the specified allocator. - //! Constructs *this using x's resources. - //! - //! Complexity: Constant if a == x.get_allocator(), linear otherwise. - set(BOOST_RV_REF(set) x, const allocator_type &a) - : base_t(boost::move(static_cast(x)), a) - {} - - //! Effects: Makes *this a copy of x. - //! - //! Complexity: Linear in x.size(). - set& operator=(BOOST_COPY_ASSIGN_REF(set) x) - { return static_cast(this->base_t::operator=(static_cast(x))); } - - //! Effects: this->swap(x.get()). - //! - //! Throws: If allocator_traits_type::propagate_on_container_move_assignment - //! is false and (allocation throws or value_type's move constructor throws) - //! - //! Complexity: Constant if allocator_traits_type:: - //! propagate_on_container_move_assignment is true or - //! this->get>allocator() == x.get_allocator(). Linear otherwise. - set& operator=(BOOST_RV_REF(set) x) - BOOST_CONTAINER_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value) - { return static_cast(this->base_t::operator=(boost::move(static_cast(x)))); } - - #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - //! Effects: Returns a copy of the Allocator that - //! was passed to the object's constructor. - //! - //! Complexity: Constant. - allocator_type get_allocator() const; - - //! Effects: Returns a reference to the internal allocator. - //! - //! Throws: Nothing - //! - //! Complexity: Constant. - //! - //! Note: Non-standard extension. - stored_allocator_type &get_stored_allocator(); - - //! Effects: Returns a reference to the internal allocator. - //! - //! Throws: Nothing - //! - //! Complexity: Constant. - //! - //! Note: Non-standard extension. - const stored_allocator_type &get_stored_allocator() const; - - //! Effects: Returns an iterator to the first element contained in the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant - iterator begin(); - - //! Effects: Returns a const_iterator to the first element contained in the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator begin() const; - - //! Effects: Returns a const_iterator to the first element contained in the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator cbegin() const; - - //! Effects: Returns an iterator to the end of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - iterator end(); - - //! Effects: Returns a const_iterator to the end of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator end() const; - - //! Effects: Returns a const_iterator to the end of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator cend() const; - - //! Effects: Returns a reverse_iterator pointing to the beginning - //! of the reversed container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - reverse_iterator rbegin(); - - //! Effects: Returns a const_reverse_iterator pointing to the beginning - //! of the reversed container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator rbegin() const; - - //! Effects: Returns a const_reverse_iterator pointing to the beginning - //! of the reversed container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator crbegin() const; - - //! Effects: Returns a reverse_iterator pointing to the end - //! of the reversed container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - reverse_iterator rend(); - - //! Effects: Returns a const_reverse_iterator pointing to the end - //! of the reversed container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator rend() const; - - //! Effects: Returns a const_reverse_iterator pointing to the end - //! of the reversed container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator crend() const; - - //! Effects: Returns true if the container contains no elements. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - bool empty() const; - - //! Effects: Returns the number of the elements contained in the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - size_type size() const; - - //! Effects: Returns the largest possible size of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - size_type max_size() const; - #endif // #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - #if defined(BOOST_CONTAINER_PERFECT_FORWARDING) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - //! Effects: Inserts an object x of type Key constructed with - //! std::forward(args)... if and only if there is - //! no element in the container with equivalent value. - //! and returns the iterator pointing to the - //! newly inserted element. - //! - //! Returns: 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. - //! - //! Throws: If memory allocation throws or - //! Key's in-place constructor throws. - //! - //! Complexity: Logarithmic. - template - std::pair emplace(Args&&... args) - { return this->base_t::emplace_unique(boost::forward(args)...); } - - //! Effects: Inserts an object of type Key constructed with - //! std::forward(args)... if and only if there is - //! no element in the container with equivalent value. - //! p is a hint pointing to where the insert - //! should start to search. - //! - //! Returns: An iterator pointing to the element with key equivalent to the key of x. - //! - //! Complexity: Logarithmic. - template - iterator emplace_hint(const_iterator hint, Args&&... args) - { return this->base_t::emplace_hint_unique(hint, boost::forward(args)...); } - - #else //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING - - #define BOOST_PP_LOCAL_MACRO(n) \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - std::pair emplace(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { return this->base_t::emplace_unique(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); }\ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace_hint(const_iterator hint \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { return this->base_t::emplace_hint_unique(hint \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _));} \ - //! - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() - - #endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING - - #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - //! Effects: Inserts x if and only if there is no element in the container - //! with key equivalent to the key of x. - //! - //! Returns: 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. - //! - //! Complexity: Logarithmic. - std::pair insert(const value_type &x); - - //! Effects: Move constructs a new value from x if and only if there is - //! no element in the container with key equivalent to the key of x. - //! - //! Returns: 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. - //! - //! Complexity: Logarithmic. - std::pair insert(value_type &&x); - #else - private: - typedef std::pair insert_return_pair; - public: - BOOST_MOVE_CONVERSION_AWARE_CATCH(insert, value_type, insert_return_pair, this->priv_insert) - #endif - - #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - //! Effects: 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. - //! - //! Returns: An iterator pointing to the element with key equivalent - //! to the key of x. - //! - //! Complexity: Logarithmic in general, but amortized constant if t - //! is inserted right before p. - iterator insert(const_iterator p, const value_type &x); - - //! Effects: Inserts an element move constructed from x in the container. - //! p is a hint pointing to where the insert should start to search. - //! - //! Returns: An iterator pointing to the element with key equivalent to the key of x. - //! - //! Complexity: Logarithmic. - iterator insert(const_iterator position, value_type &&x); - #else - BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, value_type, iterator, this->priv_insert, const_iterator, const_iterator) - #endif - - //! Requires: first, last are not iterators into *this. - //! - //! Effects: 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. - //! - //! Complexity: At most N log(size()+N) (N is the distance from first to last) - template - void insert(InputIterator first, InputIterator last) - { this->base_t::insert_unique(first, last); } - - #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - //! Effects: Erases the element pointed to by p. - //! - //! Returns: Returns an iterator pointing to the element immediately - //! following q prior to the element being erased. If no such element exists, - //! returns end(). - //! - //! Complexity: Amortized constant time - iterator erase(const_iterator p); - - //! Effects: Erases all elements in the container with key equivalent to x. - //! - //! Returns: Returns the number of erased elements. - //! - //! Complexity: log(size()) + count(k) - size_type erase(const key_type& x); - - //! Effects: Erases all the elements in the range [first, last). - //! - //! Returns: Returns last. - //! - //! Complexity: log(size())+N where N is the distance from first to last. - iterator erase(const_iterator first, const_iterator last); - - //! Effects: Swaps the contents of *this and x. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - void swap(set& x); - - //! Effects: erase(a.begin(),a.end()). - //! - //! Postcondition: size() == 0. - //! - //! Complexity: linear in size(). - void clear(); - - //! Effects: Returns the comparison object out - //! of which a was constructed. - //! - //! Complexity: Constant. - key_compare key_comp() const; - - //! Effects: Returns an object of value_compare constructed out - //! of the comparison object. - //! - //! Complexity: Constant. - value_compare value_comp() const; - - //! Returns: An iterator pointing to an element with the key - //! equivalent to x, or end() if such an element is not found. - //! - //! Complexity: Logarithmic. - iterator find(const key_type& x); - - //! Returns: Allocator const_iterator pointing to an element with the key - //! equivalent to x, or end() if such an element is not found. - //! - //! Complexity: Logarithmic. - const_iterator find(const key_type& x) const; - - #endif //#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - //! Returns: The number of elements with key equivalent to x. - //! - //! Complexity: log(size())+count(k) - size_type count(const key_type& x) const - { return static_cast(this->base_t::find(x) != this->base_t::cend()); } - - //! Returns: The number of elements with key equivalent to x. - //! - //! Complexity: log(size())+count(k) - size_type count(const key_type& x) - { return static_cast(this->base_t::find(x) != this->base_t::end()); } - - #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - //! Returns: An iterator pointing to the first element with key not less - //! than k, or a.end() if such an element is not found. - //! - //! Complexity: Logarithmic - iterator lower_bound(const key_type& x); - - //! Returns: Allocator const iterator pointing to the first element with key not - //! less than k, or a.end() if such an element is not found. - //! - //! Complexity: Logarithmic - const_iterator lower_bound(const key_type& x) const; - - //! Returns: An iterator pointing to the first element with key not less - //! than x, or end() if such an element is not found. - //! - //! Complexity: Logarithmic - iterator upper_bound(const key_type& x); - - //! Returns: Allocator const iterator pointing to the first element with key not - //! less than x, or end() if such an element is not found. - //! - //! Complexity: Logarithmic - const_iterator upper_bound(const key_type& x) const; - - #endif //#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - //! Effects: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)). - //! - //! Complexity: Logarithmic - std::pair equal_range(const key_type& x) - { return this->base_t::lower_bound_range(x); } - - //! Effects: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)). - //! - //! Complexity: Logarithmic - std::pair equal_range(const key_type& x) const - { return this->base_t::lower_bound_range(x); } - - #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - //! Effects: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)). - //! - //! Complexity: Logarithmic - std::pair equal_range(const key_type& x); - - //! Effects: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)). - //! - //! Complexity: Logarithmic - std::pair equal_range(const key_type& x) const; - - //! Effects: Rebalances the tree. It's a no-op for Red-Black and AVL trees. - //! - //! Complexity: Linear - void rebalance(); - - //! Effects: Returns true if x and y are equal - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator==(const set& x, const set& y); - - //! Effects: Returns true if x and y are unequal - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator!=(const set& x, const set& y); - - //! Effects: Returns true if x is less than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator<(const set& x, const set& y); - - //! Effects: Returns true if x is greater than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator>(const set& x, const set& y); - - //! Effects: Returns true if x is equal or less than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator<=(const set& x, const set& y); - - //! Effects: Returns true if x is equal or greater than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator>=(const set& x, const set& y); - - //! Effects: x.swap(y) - //! - //! Complexity: Constant. - friend void swap(set& x, set& y); - - #endif //#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - private: - template - std::pair priv_insert(BOOST_FWD_REF(KeyType) x) - { return this->base_t::insert_unique(::boost::forward(x)); } - - template - iterator priv_insert(const_iterator p, BOOST_FWD_REF(KeyType) x) - { return this->base_t::insert_unique(p, ::boost::forward(x)); } - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED -}; - -#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -} //namespace container { - -//!has_trivial_destructor_after_move<> == true_type -//!specialization for optimizations -template -struct has_trivial_destructor_after_move > -{ - static const bool value = has_trivial_destructor_after_move::value && has_trivial_destructor_after_move::value; -}; - -namespace container { - -#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -#ifdef BOOST_CONTAINER_DOXYGEN_INVOKED - -//! A multiset is a kind of associative container that supports equivalent keys -//! (possibly contains multiple copies of the same key value) and provides for -//! fast retrieval of the keys themselves. Class multiset supports bidirectional iterators. -//! -//! A multiset satisfies all of the requirements of a container and of a reversible -//! container, and of an associative container). multiset also provides most operations -//! described for duplicate keys. -//! -//! \tparam Key is the type to be inserted in the set, which is also the key_type -//! \tparam Compare is the comparison functor used to order keys -//! \tparam Allocator is the allocator to be used to allocate memory for this container -//! \tparam MultiSetOptions is an packed option type generated using using boost::container::tree_assoc_options. -template , class Allocator = std::allocator, class MultiSetOptions = tree_assoc_defaults > -#else -template -#endif -class multiset - /// @cond - : public container_detail::tree - , Compare, Allocator, MultiSetOptions> - /// @endcond -{ - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - private: - BOOST_COPYABLE_AND_MOVABLE(multiset) - typedef container_detail::tree - , Compare, Allocator, MultiSetOptions> base_t; - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - - public: - - ////////////////////////////////////////////// - // - // types - // - ////////////////////////////////////////////// - typedef Key key_type; - typedef Key value_type; - typedef Compare key_compare; - typedef Compare value_compare; - typedef ::boost::container::allocator_traits allocator_traits_type; - typedef typename ::boost::container::allocator_traits::pointer pointer; - typedef typename ::boost::container::allocator_traits::const_pointer const_pointer; - typedef typename ::boost::container::allocator_traits::reference reference; - typedef typename ::boost::container::allocator_traits::const_reference const_reference; - typedef typename ::boost::container::allocator_traits::size_type size_type; - typedef typename ::boost::container::allocator_traits::difference_type difference_type; - typedef Allocator allocator_type; - typedef typename BOOST_CONTAINER_IMPDEF(base_t::stored_allocator_type) stored_allocator_type; - 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; - - ////////////////////////////////////////////// - // - // construct/copy/destroy - // - ////////////////////////////////////////////// - - //! @copydoc ::boost::container::set::set() - multiset() - : base_t() - {} - - //! @copydoc ::boost::container::set::set(const Compare&, const allocator_type&) - explicit multiset(const Compare& comp, - const allocator_type& a = allocator_type()) - : base_t(comp, a) - {} - - //! @copydoc ::boost::container::set::set(const allocator_type&) - explicit multiset(const allocator_type& a) - : base_t(a) - {} - - //! @copydoc ::boost::container::set::set(InputIterator, InputIterator, const Compare& comp, const allocator_type&) - template - multiset(InputIterator first, InputIterator last, - const Compare& comp = Compare(), - const allocator_type& a = allocator_type()) - : base_t(false, first, last, comp, a) - {} - - //! Effects: Constructs an empty multiset using the specified comparison object and - //! allocator, and inserts elements from the ordered range [first ,last ). This function - //! is more efficient than the normal range creation for ordered ranges. - //! - //! Requires: [first ,last) must be ordered according to the predicate. - //! - //! Complexity: Linear in N. - //! - //! Note: Non-standard extension. - template - multiset( ordered_range_t, InputIterator first, InputIterator last - , const Compare& comp = Compare() - , const allocator_type& a = allocator_type()) - : base_t(ordered_range, first, last, comp, a) - {} - - //! @copydoc ::boost::container::set::set(const set &) - multiset(const multiset& x) - : base_t(static_cast(x)) - {} - - //! @copydoc ::boost::container::set(set &&) - multiset(BOOST_RV_REF(multiset) x) - : base_t(boost::move(static_cast(x))) - {} - - //! @copydoc ::boost::container::set(const set &, const allocator_type &) - multiset(const multiset& x, const allocator_type &a) - : base_t(static_cast(x), a) - {} - - //! @copydoc ::boost::container::set(set &&, const allocator_type &) - multiset(BOOST_RV_REF(multiset) x, const allocator_type &a) - : base_t(boost::move(static_cast(x)), a) - {} - - //! @copydoc ::boost::container::set::operator=(const set &) - multiset& operator=(BOOST_COPY_ASSIGN_REF(multiset) x) - { return static_cast(this->base_t::operator=(static_cast(x))); } - - //! @copydoc ::boost::container::set::operator=(set &&) - multiset& operator=(BOOST_RV_REF(multiset) x) - { return static_cast(this->base_t::operator=(boost::move(static_cast(x)))); } - - #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_CONTAINER_NOEXCEPT; - - //! @copydoc ::boost::container::set::end() const - const_iterator end() const BOOST_CONTAINER_NOEXCEPT; - - //! @copydoc ::boost::container::set::cend() const - const_iterator cend() const BOOST_CONTAINER_NOEXCEPT; - - //! @copydoc ::boost::container::set::rbegin() - reverse_iterator rbegin() BOOST_CONTAINER_NOEXCEPT; - - //! @copydoc ::boost::container::set::rbegin() const - const_reverse_iterator rbegin() const BOOST_CONTAINER_NOEXCEPT; - - //! @copydoc ::boost::container::set::crbegin() const - const_reverse_iterator crbegin() const BOOST_CONTAINER_NOEXCEPT; - - //! @copydoc ::boost::container::set::rend() - reverse_iterator rend() BOOST_CONTAINER_NOEXCEPT; - - //! @copydoc ::boost::container::set::rend() const - const_reverse_iterator rend() const BOOST_CONTAINER_NOEXCEPT; - - //! @copydoc ::boost::container::set::crend() const - const_reverse_iterator crend() const BOOST_CONTAINER_NOEXCEPT; - - //! @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_CONTAINER_PERFECT_FORWARDING) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - //! Effects: Inserts an object of type Key constructed with - //! std::forward(args)... and returns the iterator pointing to the - //! newly inserted element. - //! - //! Complexity: Logarithmic. - template - iterator emplace(Args&&... args) - { return this->base_t::emplace_equal(boost::forward(args)...); } - - //! Effects: Inserts an object of type Key constructed with - //! std::forward(args)... - //! - //! Returns: An iterator pointing to the element with key equivalent - //! to the key of x. - //! - //! Complexity: Logarithmic in general, but amortized constant if t - //! is inserted right before p. - template - iterator emplace_hint(const_iterator hint, Args&&... args) - { return this->base_t::emplace_hint_equal(hint, boost::forward(args)...); } - - #else //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING - - #define BOOST_PP_LOCAL_MACRO(n) \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { return this->base_t::emplace_equal(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); } \ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace_hint(const_iterator hint \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { return this->base_t::emplace_hint_equal(hint \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _));} \ - //! - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() - - #endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING - - #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - //! Effects: Inserts x and returns the iterator pointing to the - //! newly inserted element. - //! - //! Complexity: Logarithmic. - iterator insert(const value_type &x); - - //! Effects: Inserts a copy of x in the container. - //! - //! Returns: An iterator pointing to the element with key equivalent - //! to the key of x. - //! - //! Complexity: Logarithmic in general, but amortized constant if t - //! is inserted right before p. - iterator insert(value_type &&x); - #else - BOOST_MOVE_CONVERSION_AWARE_CATCH(insert, value_type, iterator, this->priv_insert) - #endif - - #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - //! Effects: Inserts a copy of x in the container. - //! p is a hint pointing to where the insert should start to search. - //! - //! Returns: An iterator pointing to the element with key equivalent - //! to the key of x. - //! - //! Complexity: Logarithmic in general, but amortized constant if t - //! is inserted right before p. - iterator insert(const_iterator p, const value_type &x); - - //! Effects: Inserts a value move constructed from x in the container. - //! p is a hint pointing to where the insert should start to search. - //! - //! Returns: An iterator pointing to the element with key equivalent - //! to the key of x. - //! - //! Complexity: Logarithmic in general, but amortized constant if t - //! is inserted right before p. - iterator insert(const_iterator position, value_type &&x); - #else - BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, value_type, iterator, this->priv_insert, const_iterator, const_iterator) - #endif - - //! Requires: first, last are not iterators into *this. - //! - //! Effects: inserts each element from the range [first,last) . - //! - //! Complexity: At most N log(size()+N) (N is the distance from first to last) - template - void insert(InputIterator first, InputIterator last) - { this->base_t::insert_equal(first, last); } - - #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); - - //! @copydoc ::boost::container::set::swap - void swap(flat_multiset& x); - - //! @copydoc ::boost::container::set::clear - void clear() BOOST_CONTAINER_NOEXCEPT; - - //! @copydoc ::boost::container::set::key_comp - key_compare key_comp() const; - - //! @copydoc ::boost::container::set::value_comp - value_compare value_comp() const; - - //! @copydoc ::boost::container::set::find(const key_type& ) - iterator find(const key_type& x); - - //! @copydoc ::boost::container::set::find(const key_type& ) const - const_iterator find(const key_type& x) const; - - //! @copydoc ::boost::container::set::count(const key_type& ) const - size_type count(const key_type& x) const; - - //! @copydoc ::boost::container::set::lower_bound(const key_type& ) - iterator lower_bound(const key_type& x); - - //! @copydoc ::boost::container::set::lower_bound(const key_type& ) const - const_iterator lower_bound(const key_type& x) const; - - //! @copydoc ::boost::container::set::upper_bound(const key_type& ) - iterator upper_bound(const key_type& x); - - //! @copydoc ::boost::container::set::upper_bound(const key_type& ) const - const_iterator upper_bound(const key_type& x) const; - - //! @copydoc ::boost::container::set::equal_range(const key_type& ) const - std::pair equal_range(const key_type& x) const; - - //! @copydoc ::boost::container::set::equal_range(const key_type& ) - std::pair equal_range(const key_type& x); - - //! @copydoc ::boost::container::set::rebalance() - void rebalance(); - - //! Effects: Returns true if x and y are equal - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator==(const multiset& x, const multiset& y); - - //! Effects: Returns true if x and y are unequal - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator!=(const multiset& x, const multiset& y); - - //! Effects: Returns true if x is less than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator<(const multiset& x, const multiset& y); - - //! Effects: Returns true if x is greater than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator>(const multiset& x, const multiset& y); - - //! Effects: Returns true if x is equal or less than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator<=(const multiset& x, const multiset& y); - - //! Effects: Returns true if x is equal or greater than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator>=(const multiset& x, const multiset& y); - - //! Effects: x.swap(y) - //! - //! Complexity: Constant. - friend void swap(multiset& x, multiset& y); - - #endif //#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - private: - template - iterator priv_insert(BOOST_FWD_REF(KeyType) x) - { return this->base_t::insert_equal(::boost::forward(x)); } - - template - iterator priv_insert(const_iterator p, BOOST_FWD_REF(KeyType) x) - { return this->base_t::insert_equal(p, ::boost::forward(x)); } - - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED -}; - -#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -} //namespace container { - -//!has_trivial_destructor_after_move<> == true_type -//!specialization for optimizations -template -struct has_trivial_destructor_after_move > -{ - static const bool value = has_trivial_destructor_after_move::value && has_trivial_destructor_after_move::value; -}; - -namespace container { - -#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -}} - -#include - -#endif /* BOOST_CONTAINER_SET_HPP */ - diff --git a/bundled/boost-1.56.0/include/boost/container/slist.hpp b/bundled/boost-1.56.0/include/boost/container/slist.hpp deleted file mode 100644 index 6941d29ed2..0000000000 --- a/bundled/boost-1.56.0/include/boost/container/slist.hpp +++ /dev/null @@ -1,1643 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2004-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_SLIST_HPP -#define BOOST_CONTAINER_SLIST_HPP - -#if defined(_MSC_VER) -# pragma once -#endif - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#if defined(BOOST_CONTAINER_PERFECT_FORWARDING) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) -//Preprocessor library to emulate perfect forwarding -#else -#include -#endif - -#include -#include -#include -#include -#include - -namespace boost { -namespace container { - -#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -template -class slist; - -namespace container_detail { - -template -struct slist_hook -{ - typedef typename container_detail::bi::make_slist_base_hook - , container_detail::bi::link_mode >::type type; -}; - -template -struct slist_node - : public slist_hook::type -{ - private: - slist_node(); - - public: - typedef T value_type; - typedef typename slist_hook::type hook_type; - - T m_data; - - T &get_data() - { return this->m_data; } - - const T &get_data() const - { return this->m_data; } -}; - -template -struct intrusive_slist_type -{ - typedef boost::container::allocator_traits allocator_traits_type; - typedef typename allocator_traits_type::value_type value_type; - typedef typename boost::intrusive::pointer_traits - ::template - rebind_pointer::type - void_pointer; - typedef typename container_detail::slist_node - node_type; - - typedef typename container_detail::bi::make_slist - ::type> - ,container_detail::bi::constant_time_size - , container_detail::bi::size_type - - >::type container_type; - typedef container_type type ; -}; - -} //namespace container_detail { - -#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -//! An slist is a singly linked list: a list where each element is linked to the next -//! element, but not to the previous element. That is, it is a Sequence that -//! supports forward but not backward traversal, and (amortized) constant time -//! insertion and removal of elements. Slists, like lists, have the important -//! property that insertion and splicing do not invalidate iterators to list elements, -//! and that even removal invalidates only the iterators that point to the elements -//! that are removed. The ordering of iterators may be changed (that is, -//! slist::iterator might have a different predecessor or successor after a list -//! operation than it did before), but the iterators themselves will not be invalidated -//! or made to point to different elements unless that invalidation or mutation is explicit. -//! -//! The main difference between slist and list is that list's iterators are bidirectional -//! iterators, while slist's iterators are forward iterators. This means that slist is -//! less versatile than list; frequently, however, bidirectional iterators are -//! unnecessary. You should usually use slist unless you actually need the extra -//! functionality of list, because singly linked lists are smaller and faster than double -//! linked lists. -//! -//! Important performance note: like every other Sequence, slist defines the member -//! functions insert and erase. Using these member functions carelessly, however, can -//! result in disastrously slow programs. The problem is that insert's first argument is -//! an iterator p, and that it inserts the new element(s) before p. This means that -//! insert must find the iterator just before p; this is a constant-time operation -//! for list, since list has bidirectional iterators, but for slist it must find that -//! iterator by traversing the list from the beginning up to p. In other words: -//! insert and erase are slow operations anywhere but near the beginning of the slist. -//! -//! Slist provides the member functions insert_after and erase_after, which are constant -//! time operations: you should always use insert_after and erase_after whenever -//! possible. If you find that insert_after and erase_after aren't adequate for your -//! needs, and that you often need to use insert and erase in the middle of the list, -//! then you should probably use list instead of slist. -//! -//! \tparam T The type of object that is stored in the list -//! \tparam Allocator The allocator used for all internal memory management -#ifdef BOOST_CONTAINER_DOXYGEN_INVOKED -template > -#else -template -#endif -class slist - : protected container_detail::node_alloc_holder - ::type> -{ - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - typedef typename - container_detail::intrusive_slist_type::type Icont; - typedef container_detail::node_alloc_holder AllocHolder; - typedef typename AllocHolder::NodePtr NodePtr; - typedef typename AllocHolder::NodeAlloc NodeAlloc; - typedef typename AllocHolder::ValAlloc ValAlloc; - typedef typename AllocHolder::Node Node; - typedef container_detail::allocator_destroyer Destroyer; - typedef typename AllocHolder::allocator_v1 allocator_v1; - typedef typename AllocHolder::allocator_v2 allocator_v2; - typedef typename AllocHolder::alloc_version alloc_version; - typedef boost::container::allocator_traits allocator_traits_type; - - class equal_to_value - { - typedef typename AllocHolder::value_type value_type; - const value_type &t_; - - public: - equal_to_value(const value_type &t) - : t_(t) - {} - - bool operator()(const value_type &t)const - { return t_ == t; } - }; - - template - struct ValueCompareToNodeCompare - : Pred - { - ValueCompareToNodeCompare(Pred pred) - : Pred(pred) - {} - - bool operator()(const Node &a, const Node &b) const - { return static_cast(*this)(a.m_data, b.m_data); } - - bool operator()(const Node &a) const - { return static_cast(*this)(a.m_data); } - }; - - BOOST_COPYABLE_AND_MOVABLE(slist) - typedef container_detail::iterator iterator_impl; - typedef container_detail::iterator const_iterator_impl; - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - - public: - ////////////////////////////////////////////// - // - // types - // - ////////////////////////////////////////////// - - typedef T value_type; - typedef typename ::boost::container::allocator_traits::pointer pointer; - typedef typename ::boost::container::allocator_traits::const_pointer const_pointer; - typedef typename ::boost::container::allocator_traits::reference reference; - typedef typename ::boost::container::allocator_traits::const_reference const_reference; - typedef typename ::boost::container::allocator_traits::size_type size_type; - typedef typename ::boost::container::allocator_traits::difference_type difference_type; - typedef Allocator allocator_type; - typedef BOOST_CONTAINER_IMPDEF(NodeAlloc) stored_allocator_type; - typedef BOOST_CONTAINER_IMPDEF(iterator_impl) iterator; - typedef BOOST_CONTAINER_IMPDEF(const_iterator_impl) const_iterator; - - public: - - ////////////////////////////////////////////// - // - // construct/copy/destroy - // - ////////////////////////////////////////////// - - //! Effects: Constructs a list taking the allocator as parameter. - //! - //! Throws: If allocator_type's copy constructor throws. - //! - //! Complexity: Constant. - slist() - : AllocHolder() - {} - - //! Effects: Constructs a list taking the allocator as parameter. - //! - //! Throws: Nothing - //! - //! Complexity: Constant. - explicit slist(const allocator_type& a) BOOST_CONTAINER_NOEXCEPT - : AllocHolder(a) - {} - - explicit slist(size_type n) - : AllocHolder(allocator_type()) - { this->resize(n); } - - //! Effects: Constructs a list that will use a copy of allocator a - //! and inserts n copies of value. - //! - //! Throws: If allocator_type's default constructor - //! throws or T's default or copy constructor throws. - //! - //! Complexity: Linear to n. - explicit slist(size_type n, const value_type& x, const allocator_type& a = allocator_type()) - : AllocHolder(a) - { this->insert_after(this->cbefore_begin(), n, x); } - - //! Effects: Constructs a list that will use a copy of allocator a - //! and inserts a copy of the range [first, last) in the list. - //! - //! Throws: If allocator_type's default constructor - //! throws or T's constructor taking a dereferenced InIt throws. - //! - //! Complexity: Linear to the range [first, last). - template - slist(InpIt first, InpIt last, const allocator_type& a = allocator_type()) - : AllocHolder(a) - { this->insert_after(this->cbefore_begin(), first, last); } - - //! Effects: Copy constructs a list. - //! - //! Postcondition: x == *this. - //! - //! Throws: If allocator_type's default constructor - //! - //! Complexity: Linear to the elements x contains. - slist(const slist& x) - : AllocHolder(x) - { this->insert_after(this->cbefore_begin(), x.begin(), x.end()); } - - //! Effects: Move constructor. Moves mx's resources to *this. - //! - //! Throws: If allocator_type's copy constructor throws. - //! - //! Complexity: Constant. - slist(BOOST_RV_REF(slist) x) - : AllocHolder(boost::move(static_cast(x))) - {} - - //! Effects: Copy constructs a list using the specified allocator. - //! - //! Postcondition: x == *this. - //! - //! Throws: If allocator_type's default constructor - //! - //! Complexity: Linear to the elements x contains. - slist(const slist& x, const allocator_type &a) - : AllocHolder(a) - { this->insert_after(this->cbefore_begin(), x.begin(), x.end()); } - - //! Effects: Move constructor using the specified allocator. - //! Moves x's resources to *this. - //! - //! Throws: If allocation or value_type's copy constructor throws. - //! - //! Complexity: Constant if a == x.get_allocator(), linear otherwise. - slist(BOOST_RV_REF(slist) x, const allocator_type &a) - : AllocHolder(a) - { - if(this->node_alloc() == x.node_alloc()){ - this->icont().swap(x.icont()); - } - else{ - this->insert_after(this->cbefore_begin(), x.begin(), x.end()); - } - } - - //! Effects: Destroys the list. All stored values are destroyed - //! and used memory is deallocated. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements. - ~slist() BOOST_CONTAINER_NOEXCEPT - {} //AllocHolder clears the slist - - //! Effects: Makes *this contain the same elements as x. - //! - //! Postcondition: this->size() == x.size(). *this contains a copy - //! of each of x's elements. - //! - //! Throws: If memory allocation throws or T's copy constructor throws. - //! - //! Complexity: Linear to the number of elements in x. - slist& operator= (BOOST_COPY_ASSIGN_REF(slist) x) - { - if (&x != this){ - NodeAlloc &this_alloc = this->node_alloc(); - const NodeAlloc &x_alloc = x.node_alloc(); - container_detail::bool_ flag; - if(flag && this_alloc != x_alloc){ - this->clear(); - } - this->AllocHolder::copy_assign_alloc(x); - this->assign(x.begin(), x.end()); - } - return *this; - } - - //! Effects: Makes *this contain the same elements as x. - //! - //! Postcondition: this->size() == x.size(). *this contains a copy - //! of each of x's elements. - //! - //! Throws: If allocator_traits_type::propagate_on_container_move_assignment - //! is false and (allocation throws or value_type's move constructor throws) - //! - //! Complexity: Constant if allocator_traits_type:: - //! propagate_on_container_move_assignment is true or - //! this->get>allocator() == x.get_allocator(). Linear otherwise. - slist& operator= (BOOST_RV_REF(slist) x) - BOOST_CONTAINER_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value) - { - BOOST_ASSERT(this != &x); - NodeAlloc &this_alloc = this->node_alloc(); - NodeAlloc &x_alloc = x.node_alloc(); - const bool propagate_alloc = allocator_traits_type:: - propagate_on_container_move_assignment::value; - 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 - this->clear(); - //Move allocator if needed - this->AllocHolder::move_assign_alloc(x); - //Obtain resources - this->icont() = boost::move(x.icont()); - } - //Else do a one by one move - else{ - this->assign( boost::make_move_iterator(x.begin()) - , boost::make_move_iterator(x.end())); - } - return *this; - } - - //! Effects: Assigns the n copies of val to *this. - //! - //! Throws: If memory allocation throws or T's copy constructor throws. - //! - //! Complexity: Linear to n. - void assign(size_type n, const T& val) - { - typedef constant_iterator cvalue_iterator; - return this->assign(cvalue_iterator(val, n), cvalue_iterator()); - } - - //! Effects: Assigns the range [first, last) to *this. - //! - //! Throws: If memory allocation throws or - //! T's constructor from dereferencing InpIt throws. - //! - //! Complexity: Linear to n. - template - void assign(InpIt first, InpIt last - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value - >::type * = 0 - #endif - ) - { - iterator end_n(this->end()); - iterator prev(this->before_begin()); - iterator node(this->begin()); - while (node != end_n && first != last){ - *node = *first; - prev = node; - ++node; - ++first; - } - if (first != last) - this->insert_after(prev, first, last); - else - this->erase_after(prev, end_n); - } - - //! Effects: Returns a copy of the internal allocator. - //! - //! Throws: If allocator's copy constructor throws. - //! - //! Complexity: Constant. - allocator_type get_allocator() const BOOST_CONTAINER_NOEXCEPT - { return allocator_type(this->node_alloc()); } - - //! Effects: Returns a reference to the internal allocator. - //! - //! Throws: Nothing - //! - //! Complexity: Constant. - //! - //! Note: Non-standard extension. - stored_allocator_type &get_stored_allocator() BOOST_CONTAINER_NOEXCEPT - { return this->node_alloc(); } - - //! Effects: Returns a reference to the internal allocator. - //! - //! Throws: Nothing - //! - //! Complexity: Constant. - //! - //! Note: Non-standard extension. - const stored_allocator_type &get_stored_allocator() const BOOST_CONTAINER_NOEXCEPT - { return this->node_alloc(); } - - ////////////////////////////////////////////// - // - // iterators - // - ////////////////////////////////////////////// - - //! Effects: Returns a non-dereferenceable iterator that, - //! when incremented, yields begin(). This iterator may be used - //! as the argument to insert_after, erase_after, etc. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - iterator before_begin() BOOST_CONTAINER_NOEXCEPT - { return iterator(end()); } - - //! Effects: Returns a non-dereferenceable const_iterator - //! that, when incremented, yields begin(). This iterator may be used - //! as the argument to insert_after, erase_after, etc. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator before_begin() const BOOST_CONTAINER_NOEXCEPT - { return this->cbefore_begin(); } - - //! Effects: Returns an iterator to the first element contained in the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - iterator begin() BOOST_CONTAINER_NOEXCEPT - { return iterator(this->icont().begin()); } - - //! Effects: Returns a const_iterator to the first element contained in the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator begin() const BOOST_CONTAINER_NOEXCEPT - { return this->cbegin(); } - - //! Effects: Returns an iterator to the end of the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - iterator end() BOOST_CONTAINER_NOEXCEPT - { return iterator(this->icont().end()); } - - //! Effects: Returns a const_iterator to the end of the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator end() const BOOST_CONTAINER_NOEXCEPT - { return this->cend(); } - - //! Effects: Returns a non-dereferenceable const_iterator - //! that, when incremented, yields begin(). This iterator may be used - //! as the argument to insert_after, erase_after, etc. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator cbefore_begin() const BOOST_CONTAINER_NOEXCEPT - { return const_iterator(end()); } - - //! Effects: Returns a const_iterator to the first element contained in the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator cbegin() const BOOST_CONTAINER_NOEXCEPT - { return const_iterator(this->non_const_icont().begin()); } - - //! Effects: Returns a const_iterator to the end of the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator cend() const BOOST_CONTAINER_NOEXCEPT - { return const_iterator(this->non_const_icont().end()); } - - //! Returns: The iterator to the element before i in the sequence. - //! Returns the end-iterator, if either i is the begin-iterator or the - //! sequence is empty. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements before i. - //! - //! Note: Non-standard extension. - iterator previous(iterator p) BOOST_CONTAINER_NOEXCEPT - { return iterator(this->icont().previous(p.get())); } - - //! Returns: The const_iterator to the element before i in the sequence. - //! Returns the end-const_iterator, if either i is the begin-const_iterator or - //! the sequence is empty. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements before i. - //! - //! Note: Non-standard extension. - const_iterator previous(const_iterator p) - { return const_iterator(this->icont().previous(p.get())); } - - ////////////////////////////////////////////// - // - // capacity - // - ////////////////////////////////////////////// - - //! Effects: Returns true if the list contains no elements. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - bool empty() const - { return !this->size(); } - - //! Effects: Returns the number of the elements contained in the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - size_type size() const - { return this->icont().size(); } - - //! Effects: Returns the largest possible size of the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - size_type max_size() const - { return AllocHolder::max_size(); } - - //! Effects: Inserts or erases elements at the end such that - //! the size becomes n. New elements are value initialized. - //! - //! Throws: If memory allocation throws, or T's copy constructor throws. - //! - //! Complexity: Linear to the difference between size() and new_size. - void resize(size_type new_size) - { - const_iterator last_pos; - if(!priv_try_shrink(new_size, last_pos)){ - typedef value_init_construct_iterator value_init_iterator; - this->insert_after(last_pos, value_init_iterator(new_size - this->size()), value_init_iterator()); - } - } - - //! Effects: Inserts or erases elements at the end such that - //! the size becomes n. New elements are copy constructed from x. - //! - //! Throws: If memory allocation throws, or T's copy constructor throws. - //! - //! Complexity: Linear to the difference between size() and new_size. - void resize(size_type new_size, const T& x) - { - const_iterator last_pos; - if(!priv_try_shrink(new_size, last_pos)){ - this->insert_after(last_pos, new_size, x); - } - } - - ////////////////////////////////////////////// - // - // element access - // - ////////////////////////////////////////////// - - //! Requires: !empty() - //! - //! Effects: Returns a reference to the first element - //! from the beginning of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - reference front() - { return *this->begin(); } - - //! Requires: !empty() - //! - //! Effects: Returns a const reference to the first element - //! from the beginning of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reference front() const - { return *this->begin(); } - - ////////////////////////////////////////////// - // - // modifiers - // - ////////////////////////////////////////////// - - #if defined(BOOST_CONTAINER_PERFECT_FORWARDING) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - //! Effects: Inserts an object of type T constructed with - //! std::forward(args)... in the front of the list - //! - //! Throws: If memory allocation throws or - //! T's copy constructor throws. - //! - //! Complexity: Amortized constant time. - template - void emplace_front(Args&&... args) - { this->emplace_after(this->cbefore_begin(), boost::forward(args)...); } - - //! Effects: Inserts an object of type T constructed with - //! std::forward(args)... after prev - //! - //! Throws: If memory allocation throws or - //! T's in-place constructor throws. - //! - //! Complexity: Constant - template - iterator emplace_after(const_iterator prev, Args&&... args) - { - NodePtr pnode(AllocHolder::create_node(boost::forward(args)...)); - return iterator(this->icont().insert_after(prev.get(), *pnode)); - } - - #else //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING - - #define BOOST_PP_LOCAL_MACRO(n) \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - void emplace_front(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - this->emplace(this->cbegin() \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); \ - } \ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace_after(const_iterator prev \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - NodePtr pnode (AllocHolder::create_node \ - (BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _))); \ - return iterator(this->icont().insert_after(prev.get(), *pnode)); \ - } \ - //! - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() - - #endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING - - #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - //! Effects: Inserts a copy of x at the beginning of the list. - //! - //! Throws: If memory allocation throws or - //! T's copy constructor throws. - //! - //! Complexity: Amortized constant time. - void push_front(const T &x); - - //! Effects: Constructs a new element in the beginning of the list - //! and moves the resources of mx to this new element. - //! - //! Throws: If memory allocation throws. - //! - //! Complexity: Amortized constant time. - void push_front(T &&x); - #else - BOOST_MOVE_CONVERSION_AWARE_CATCH(push_front, T, void, priv_push_front) - #endif - - - #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - //! Requires: p must be a valid iterator of *this. - //! - //! Effects: Inserts a copy of the value after the position pointed - //! by prev_p. - //! - //! Returns: An iterator to the inserted element. - //! - //! Throws: If memory allocation throws or T's copy constructor throws. - //! - //! Complexity: Amortized constant time. - //! - //! Note: Does not affect the validity of iterators and references of - //! previous values. - iterator insert_after(const_iterator prev_pos, const T &x); - - //! Requires: prev_pos must be a valid iterator of *this. - //! - //! Effects: Inserts a move constructed copy object from the value after the - //! p pointed by prev_pos. - //! - //! Returns: An iterator to the inserted element. - //! - //! Throws: If memory allocation throws. - //! - //! Complexity: Amortized constant time. - //! - //! Note: Does not affect the validity of iterators and references of - //! previous values. - iterator insert_after(const_iterator prev_pos, T &&x); - #else - BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert_after, T, iterator, priv_insert_after, const_iterator, const_iterator) - #endif - - //! Requires: prev_pos must be a valid iterator of *this. - //! - //! Effects: Inserts n copies of x after prev_pos. - //! - //! Returns: an iterator to the last inserted element or prev_pos if n is 0. - //! - //! Throws: If memory allocation throws or T's copy constructor throws. - //! - //! - //! Complexity: Linear to n. - //! - //! Note: Does not affect the validity of iterators and references of - //! previous values. - iterator insert_after(const_iterator prev_pos, size_type n, const value_type& x) - { - typedef constant_iterator cvalue_iterator; - return this->insert_after(prev_pos, cvalue_iterator(x, n), cvalue_iterator()); - } - - //! Requires: prev_pos must be a valid iterator of *this. - //! - //! Effects: Inserts the range pointed by [first, last) - //! after the position prev_pos. - //! - //! Returns: an iterator to the last inserted element or prev_pos if first == last. - //! - //! Throws: If memory allocation throws, T's constructor from a - //! dereferenced InpIt throws. - //! - //! Complexity: Linear to the number of elements inserted. - //! - //! Note: Does not affect the validity of iterators and references of - //! previous values. - template - iterator insert_after(const_iterator prev_pos, InpIt first, InpIt last - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value - && (container_detail::is_input_iterator::value - || container_detail::is_same::value - ) - >::type * = 0 - #endif - ) - { - iterator ret_it(prev_pos.get()); - for (; first != last; ++first){ - ret_it = iterator(this->icont().insert_after(ret_it.get(), *this->create_node_from_it(first))); - } - return ret_it; - } - - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - template - iterator insert_after(const_iterator prev, FwdIt first, FwdIt last - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value - && !(container_detail::is_input_iterator::value - || container_detail::is_same::value - ) - >::type * = 0 - ) - { - //Optimized allocation and construction - insertion_functor func(this->icont(), prev.get()); - this->allocate_many_and_construct(first, std::distance(first, last), func); - return iterator(func.inserted_first()); - } - #endif - - //! Effects: Removes the first element from the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Amortized constant time. - void pop_front() - { this->icont().pop_front_and_dispose(Destroyer(this->node_alloc())); } - - //! Effects: Erases the element after the element pointed by prev_pos - //! of the list. - //! - //! Returns: the first element remaining beyond the removed elements, - //! or end() if no such element exists. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - //! - //! Note: Does not invalidate iterators or references to non erased elements. - iterator erase_after(const_iterator prev_pos) - { - return iterator(this->icont().erase_after_and_dispose(prev_pos.get(), Destroyer(this->node_alloc()))); - } - - //! Effects: Erases the range (before_first, last) from - //! the list. - //! - //! Returns: the first element remaining beyond the removed elements, - //! or end() if no such element exists. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of erased elements. - //! - //! Note: Does not invalidate iterators or references to non erased elements. - iterator erase_after(const_iterator before_first, const_iterator last) - { - return iterator(this->icont().erase_after_and_dispose(before_first.get(), last.get(), Destroyer(this->node_alloc()))); - } - - //! Effects: Swaps the contents of *this and x. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements on *this and x. - void swap(slist& x) - { AllocHolder::swap(x); } - - //! Effects: Erases all the elements of the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements in the list. - void clear() - { this->icont().clear_and_dispose(Destroyer(this->node_alloc())); } - - ////////////////////////////////////////////// - // - // slist operations - // - ////////////////////////////////////////////// - - //! Requires: p must point to an element contained - //! by the list. x != *this - //! - //! Effects: Transfers all the elements of list x to this list, after the - //! the element pointed by p. No destructors or copy constructors are called. - //! - //! Throws: std::runtime_error if this' allocator and x's allocator - //! are not equal. - //! - //! Complexity: Linear to the elements in x. - //! - //! Note: Iterators of values obtained from list x now point to elements of - //! this list. Iterators of this list and all the references are not invalidated. - void splice_after(const_iterator prev_pos, slist& x) BOOST_CONTAINER_NOEXCEPT - { - BOOST_ASSERT(this != &x); - BOOST_ASSERT(this->node_alloc() == x.node_alloc()); - this->icont().splice_after(prev_pos.get(), x.icont()); - } - - //! Requires: p must point to an element contained - //! by the list. x != *this - //! - //! Effects: Transfers all the elements of list x to this list, after the - //! the element pointed by p. No destructors or copy constructors are called. - //! - //! Throws: std::runtime_error if this' allocator and x's allocator - //! are not equal. - //! - //! Complexity: Linear to the elements in x. - //! - //! Note: Iterators of values obtained from list x now point to elements of - //! this list. Iterators of this list and all the references are not invalidated. - void splice_after(const_iterator prev_pos, BOOST_RV_REF(slist) x) BOOST_CONTAINER_NOEXCEPT - { this->splice_after(prev_pos, static_cast(x)); } - - //! Requires: prev_pos must be a valid iterator of this. - //! i must point to an element contained in list x. - //! this' allocator and x's allocator shall compare equal. - //! - //! Effects: Transfers the value pointed by i, from list x to this list, - //! after the element pointed by prev_pos. - //! If prev_pos == prev or prev_pos == ++prev, this function is a null operation. - //! - //! Throws: Nothing - //! - //! Complexity: Constant. - //! - //! Note: Iterators of values obtained from list x now point to elements of this - //! list. Iterators of this list and all the references are not invalidated. - void splice_after(const_iterator prev_pos, slist& x, const_iterator prev) BOOST_CONTAINER_NOEXCEPT - { - BOOST_ASSERT(this->node_alloc() == x.node_alloc()); - this->icont().splice_after(prev_pos.get(), x.icont(), prev.get()); - } - - //! Requires: prev_pos must be a valid iterator of this. - //! i must point to an element contained in list x. - //! this' allocator and x's allocator shall compare equal. - //! - //! Effects: Transfers the value pointed by i, from list x to this list, - //! after the element pointed by prev_pos. - //! If prev_pos == prev or prev_pos == ++prev, this function is a null operation. - //! - //! Throws: Nothing - //! - //! Complexity: Constant. - //! - //! Note: Iterators of values obtained from list x now point to elements of this - //! list. Iterators of this list and all the references are not invalidated. - void splice_after(const_iterator prev_pos, BOOST_RV_REF(slist) x, const_iterator prev) BOOST_CONTAINER_NOEXCEPT - { this->splice_after(prev_pos, static_cast(x), prev); } - - //! Requires: prev_pos must be a valid iterator of this. - //! before_first and before_last must be valid iterators of x. - //! prev_pos must not be contained in [before_first, before_last) range. - //! this' allocator and x's allocator shall compare equal. - //! - //! Effects: Transfers the range [before_first + 1, before_last + 1) - //! from list x to this list, after the element pointed by prev_pos. - //! - //! Throws: Nothing - //! - //! Complexity: Linear to the number of transferred elements. - //! - //! Note: Iterators of values obtained from list x now point to elements of this - //! list. Iterators of this list and all the references are not invalidated. - void splice_after(const_iterator prev_pos, slist& x, - const_iterator before_first, const_iterator before_last) BOOST_CONTAINER_NOEXCEPT - { - BOOST_ASSERT(this->node_alloc() == x.node_alloc()); - this->icont().splice_after - (prev_pos.get(), x.icont(), before_first.get(), before_last.get()); - } - - //! Requires: prev_pos must be a valid iterator of this. - //! before_first and before_last must be valid iterators of x. - //! prev_pos must not be contained in [before_first, before_last) range. - //! this' allocator and x's allocator shall compare equal. - //! - //! Effects: Transfers the range [before_first + 1, before_last + 1) - //! from list x to this list, after the element pointed by prev_pos. - //! - //! Throws: Nothing - //! - //! Complexity: Linear to the number of transferred elements. - //! - //! Note: Iterators of values obtained from list x now point to elements of this - //! list. Iterators of this list and all the references are not invalidated. - void splice_after(const_iterator prev_pos, BOOST_RV_REF(slist) x, - const_iterator before_first, const_iterator before_last) BOOST_CONTAINER_NOEXCEPT - { this->splice_after(prev_pos, static_cast(x), before_first, before_last); } - - //! Requires: prev_pos must be a valid iterator of this. - //! before_first and before_last must be valid iterators of x. - //! prev_pos must not be contained in [before_first, before_last) range. - //! n == std::distance(before_first, before_last). - //! this' allocator and x's allocator shall compare equal. - //! - //! Effects: Transfers the range [before_first + 1, before_last + 1) - //! from list x to this list, after the element pointed by prev_pos. - //! - //! Throws: Nothing - //! - //! Complexity: Constant. - //! - //! Note: Iterators of values obtained from list x now point to elements of this - //! list. Iterators of this list and all the references are not invalidated. - void splice_after(const_iterator prev_pos, slist& x, - const_iterator before_first, const_iterator before_last, - size_type n) BOOST_CONTAINER_NOEXCEPT - { - BOOST_ASSERT(this->node_alloc() == x.node_alloc()); - this->icont().splice_after - (prev_pos.get(), x.icont(), before_first.get(), before_last.get(), n); - } - - //! Requires: prev_pos must be a valid iterator of this. - //! before_first and before_last must be valid iterators of x. - //! prev_pos must not be contained in [before_first, before_last) range. - //! n == std::distance(before_first, before_last). - //! this' allocator and x's allocator shall compare equal. - //! - //! Effects: Transfers the range [before_first + 1, before_last + 1) - //! from list x to this list, after the element pointed by prev_pos. - //! - //! Throws: Nothing - //! - //! Complexity: Constant. - //! - //! Note: Iterators of values obtained from list x now point to elements of this - //! list. Iterators of this list and all the references are not invalidated. - void splice_after(const_iterator prev_pos, BOOST_RV_REF(slist) x, - const_iterator before_first, const_iterator before_last, - size_type n) BOOST_CONTAINER_NOEXCEPT - { this->splice_after(prev_pos, static_cast(x), before_first, before_last, n); } - - //! Effects: Removes all the elements that compare equal to value. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear time. It performs exactly size() comparisons for equality. - //! - //! Note: The relative order of elements that are not removed is unchanged, - //! and iterators to elements that are not removed remain valid. - void remove(const T& value) - { this->remove_if(equal_to_value(value)); } - - //! Effects: Removes all the elements for which a specified - //! predicate is satisfied. - //! - //! Throws: If pred throws. - //! - //! Complexity: Linear time. It performs exactly size() calls to the predicate. - //! - //! Note: The relative order of elements that are not removed is unchanged, - //! and iterators to elements that are not removed remain valid. - template - void remove_if(Pred pred) - { - typedef ValueCompareToNodeCompare Predicate; - this->icont().remove_and_dispose_if(Predicate(pred), Destroyer(this->node_alloc())); - } - - //! Effects: Removes adjacent duplicate elements or adjacent - //! elements that are equal from the list. - //! - //! Throws: If comparison throws. - //! - //! Complexity: Linear time (size()-1 comparisons equality comparisons). - //! - //! Note: The relative order of elements that are not removed is unchanged, - //! and iterators to elements that are not removed remain valid. - void unique() - { this->unique(value_equal()); } - - //! Effects: Removes adjacent duplicate elements or adjacent - //! elements that satisfy some binary predicate from the list. - //! - //! Throws: If pred throws. - //! - //! Complexity: Linear time (size()-1 comparisons calls to pred()). - //! - //! Note: The relative order of elements that are not removed is unchanged, - //! and iterators to elements that are not removed remain valid. - template - void unique(Pred pred) - { - typedef ValueCompareToNodeCompare Predicate; - this->icont().unique_and_dispose(Predicate(pred), Destroyer(this->node_alloc())); - } - - //! Requires: The lists x and *this must be distinct. - //! - //! Effects: This function removes all of x's elements and inserts them - //! in order into *this according to std::less. The merge is stable; - //! that is, if an element from *this is equivalent to one from x, then the element - //! from *this will precede the one from x. - //! - //! Throws: If comparison throws. - //! - //! Complexity: This function is linear time: it performs at most - //! size() + x.size() - 1 comparisons. - void merge(slist & x) - { this->merge(x, value_less()); } - - //! Requires: The lists x and *this must be distinct. - //! - //! Effects: This function removes all of x's elements and inserts them - //! in order into *this according to std::less. The merge is stable; - //! that is, if an element from *this is equivalent to one from x, then the element - //! from *this will precede the one from x. - //! - //! Throws: If comparison throws. - //! - //! Complexity: This function is linear time: it performs at most - //! size() + x.size() - 1 comparisons. - void merge(BOOST_RV_REF(slist) x) - { this->merge(static_cast(x)); } - - //! Requires: p must be a comparison function that induces a strict weak - //! ordering and both *this and x must be sorted according to that ordering - //! The lists x and *this must be distinct. - //! - //! Effects: This function removes all of x's elements and inserts them - //! in order into *this. The merge is stable; that is, if an element from *this is - //! equivalent to one from x, then the element from *this will precede the one from x. - //! - //! Throws: If comp throws. - //! - //! Complexity: This function is linear time: it performs at most - //! size() + x.size() - 1 comparisons. - //! - //! Note: Iterators and references to *this are not invalidated. - template - void merge(slist& x, StrictWeakOrdering comp) - { - BOOST_ASSERT(this->node_alloc() == x.node_alloc()); - this->icont().merge(x.icont(), - ValueCompareToNodeCompare(comp)); - } - - //! Requires: p must be a comparison function that induces a strict weak - //! ordering and both *this and x must be sorted according to that ordering - //! The lists x and *this must be distinct. - //! - //! Effects: This function removes all of x's elements and inserts them - //! in order into *this. The merge is stable; that is, if an element from *this is - //! equivalent to one from x, then the element from *this will precede the one from x. - //! - //! Throws: If comp throws. - //! - //! Complexity: This function is linear time: it performs at most - //! size() + x.size() - 1 comparisons. - //! - //! Note: Iterators and references to *this are not invalidated. - template - void merge(BOOST_RV_REF(slist) x, StrictWeakOrdering comp) - { this->merge(static_cast(x), comp); } - - //! Effects: This function sorts the list *this according to std::less. - //! The sort is stable, that is, the relative order of equivalent elements is preserved. - //! - //! Throws: If comparison throws. - //! - //! Notes: Iterators and references are not invalidated. - //! - //! Complexity: The number of comparisons is approximately N log N, where N - //! is the list's size. - void sort() - { this->sort(value_less()); } - - //! Effects: This function sorts the list *this according to std::less. - //! The sort is stable, that is, the relative order of equivalent elements is preserved. - //! - //! Throws: If comp throws. - //! - //! Notes: Iterators and references are not invalidated. - //! - //! Complexity: The number of comparisons is approximately N log N, where N - //! is the list's size. - template - void sort(StrictWeakOrdering comp) - { - // nothing if the slist has length 0 or 1. - if (this->size() < 2) - return; - this->icont().sort(ValueCompareToNodeCompare(comp)); - } - - //! Effects: Reverses the order of elements in the list. - //! - //! Throws: Nothing. - //! - //! Complexity: This function is linear time. - //! - //! Note: Iterators and references are not invalidated - void reverse() BOOST_CONTAINER_NOEXCEPT - { this->icont().reverse(); } - - ////////////////////////////////////////////// - // - // list compatibility interface - // - ////////////////////////////////////////////// - - #if defined(BOOST_CONTAINER_PERFECT_FORWARDING) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - //! Effects: Inserts an object of type T constructed with - //! std::forward(args)... before p - //! - //! Throws: If memory allocation throws or - //! T's in-place constructor throws. - //! - //! Complexity: Linear to the elements before p - template - iterator emplace(const_iterator p, Args&&... args) - { return this->emplace_after(this->previous(p), boost::forward(args)...); } - - #else //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING - - #define BOOST_PP_LOCAL_MACRO(n) \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace (const_iterator p \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - return this->emplace_after \ - (this->previous(p) \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); \ - } \ - //! - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() - #endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING - - #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - //! Requires: p must be a valid iterator of *this. - //! - //! Effects: Insert a copy of x before p. - //! - //! Returns: an iterator to the inserted element. - //! - //! Throws: If memory allocation throws or x's copy constructor throws. - //! - //! Complexity: Linear to the elements before p. - iterator insert(const_iterator position, const T &x); - - //! Requires: p must be a valid iterator of *this. - //! - //! Effects: Insert a new element before p with mx's resources. - //! - //! Returns: an iterator to the inserted element. - //! - //! Throws: If memory allocation throws. - //! - //! Complexity: Linear to the elements before p. - iterator insert(const_iterator prev_pos, T &&x); - #else - BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, T, iterator, priv_insert, const_iterator, const_iterator) - #endif - - //! Requires: p must be a valid iterator of *this. - //! - //! Effects: Inserts n copies of x before p. - //! - //! Returns: an iterator to the first inserted element or p if n == 0. - //! - //! Throws: If memory allocation throws or T's copy constructor throws. - //! - //! Complexity: Linear to n plus linear to the elements before p. - iterator insert(const_iterator p, size_type n, const value_type& x) - { - const_iterator prev(this->previous(p)); - this->insert_after(prev, n, x); - return ++iterator(prev.get()); - } - - //! Requires: p must be a valid iterator of *this. - //! - //! Effects: Insert a copy of the [first, last) range before p. - //! - //! Returns: an iterator to the first inserted element or p if first == last. - //! - //! Throws: If memory allocation throws, T's constructor from a - //! dereferenced InpIt throws. - //! - //! Complexity: Linear to std::distance [first, last) plus - //! linear to the elements before p. - template - iterator insert(const_iterator p, InIter first, InIter last) - { - const_iterator prev(this->previous(p)); - this->insert_after(prev, first, last); - return ++iterator(prev.get()); - } - - //! Requires: p must be a valid iterator of *this. - //! - //! Effects: Erases the element at p p. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements before p. - iterator erase(const_iterator p) BOOST_CONTAINER_NOEXCEPT - { return iterator(this->erase_after(previous(p))); } - - //! Requires: first and last must be valid iterator to elements in *this. - //! - //! Effects: Erases the elements pointed by [first, last). - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the distance between first and last plus - //! linear to the elements before first. - iterator erase(const_iterator first, const_iterator last) BOOST_CONTAINER_NOEXCEPT - { return iterator(this->erase_after(previous(first), last)); } - - //! Requires: p must point to an element contained - //! by the list. x != *this. this' allocator and x's allocator shall compare equal - //! - //! Effects: Transfers all the elements of list x to this list, before the - //! the element pointed by p. No destructors or copy constructors are called. - //! - //! Throws: Nothing - //! - //! Complexity: Linear in distance(begin(), p), and linear in x.size(). - //! - //! Note: Iterators of values obtained from list x now point to elements of - //! this list. Iterators of this list and all the references are not invalidated. - void splice(const_iterator p, slist& x) BOOST_CONTAINER_NOEXCEPT - { this->splice_after(this->previous(p), x); } - - //! Requires: p must point to an element contained - //! by the list. x != *this. this' allocator and x's allocator shall compare equal - //! - //! Effects: Transfers all the elements of list x to this list, before the - //! the element pointed by p. No destructors or copy constructors are called. - //! - //! Throws: Nothing - //! - //! Complexity: Linear in distance(begin(), p), and linear in x.size(). - //! - //! Note: Iterators of values obtained from list x now point to elements of - //! this list. Iterators of this list and all the references are not invalidated. - void splice(const_iterator p, BOOST_RV_REF(slist) x) BOOST_CONTAINER_NOEXCEPT - { this->splice(p, static_cast(x)); } - - //! Requires: p must point to an element contained - //! by this list. i must point to an element contained in list x. - //! this' allocator and x's allocator shall compare equal - //! - //! Effects: Transfers the value pointed by i, from list x to this list, - //! before the the element pointed by p. No destructors or copy constructors are called. - //! If p == i or p == ++i, this function is a null operation. - //! - //! Throws: Nothing - //! - //! Complexity: Linear in distance(begin(), p), and in distance(x.begin(), i). - //! - //! Note: Iterators of values obtained from list x now point to elements of this - //! list. Iterators of this list and all the references are not invalidated. - void splice(const_iterator p, slist& x, const_iterator i) BOOST_CONTAINER_NOEXCEPT - { this->splice_after(this->previous(p), x, this->previous(i)); } - - //! Requires: p must point to an element contained - //! by this list. i must point to an element contained in list x. - //! this' allocator and x's allocator shall compare equal. - //! - //! Effects: Transfers the value pointed by i, from list x to this list, - //! before the the element pointed by p. No destructors or copy constructors are called. - //! If p == i or p == ++i, this function is a null operation. - //! - //! Throws: Nothing - //! - //! Complexity: Linear in distance(begin(), p), and in distance(x.begin(), i). - //! - //! Note: Iterators of values obtained from list x now point to elements of this - //! list. Iterators of this list and all the references are not invalidated. - void splice(const_iterator p, BOOST_RV_REF(slist) x, const_iterator i) BOOST_CONTAINER_NOEXCEPT - { this->splice(p, static_cast(x), i); } - - //! Requires: p must point to an element contained - //! by this list. first and last must point to elements contained in list x. - //! - //! Effects: Transfers the range pointed by first and last from list x to this list, - //! before the the element pointed by p. No destructors or copy constructors are called. - //! this' allocator and x's allocator shall compare equal. - //! - //! Throws: Nothing - //! - //! Complexity: Linear in distance(begin(), p), in distance(x.begin(), first), - //! and in distance(first, last). - //! - //! Note: Iterators of values obtained from list x now point to elements of this - //! list. Iterators of this list and all the references are not invalidated. - void splice(const_iterator p, slist& x, const_iterator first, const_iterator last) BOOST_CONTAINER_NOEXCEPT - { this->splice_after(this->previous(p), x, this->previous(first), this->previous(last)); } - - //! Requires: p must point to an element contained - //! by this list. first and last must point to elements contained in list x. - //! this' allocator and x's allocator shall compare equal - //! - //! Effects: Transfers the range pointed by first and last from list x to this list, - //! before the the element pointed by p. No destructors or copy constructors are called. - //! - //! Throws: Nothing - //! - //! Complexity: Linear in distance(begin(), p), in distance(x.begin(), first), - //! and in distance(first, last). - //! - //! Note: Iterators of values obtained from list x now point to elements of this - //! list. Iterators of this list and all the references are not invalidated. - void splice(const_iterator p, BOOST_RV_REF(slist) x, const_iterator first, const_iterator last) BOOST_CONTAINER_NOEXCEPT - { this->splice(p, static_cast(x), first, last); } - - //! Effects: Returns true if x and y are equal - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator==(const slist& x, const slist& y) - { - if(x.size() != y.size()){ - return false; - } - typedef typename slist::const_iterator const_iterator; - const_iterator end1 = x.end(); - - const_iterator i1 = x.begin(); - const_iterator i2 = y.begin(); - while (i1 != end1 && *i1 == *i2){ - ++i1; - ++i2; - } - return i1 == end1; - } - - //! Effects: Returns true if x and y are unequal - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator!=(const slist& x, const slist& y) - { return !(x == y); } - - //! Effects: Returns true if x is less than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator<(const slist& x, const slist& y) - { return std::lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); } - - //! Effects: Returns true if x is greater than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator>(const slist& x, const slist& y) - { return y < x; } - - //! Effects: Returns true if x is equal or less than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator<=(const slist& x, const slist& y) - { return !(y < x); } - - //! Effects: Returns true if x is equal or greater than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator>=(const slist& x, const slist& y) - { return !(x < y); } - - //! Effects: x.swap(y) - //! - //! Complexity: Constant. - friend void swap(slist& x, slist& y) - { x.swap(y); } - - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - private: - - void priv_push_front (const T &x) - { this->insert_after(this->cbefore_begin(), x); } - - void priv_push_front (BOOST_RV_REF(T) x) - { this->insert_after(this->cbefore_begin(), ::boost::move(x)); } - - bool priv_try_shrink(size_type new_size, const_iterator &last_pos) - { - typename Icont::iterator end_n(this->icont().end()), cur(this->icont().before_begin()), cur_next; - while (++(cur_next = cur) != end_n && new_size > 0){ - --new_size; - cur = cur_next; - } - last_pos = const_iterator(cur); - if (cur_next != end_n){ - this->erase_after(last_pos, const_iterator(end_n)); - return true; - } - else{ - return false; - } - } - - template - iterator priv_insert(const_iterator p, BOOST_FWD_REF(U) x) - { return this->insert_after(previous(p), ::boost::forward(x)); } - - template - iterator priv_insert_after(const_iterator prev_pos, BOOST_FWD_REF(U) x) - { return iterator(this->icont().insert_after(prev_pos.get(), *this->create_node(::boost::forward(x)))); } - - class insertion_functor; - friend class insertion_functor; - - class insertion_functor - { - Icont &icont_; - typedef typename Icont::iterator iiterator; - typedef typename Icont::const_iterator iconst_iterator; - const iconst_iterator prev_; - iiterator ret_; - - public: - insertion_functor(Icont &icont, typename Icont::const_iterator prev) - : icont_(icont), prev_(prev), ret_(prev.unconst()) - {} - - void operator()(Node &n) - { - ret_ = this->icont_.insert_after(prev_, n); - } - - iiterator inserted_first() const - { return ret_; } - }; - - //Functors for member algorithm defaults - struct value_less - { - bool operator()(const value_type &a, const value_type &b) const - { return a < b; } - }; - - struct value_equal - { - bool operator()(const value_type &a, const value_type &b) const - { return a == b; } - }; - - struct value_equal_to_this - { - explicit value_equal_to_this(const value_type &ref) - : m_ref(ref){} - - bool operator()(const value_type &val) const - { return m_ref == val; } - - const value_type &m_ref; - }; - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED -}; - -}} - -#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -namespace boost { - -//!has_trivial_destructor_after_move<> == true_type -//!specialization for optimizations -template -struct has_trivial_destructor_after_move > - : public ::boost::has_trivial_destructor_after_move -{}; - -namespace container { - -#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -}} //namespace boost{ namespace container { - -// Specialization of insert_iterator so that insertions will be constant -// time rather than linear time. - -#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -//Ummm, I don't like to define things in namespace std, but -//there is no other way -namespace std { - -template -class insert_iterator > -{ - protected: - typedef boost::container::slist Container; - Container* container; - typename Container::iterator iter; - public: - typedef Container container_type; - typedef output_iterator_tag iterator_category; - typedef void value_type; - typedef void difference_type; - typedef void pointer; - typedef void reference; - - insert_iterator(Container& x, - typename Container::iterator i, - bool is_previous = false) - : container(&x), iter(is_previous ? i : x.previous(i)){ } - - insert_iterator& - operator=(const typename Container::value_type& value) - { - iter = container->insert_after(iter, value); - return *this; - } - insert_iterator& operator*(){ return *this; } - insert_iterator& operator++(){ return *this; } - insert_iterator& operator++(int){ return *this; } -}; - -} //namespace std; - -#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -#include - -#endif // BOOST_CONTAINER_SLIST_HPP diff --git a/bundled/boost-1.56.0/include/boost/container/stable_vector.hpp b/bundled/boost-1.56.0/include/boost/container/stable_vector.hpp deleted file mode 100644 index 5348b935bb..0000000000 --- a/bundled/boost-1.56.0/include/boost/container/stable_vector.hpp +++ /dev/null @@ -1,1885 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2008-2013. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/container for documentation. -// -////////////////////////////////////////////////////////////////////////////// -// Stable vector. -// -// Copyright 2008 Joaquin M Lopez Munoz. -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -////////////////////////////////////////////////////////////////////////////// - -#ifndef BOOST_CONTAINER_STABLE_VECTOR_HPP -#define BOOST_CONTAINER_STABLE_VECTOR_HPP - -#if defined(_MSC_VER) -# pragma once -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include //max - -#include -#include //placement new - -#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -#include - -//#define STABLE_VECTOR_ENABLE_INVARIANT_CHECKING - -#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -namespace boost { -namespace container { - -#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -namespace stable_vector_detail{ - -template -class clear_on_destroy -{ - public: - clear_on_destroy(C &c) - : c_(c), do_clear_(true) - {} - - void release() - { do_clear_ = false; } - - ~clear_on_destroy() - { - if(do_clear_){ - c_.clear(); - c_.priv_clear_pool(); - } - } - - private: - clear_on_destroy(const clear_on_destroy &); - clear_on_destroy &operator=(const clear_on_destroy &); - C &c_; - bool do_clear_; -}; - -template -struct node; - -template -struct node_base -{ - private: - typedef typename boost::intrusive:: - pointer_traits void_ptr_traits; - typedef typename void_ptr_traits:: - template rebind_pointer - ::type node_base_ptr; - typedef typename void_ptr_traits:: - template rebind_pointer - ::type node_base_ptr_ptr; - - public: - node_base(const node_base_ptr_ptr &n) - : up(n) - {} - - node_base() - : up() - {} - - node_base_ptr_ptr up; -}; - -template -struct node - : public node_base - ::template - rebind_pointer::type - > -{ - private: - node(); - - public: - typename ::boost::intrusive::pointer_traits::element_type value; -}; - -template -struct index_traits -{ - typedef boost::intrusive:: - pointer_traits - void_ptr_traits; - typedef stable_vector_detail:: - node_base node_base_type; - typedef typename void_ptr_traits::template - rebind_pointer::type node_base_ptr; - typedef typename void_ptr_traits::template - rebind_pointer::type node_base_ptr_ptr; - typedef boost::intrusive:: - pointer_traits node_base_ptr_traits; - typedef boost::intrusive:: - pointer_traits node_base_ptr_ptr_traits; - typedef typename allocator_traits:: - template portable_rebind_alloc - ::type node_base_ptr_allocator; - typedef ::boost::container::vector - index_type; - typedef typename index_type::iterator index_iterator; - typedef typename index_type::const_iterator const_index_iterator; - typedef typename index_type::size_type size_type; - - static const size_type ExtraPointers = 3; - //Stable vector stores metadata at the end of the index (node_base_ptr vector) with additional 3 pointers: - // back() is this->index.back() - ExtraPointers; - // end node index is *(this->index.end() - 3) - // Node cache first is *(this->index.end() - 2); - // Node cache last is this->index.back(); - - static node_base_ptr_ptr ptr_to_node_base_ptr(node_base_ptr &n) - { return node_base_ptr_ptr_traits::pointer_to(n); } - - static void fix_up_pointers(index_iterator first, index_iterator last) - { - while(first != last){ - typedef typename index_type::reference node_base_ptr_ref; - node_base_ptr_ref nbp = *first; - nbp->up = index_traits::ptr_to_node_base_ptr(nbp); - ++first; - } - } - - static index_iterator get_fix_up_end(index_type &index) - { return index.end() - (ExtraPointers - 1); } - - static void fix_up_pointers_from(index_type & index, index_iterator first) - { index_traits::fix_up_pointers(first, index_traits::get_fix_up_end(index)); } - - static void readjust_end_node(index_type &index, node_base_type &end_node) - { - if(!index.empty()){ - index_iterator end_node_it(index_traits::get_fix_up_end(index)); - node_base_ptr &end_node_idx_ref = *(--end_node_it); - end_node_idx_ref = node_base_ptr_traits::pointer_to(end_node); - end_node.up = node_base_ptr_ptr_traits::pointer_to(end_node_idx_ref); - } - else{ - end_node.up = node_base_ptr_ptr(); - } - } - - static void initialize_end_node(index_type &index, node_base_type &end_node, const size_type index_capacity_if_empty) - { - if(index.empty()){ - index.reserve(index_capacity_if_empty + ExtraPointers); - index.resize(ExtraPointers); - node_base_ptr &end_node_ref = *index.data(); - end_node_ref = node_base_ptr_traits::pointer_to(end_node); - end_node.up = index_traits::ptr_to_node_base_ptr(end_node_ref); - } - } - - #ifdef STABLE_VECTOR_ENABLE_INVARIANT_CHECKING - static bool invariants(index_type &index) - { - for( index_iterator it = index.begin() - , it_end = index_traits::get_fix_up_end(index) - ; it != it_end - ; ++it){ - if((*it)->up != index_traits::ptr_to_node_base_ptr(*it)){ - return false; - } - } - return true; - } - #endif //STABLE_VECTOR_ENABLE_INVARIANT_CHECKING -}; - -} //namespace stable_vector_detail - -template -class stable_vector_iterator -{ - typedef boost::intrusive::pointer_traits non_const_ptr_traits; - public: - typedef std::random_access_iterator_tag iterator_category; - typedef typename non_const_ptr_traits::element_type value_type; - typedef typename non_const_ptr_traits::difference_type difference_type; - typedef typename ::boost::container::container_detail::if_c - < IsConst - , typename non_const_ptr_traits::template - rebind_pointer::type - , Pointer - >::type pointer; - typedef boost::intrusive::pointer_traits ptr_traits; - typedef typename ptr_traits::reference reference; - - private: - typedef typename non_const_ptr_traits::template - rebind_pointer::type void_ptr; - typedef stable_vector_detail::node node_type; - typedef stable_vector_detail::node_base node_base_type; - typedef typename non_const_ptr_traits::template - rebind_pointer::type node_ptr; - typedef boost::intrusive:: - pointer_traits node_ptr_traits; - typedef typename non_const_ptr_traits::template - rebind_pointer::type node_base_ptr; - typedef typename non_const_ptr_traits::template - rebind_pointer::type node_base_ptr_ptr; - - node_base_ptr m_pn; - - public: - - explicit stable_vector_iterator(node_base_ptr p) BOOST_CONTAINER_NOEXCEPT - : m_pn(p) - {} - - stable_vector_iterator() BOOST_CONTAINER_NOEXCEPT - {} - - stable_vector_iterator(stable_vector_iterator const& other) BOOST_CONTAINER_NOEXCEPT - : m_pn(other.node_pointer()) - {} - - node_ptr node_pointer() const BOOST_CONTAINER_NOEXCEPT - { return node_ptr_traits::static_cast_from(m_pn); } - - public: - //Pointer like operators - reference operator*() const BOOST_CONTAINER_NOEXCEPT - { return node_pointer()->value; } - - pointer operator->() const BOOST_CONTAINER_NOEXCEPT - { return ptr_traits::pointer_to(this->operator*()); } - - //Increment / Decrement - stable_vector_iterator& operator++() BOOST_CONTAINER_NOEXCEPT - { - node_base_ptr_ptr p(this->m_pn->up); - this->m_pn = *(++p); - return *this; - } - - stable_vector_iterator operator++(int) BOOST_CONTAINER_NOEXCEPT - { stable_vector_iterator tmp(*this); ++*this; return stable_vector_iterator(tmp); } - - stable_vector_iterator& operator--() BOOST_CONTAINER_NOEXCEPT - { - node_base_ptr_ptr p(this->m_pn->up); - this->m_pn = *(--p); - return *this; - } - - stable_vector_iterator operator--(int) BOOST_CONTAINER_NOEXCEPT - { stable_vector_iterator tmp(*this); --*this; return stable_vector_iterator(tmp); } - - reference operator[](difference_type off) const BOOST_CONTAINER_NOEXCEPT - { return node_ptr_traits::static_cast_from(this->m_pn->up[off])->value; } - - stable_vector_iterator& operator+=(difference_type off) BOOST_CONTAINER_NOEXCEPT - { - if(off) this->m_pn = this->m_pn->up[off]; - return *this; - } - - friend stable_vector_iterator operator+(const stable_vector_iterator &left, difference_type off) BOOST_CONTAINER_NOEXCEPT - { - stable_vector_iterator tmp(left); - tmp += off; - return tmp; - } - - friend stable_vector_iterator operator+(difference_type off, const stable_vector_iterator& right) BOOST_CONTAINER_NOEXCEPT - { - stable_vector_iterator tmp(right); - tmp += off; - return tmp; - } - - stable_vector_iterator& operator-=(difference_type off) BOOST_CONTAINER_NOEXCEPT - { *this += -off; return *this; } - - friend stable_vector_iterator operator-(const stable_vector_iterator &left, difference_type off) BOOST_CONTAINER_NOEXCEPT - { - stable_vector_iterator tmp(left); - tmp -= off; - return tmp; - } - - friend difference_type operator-(const stable_vector_iterator& left, const stable_vector_iterator& right) BOOST_CONTAINER_NOEXCEPT - { return left.m_pn->up - right.m_pn->up; } - - //Comparison operators - friend bool operator== (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_CONTAINER_NOEXCEPT - { return l.m_pn == r.m_pn; } - - friend bool operator!= (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_CONTAINER_NOEXCEPT - { return l.m_pn != r.m_pn; } - - friend bool operator< (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_CONTAINER_NOEXCEPT - { return l.m_pn->up < r.m_pn->up; } - - friend bool operator<= (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_CONTAINER_NOEXCEPT - { return l.m_pn->up <= r.m_pn->up; } - - friend bool operator> (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_CONTAINER_NOEXCEPT - { return l.m_pn->up > r.m_pn->up; } - - friend bool operator>= (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_CONTAINER_NOEXCEPT - { return l.m_pn->up >= r.m_pn->up; } -}; - - #if defined(STABLE_VECTOR_ENABLE_INVARIANT_CHECKING) - - #define STABLE_VECTOR_CHECK_INVARIANT \ - invariant_checker BOOST_JOIN(check_invariant_,__LINE__)(*this); \ - BOOST_JOIN(check_invariant_,__LINE__).touch(); - - #else //STABLE_VECTOR_ENABLE_INVARIANT_CHECKING - - #define STABLE_VECTOR_CHECK_INVARIANT - - #endif //#if defined(STABLE_VECTOR_ENABLE_INVARIANT_CHECKING) - -#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -//! Originally developed by Joaquin M. Lopez Munoz, stable_vector is a std::vector -//! drop-in replacement implemented as a node container, offering iterator and reference -//! stability. -//! -//! Here are the details taken from the author's blog -//! ( -//! Introducing stable_vector): -//! -//! We present stable_vector, a fully STL-compliant stable container that provides -//! most of the features of std::vector except element contiguity. -//! -//! General properties: stable_vector satisfies all the requirements of a container, -//! a reversible container and a sequence and provides all the optional operations -//! present in std::vector. Like std::vector, iterators are random access. -//! stable_vector does not provide element contiguity; in exchange for this absence, -//! the container is stable, i.e. references and iterators to an element of a stable_vector -//! remain valid as long as the element is not erased, and an iterator that has been -//! assigned the return value of end() always remain valid until the destruction of -//! the associated stable_vector. -//! -//! Operation complexity: The big-O complexities of stable_vector operations match -//! exactly those of std::vector. In general, insertion/deletion is constant time at -//! the end of the sequence and linear elsewhere. Unlike std::vector, stable_vector -//! does not internally perform any value_type destruction, copy or assignment -//! operations other than those exactly corresponding to the insertion of new -//! elements or deletion of stored elements, which can sometimes compensate in terms -//! of performance for the extra burden of doing more pointer manipulation and an -//! additional allocation per element. -//! -//! Exception safety: As stable_vector does not internally copy elements around, some -//! operations provide stronger exception safety guarantees than in std::vector. -//! -//! \tparam T The type of object that is stored in the stable_vector -//! \tparam Allocator The allocator used for all internal memory management -#ifdef BOOST_CONTAINER_DOXYGEN_INVOKED -template > -#else -template -#endif -class stable_vector -{ - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - typedef allocator_traits allocator_traits_type; - typedef boost::intrusive:: - pointer_traits - ptr_traits; - typedef typename ptr_traits:: - template rebind_pointer::type void_ptr; - typedef typename allocator_traits_type:: - template portable_rebind_alloc - ::type void_allocator_type; - typedef stable_vector_detail::index_traits - index_traits_type; - typedef typename index_traits_type::node_base_type node_base_type; - typedef typename index_traits_type::node_base_ptr node_base_ptr; - typedef typename index_traits_type:: - node_base_ptr_ptr node_base_ptr_ptr; - typedef typename index_traits_type:: - node_base_ptr_traits node_base_ptr_traits; - typedef typename index_traits_type:: - node_base_ptr_ptr_traits node_base_ptr_ptr_traits; - typedef typename index_traits_type::index_type index_type; - typedef typename index_traits_type::index_iterator index_iterator; - typedef typename index_traits_type:: - const_index_iterator const_index_iterator; - typedef stable_vector_detail::node - node_type; - typedef typename ptr_traits::template - rebind_pointer::type node_ptr; - typedef boost::intrusive:: - pointer_traits node_ptr_traits; - typedef typename ptr_traits::template - rebind_pointer::type const_node_ptr; - typedef boost::intrusive:: - pointer_traits const_node_ptr_traits; - typedef typename node_ptr_traits::reference node_reference; - typedef typename const_node_ptr_traits::reference const_node_reference; - - typedef ::boost::container::container_detail:: - integral_constant allocator_v1; - typedef ::boost::container::container_detail:: - integral_constant allocator_v2; - typedef ::boost::container::container_detail::integral_constant - ::value> alloc_version; - typedef typename allocator_traits_type:: - template portable_rebind_alloc - ::type node_allocator_type; - - typedef ::boost::container::container_detail:: - allocator_version_traits allocator_version_traits_t; - typedef typename allocator_version_traits_t::multiallocation_chain multiallocation_chain; - - node_ptr allocate_one() - { return allocator_version_traits_t::allocate_one(this->priv_node_alloc()); } - - void deallocate_one(const node_ptr &p) - { allocator_version_traits_t::deallocate_one(this->priv_node_alloc(), p); } - - void allocate_individual(typename allocator_traits_type::size_type n, multiallocation_chain &m) - { allocator_version_traits_t::allocate_individual(this->priv_node_alloc(), n, m); } - - void deallocate_individual(multiallocation_chain &holder) - { allocator_version_traits_t::deallocate_individual(this->priv_node_alloc(), holder); } - - friend class stable_vector_detail::clear_on_destroy; - typedef stable_vector_iterator - < typename allocator_traits::pointer - , false> iterator_impl; - typedef stable_vector_iterator - < typename allocator_traits::pointer - , false> const_iterator_impl; - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - public: - - ////////////////////////////////////////////// - // - // types - // - ////////////////////////////////////////////// - typedef T value_type; - typedef typename ::boost::container::allocator_traits::pointer pointer; - typedef typename ::boost::container::allocator_traits::const_pointer const_pointer; - typedef typename ::boost::container::allocator_traits::reference reference; - typedef typename ::boost::container::allocator_traits::const_reference const_reference; - typedef typename ::boost::container::allocator_traits::size_type size_type; - typedef typename ::boost::container::allocator_traits::difference_type difference_type; - typedef Allocator allocator_type; - typedef node_allocator_type stored_allocator_type; - typedef BOOST_CONTAINER_IMPDEF(iterator_impl) iterator; - typedef BOOST_CONTAINER_IMPDEF(const_iterator_impl) const_iterator; - typedef BOOST_CONTAINER_IMPDEF(std::reverse_iterator) reverse_iterator; - typedef BOOST_CONTAINER_IMPDEF(std::reverse_iterator) const_reverse_iterator; - - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - private: - BOOST_COPYABLE_AND_MOVABLE(stable_vector) - static const size_type ExtraPointers = index_traits_type::ExtraPointers; - - class insert_rollback; - friend class insert_rollback; - - class push_back_rollback; - friend class push_back_rollback; - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - - public: - ////////////////////////////////////////////// - // - // construct/copy/destroy - // - ////////////////////////////////////////////// - - //! Effects: Default constructs a stable_vector. - //! - //! Throws: If allocator_type's default constructor throws. - //! - //! Complexity: Constant. - stable_vector() - : internal_data(), index() - { - STABLE_VECTOR_CHECK_INVARIANT; - } - - //! Effects: Constructs a stable_vector taking the allocator as parameter. - //! - //! Throws: Nothing - //! - //! Complexity: Constant. - explicit stable_vector(const allocator_type& al) BOOST_CONTAINER_NOEXCEPT - : internal_data(al), index(al) - { - STABLE_VECTOR_CHECK_INVARIANT; - } - - //! Effects: Constructs a stable_vector that will use a copy of allocator a - //! and inserts n value initialized values. - //! - //! Throws: If allocator_type's default constructor - //! throws or T's default or copy constructor throws. - //! - //! Complexity: Linear to n. - explicit stable_vector(size_type n) - : internal_data(), index() - { - stable_vector_detail::clear_on_destroy cod(*this); - this->resize(n); - STABLE_VECTOR_CHECK_INVARIANT; - cod.release(); - } - - //! Effects: Constructs a stable_vector that will use a copy of allocator a - //! and inserts n default initialized values. - //! - //! Throws: If allocator_type's default constructor - //! throws or T's default or copy constructor throws. - //! - //! Complexity: Linear to n. - //! - //! Note: Non-standard extension - stable_vector(size_type n, default_init_t) - : internal_data(), index() - { - stable_vector_detail::clear_on_destroy cod(*this); - this->resize(n, default_init); - STABLE_VECTOR_CHECK_INVARIANT; - cod.release(); - } - - //! Effects: Constructs a stable_vector that will use a copy of allocator a - //! and inserts n copies of value. - //! - //! Throws: If allocator_type's default constructor - //! throws or T's default or copy constructor throws. - //! - //! Complexity: Linear to n. - stable_vector(size_type n, const T& t, const allocator_type& al = allocator_type()) - : internal_data(al), index(al) - { - stable_vector_detail::clear_on_destroy cod(*this); - this->insert(this->cend(), n, t); - STABLE_VECTOR_CHECK_INVARIANT; - cod.release(); - } - - //! Effects: Constructs a stable_vector that will use a copy of allocator a - //! and inserts a copy of the range [first, last) in the stable_vector. - //! - //! Throws: If allocator_type's default constructor - //! throws or T's constructor taking a dereferenced InIt throws. - //! - //! Complexity: Linear to the range [first, last). - template - stable_vector(InputIterator first,InputIterator last, const allocator_type& al = allocator_type()) - : internal_data(al), index(al) - { - stable_vector_detail::clear_on_destroy cod(*this); - this->insert(this->cend(), first, last); - STABLE_VECTOR_CHECK_INVARIANT; - cod.release(); - } - - //! Effects: Copy constructs a stable_vector. - //! - //! Postcondition: x == *this. - //! - //! Complexity: Linear to the elements x contains. - stable_vector(const stable_vector& x) - : internal_data(allocator_traits:: - select_on_container_copy_construction(x.priv_node_alloc())) - , index(allocator_traits:: - select_on_container_copy_construction(x.index.get_stored_allocator())) - { - stable_vector_detail::clear_on_destroy cod(*this); - this->insert(this->cend(), x.begin(), x.end()); - STABLE_VECTOR_CHECK_INVARIANT; - cod.release(); - } - - //! Effects: Move constructor. Moves mx's resources to *this. - //! - //! Throws: If allocator_type's copy constructor throws. - //! - //! Complexity: Constant. - stable_vector(BOOST_RV_REF(stable_vector) x) - : internal_data(boost::move(x.priv_node_alloc())), index(boost::move(x.index)) - { - this->priv_swap_members(x); - } - - //! Effects: Copy constructs a stable_vector using the specified allocator. - //! - //! Postcondition: x == *this. - //! - //! Complexity: Linear to the elements x contains. - stable_vector(const stable_vector& x, const allocator_type &a) - : internal_data(a), index(a) - { - stable_vector_detail::clear_on_destroy cod(*this); - this->insert(this->cend(), x.begin(), x.end()); - STABLE_VECTOR_CHECK_INVARIANT; - cod.release(); - } - - //! Effects: Move constructor using the specified allocator. - //! Moves mx's resources to *this. - //! - //! Throws: If allocator_type's copy constructor throws. - //! - //! Complexity: Constant if a == x.get_allocator(), linear otherwise - stable_vector(BOOST_RV_REF(stable_vector) x, const allocator_type &a) - : internal_data(a), index(a) - { - if(this->priv_node_alloc() == x.priv_node_alloc()){ - this->priv_swap_members(x); - } - else{ - stable_vector_detail::clear_on_destroy cod(*this); - this->insert(this->cend(), x.begin(), x.end()); - STABLE_VECTOR_CHECK_INVARIANT; - cod.release(); - } - } - - //! Effects: Destroys the stable_vector. All stored values are destroyed - //! and used memory is deallocated. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements. - ~stable_vector() - { - this->clear(); - this->priv_clear_pool(); - } - - //! Effects: Makes *this contain the same elements as x. - //! - //! Postcondition: this->size() == x.size(). *this contains a copy - //! of each of x's elements. - //! - //! Throws: If memory allocation throws or T's copy constructor throws. - //! - //! Complexity: Linear to the number of elements in x. - stable_vector& operator=(BOOST_COPY_ASSIGN_REF(stable_vector) x) - { - STABLE_VECTOR_CHECK_INVARIANT; - if (&x != this){ - node_allocator_type &this_alloc = this->priv_node_alloc(); - const node_allocator_type &x_alloc = x.priv_node_alloc(); - container_detail::bool_ flag; - if(flag && this_alloc != x_alloc){ - this->clear(); - this->shrink_to_fit(); - } - container_detail::assign_alloc(this->priv_node_alloc(), x.priv_node_alloc(), flag); - container_detail::assign_alloc(this->index.get_stored_allocator(), x.index.get_stored_allocator(), flag); - this->assign(x.begin(), x.end()); - } - return *this; - } - - //! Effects: Move assignment. All mx's values are transferred to *this. - //! - //! Postcondition: x.empty(). *this contains a the elements x had - //! before the function. - //! - //! Throws: If allocator_traits_type::propagate_on_container_move_assignment - //! is false and (allocation throws or T's move constructor throws) - //! - //! Complexity: Constant if allocator_traits_type:: - //! propagate_on_container_move_assignment is true or - //! this->get>allocator() == x.get_allocator(). Linear otherwise. - stable_vector& operator=(BOOST_RV_REF(stable_vector) x) - BOOST_CONTAINER_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value) - { - //for move constructor, no aliasing (&x != this) is assummed. - BOOST_ASSERT(this != &x); - node_allocator_type &this_alloc = this->priv_node_alloc(); - node_allocator_type &x_alloc = x.priv_node_alloc(); - const bool propagate_alloc = allocator_traits_type:: - propagate_on_container_move_assignment::value; - container_detail::bool_ flag; - const bool allocators_equal = this_alloc == x_alloc; (void)allocators_equal; - //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 - container_detail::move_alloc(this_alloc, x_alloc, flag); - //Take resources - this->index = boost::move(x.index); - this->priv_swap_members(x); - } - //Else do a one by one move - else{ - this->assign( boost::make_move_iterator(x.begin()) - , boost::make_move_iterator(x.end())); - } - return *this; - } - - //! Effects: Assigns the n copies of val to *this. - //! - //! Throws: If memory allocation throws or T's copy constructor throws. - //! - //! Complexity: Linear to n. - void assign(size_type n, const T& t) - { - typedef constant_iterator cvalue_iterator; - this->assign(cvalue_iterator(t, n), cvalue_iterator()); - } - - //! Effects: Assigns the the range [first, last) to *this. - //! - //! Throws: If memory allocation throws or - //! T's constructor from dereferencing InpIt throws. - //! - //! Complexity: Linear to n. - template - void assign(InputIterator first,InputIterator last - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value - >::type * = 0 - #endif - ) - { - STABLE_VECTOR_CHECK_INVARIANT; - iterator first1 = this->begin(); - iterator last1 = this->end(); - for ( ; first1 != last1 && first != last; ++first1, ++first) - *first1 = *first; - if (first == last){ - this->erase(first1, last1); - } - else{ - this->insert(last1, first, last); - } - } - - //! Effects: Returns a copy of the internal allocator. - //! - //! Throws: If allocator's copy constructor throws. - //! - //! Complexity: Constant. - allocator_type get_allocator() const - { return this->priv_node_alloc(); } - - //! Effects: Returns a reference to the internal allocator. - //! - //! Throws: Nothing - //! - //! Complexity: Constant. - //! - //! Note: Non-standard extension. - const stored_allocator_type &get_stored_allocator() const BOOST_CONTAINER_NOEXCEPT - { return this->priv_node_alloc(); } - - //! Effects: Returns a reference to the internal allocator. - //! - //! Throws: Nothing - //! - //! Complexity: Constant. - //! - //! Note: Non-standard extension. - stored_allocator_type &get_stored_allocator() BOOST_CONTAINER_NOEXCEPT - { return this->priv_node_alloc(); } - - ////////////////////////////////////////////// - // - // iterators - // - ////////////////////////////////////////////// - - //! Effects: Returns an iterator to the first element contained in the stable_vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - iterator begin() BOOST_CONTAINER_NOEXCEPT - { return (this->index.empty()) ? this->end(): iterator(node_ptr_traits::static_cast_from(this->index.front())); } - - //! Effects: Returns a const_iterator to the first element contained in the stable_vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator begin() const BOOST_CONTAINER_NOEXCEPT - { return (this->index.empty()) ? this->cend() : const_iterator(node_ptr_traits::static_cast_from(this->index.front())) ; } - - //! Effects: Returns an iterator to the end of the stable_vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - iterator end() BOOST_CONTAINER_NOEXCEPT - { return iterator(this->priv_get_end_node()); } - - //! Effects: Returns a const_iterator to the end of the stable_vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator end() const BOOST_CONTAINER_NOEXCEPT - { return const_iterator(this->priv_get_end_node()); } - - //! Effects: Returns a reverse_iterator pointing to the beginning - //! of the reversed stable_vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - reverse_iterator rbegin() BOOST_CONTAINER_NOEXCEPT - { return reverse_iterator(this->end()); } - - //! Effects: Returns a const_reverse_iterator pointing to the beginning - //! of the reversed stable_vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator rbegin() const BOOST_CONTAINER_NOEXCEPT - { return const_reverse_iterator(this->end()); } - - //! Effects: Returns a reverse_iterator pointing to the end - //! of the reversed stable_vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - reverse_iterator rend() BOOST_CONTAINER_NOEXCEPT - { return reverse_iterator(this->begin()); } - - //! Effects: Returns a const_reverse_iterator pointing to the end - //! of the reversed stable_vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator rend() const BOOST_CONTAINER_NOEXCEPT - { return const_reverse_iterator(this->begin()); } - - //! Effects: Returns a const_iterator to the first element contained in the stable_vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator cbegin() const BOOST_CONTAINER_NOEXCEPT - { return this->begin(); } - - //! Effects: Returns a const_iterator to the end of the stable_vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator cend() const BOOST_CONTAINER_NOEXCEPT - { return this->end(); } - - //! Effects: Returns a const_reverse_iterator pointing to the beginning - //! of the reversed stable_vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator crbegin() const BOOST_CONTAINER_NOEXCEPT - { return this->rbegin(); } - - //! Effects: Returns a const_reverse_iterator pointing to the end - //! of the reversed stable_vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator crend()const BOOST_CONTAINER_NOEXCEPT - { return this->rend(); } - - ////////////////////////////////////////////// - // - // capacity - // - ////////////////////////////////////////////// - - //! Effects: Returns true if the stable_vector contains no elements. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - bool empty() const BOOST_CONTAINER_NOEXCEPT - { return this->index.size() <= ExtraPointers; } - - //! Effects: Returns the number of the elements contained in the stable_vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - size_type size() const BOOST_CONTAINER_NOEXCEPT - { - const size_type index_size = this->index.size(); - return (index_size - ExtraPointers) & (std::size_t(0u) -std::size_t(index_size != 0)); - } - - //! Effects: Returns the largest possible size of the stable_vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - size_type max_size() const BOOST_CONTAINER_NOEXCEPT - { return this->index.max_size() - ExtraPointers; } - - //! Effects: Inserts or erases elements at the end such that - //! the size becomes n. New elements are value initialized. - //! - //! Throws: If memory allocation throws, or T's value initialization throws. - //! - //! Complexity: Linear to the difference between size() and new_size. - void resize(size_type n) - { - typedef value_init_construct_iterator value_init_iterator; - STABLE_VECTOR_CHECK_INVARIANT; - if(n > this->size()) - this->insert(this->cend(), value_init_iterator(n - this->size()), value_init_iterator()); - else if(n < this->size()) - this->erase(this->cbegin() + n, this->cend()); - } - - //! Effects: Inserts or erases elements at the end such that - //! the size becomes n. New elements are default initialized. - //! - //! Throws: If memory allocation throws, or T's default initialization throws. - //! - //! Complexity: Linear to the difference between size() and new_size. - //! - //! Note: Non-standard extension - void resize(size_type n, default_init_t) - { - typedef default_init_construct_iterator default_init_iterator; - STABLE_VECTOR_CHECK_INVARIANT; - if(n > this->size()) - this->insert(this->cend(), default_init_iterator(n - this->size()), default_init_iterator()); - else if(n < this->size()) - this->erase(this->cbegin() + n, this->cend()); - } - - //! Effects: Inserts or erases elements at the end such that - //! the size becomes n. New elements are copy constructed from x. - //! - //! Throws: If memory allocation throws, or T's copy constructor throws. - //! - //! Complexity: Linear to the difference between size() and new_size. - void resize(size_type n, const T& t) - { - STABLE_VECTOR_CHECK_INVARIANT; - if(n > this->size()) - this->insert(this->cend(), n - this->size(), t); - else if(n < this->size()) - this->erase(this->cbegin() + n, this->cend()); - } - - //! Effects: Number of elements for which memory has been allocated. - //! capacity() is always greater than or equal to size(). - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - size_type capacity() const BOOST_CONTAINER_NOEXCEPT - { - const size_type index_size = this->index.size(); - BOOST_ASSERT(!index_size || index_size >= ExtraPointers); - const size_type bucket_extra_capacity = this->index.capacity()- index_size; - const size_type node_extra_capacity = this->internal_data.pool_size; - const size_type extra_capacity = (bucket_extra_capacity < node_extra_capacity) - ? bucket_extra_capacity : node_extra_capacity; - const size_type index_offset = - (ExtraPointers + extra_capacity) & (size_type(0u) - size_type(index_size != 0)); - return index_size - index_offset; - } - - //! Effects: If n is less than or equal to capacity(), this call has no - //! 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. - //! - //! Throws: If memory allocation allocation throws. - void reserve(size_type n) - { - STABLE_VECTOR_CHECK_INVARIANT; - if(n > this->max_size()){ - throw_length_error("stable_vector::reserve max_size() exceeded"); - } - - size_type sz = this->size(); - size_type old_capacity = this->capacity(); - if(n > old_capacity){ - index_traits_type::initialize_end_node(this->index, this->internal_data.end_node, n); - const void * old_ptr = &index[0]; - this->index.reserve(n + ExtraPointers); - bool realloced = &index[0] != old_ptr; - //Fix the pointers for the newly allocated buffer - if(realloced){ - index_traits_type::fix_up_pointers_from(this->index, this->index.begin()); - } - //Now fill pool if data is not enough - if((n - sz) > this->internal_data.pool_size){ - this->priv_increase_pool((n - sz) - this->internal_data.pool_size); - } - } - } - - //! Effects: Tries to deallocate the excess of memory created - //! with previous allocations. The size of the stable_vector is unchanged - //! - //! Throws: If memory allocation throws. - //! - //! Complexity: Linear to size(). - void shrink_to_fit() - { - if(this->capacity()){ - //First empty allocated node pool - this->priv_clear_pool(); - //If empty completely destroy the index, let's recover default-constructed state - if(this->empty()){ - this->index.clear(); - this->index.shrink_to_fit(); - this->internal_data.end_node.up = node_base_ptr_ptr(); - } - //Otherwise, try to shrink-to-fit the index and readjust pointers if necessary - else{ - const void* old_ptr = &index[0]; - this->index.shrink_to_fit(); - bool realloced = &index[0] != old_ptr; - //Fix the pointers for the newly allocated buffer - if(realloced){ - index_traits_type::fix_up_pointers_from(this->index, this->index.begin()); - } - } - } - } - - ////////////////////////////////////////////// - // - // element access - // - ////////////////////////////////////////////// - - //! Requires: !empty() - //! - //! Effects: Returns a reference to the first - //! element of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - reference front() BOOST_CONTAINER_NOEXCEPT - { return static_cast(*this->index.front()).value; } - - //! Requires: !empty() - //! - //! Effects: Returns a const reference to the first - //! element of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reference front() const BOOST_CONTAINER_NOEXCEPT - { return static_cast(*this->index.front()).value; } - - //! Requires: !empty() - //! - //! Effects: Returns a reference to the last - //! element of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - reference back() BOOST_CONTAINER_NOEXCEPT - { return static_cast(*this->index[this->size()-1u]).value; } - - //! Requires: !empty() - //! - //! Effects: Returns a const reference to the last - //! element of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reference back() const BOOST_CONTAINER_NOEXCEPT - { return static_cast(*this->index[this->size()-1u]).value; } - - //! Requires: size() > n. - //! - //! Effects: Returns a reference to the nth element - //! from the beginning of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - reference operator[](size_type n) BOOST_CONTAINER_NOEXCEPT - { - BOOST_ASSERT(n < this->size()); - return static_cast(*this->index[n]).value; - } - - //! Requires: size() > n. - //! - //! Effects: Returns a const reference to the nth element - //! from the beginning of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reference operator[](size_type n) const BOOST_CONTAINER_NOEXCEPT - { - BOOST_ASSERT(n < this->size()); - return static_cast(*this->index[n]).value; - } - - //! Requires: size() > n. - //! - //! Effects: Returns a reference to the nth element - //! from the beginning of the container. - //! - //! Throws: std::range_error if n >= size() - //! - //! Complexity: Constant. - reference at(size_type n) - { - if(n >= this->size()){ - throw_out_of_range("vector::at invalid subscript"); - } - return operator[](n); - } - - //! Requires: size() > n. - //! - //! Effects: Returns a const reference to the nth element - //! from the beginning of the container. - //! - //! Throws: std::range_error if n >= size() - //! - //! Complexity: Constant. - const_reference at(size_type n)const - { - if(n >= this->size()){ - throw_out_of_range("vector::at invalid subscript"); - } - return operator[](n); - } - - ////////////////////////////////////////////// - // - // modifiers - // - ////////////////////////////////////////////// - - #if defined(BOOST_CONTAINER_PERFECT_FORWARDING) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - //! Effects: Inserts an object of type T constructed with - //! std::forward(args)... in the end of the stable_vector. - //! - //! Throws: If memory allocation throws or the in-place constructor throws. - //! - //! Complexity: Amortized constant time. - template - void emplace_back(Args &&...args) - { - typedef emplace_functor EmplaceFunctor; - typedef emplace_iterator EmplaceIterator; - EmplaceFunctor &&ef = EmplaceFunctor(boost::forward(args)...); - this->insert(this->cend(), EmplaceIterator(ef), EmplaceIterator()); - } - - //! Requires: position must be a valid iterator of *this. - //! - //! Effects: Inserts an object of type T constructed with - //! std::forward(args)... before position - //! - //! Throws: If memory allocation throws or the in-place constructor throws. - //! - //! Complexity: If position is end(), amortized constant time - //! Linear time otherwise. - template - iterator emplace(const_iterator position, Args && ...args) - { - //Just call more general insert(pos, size, value) and return iterator - size_type pos_n = position - cbegin(); - typedef emplace_functor EmplaceFunctor; - typedef emplace_iterator EmplaceIterator; - EmplaceFunctor &&ef = EmplaceFunctor(boost::forward(args)...); - this->insert(position, EmplaceIterator(ef), EmplaceIterator()); - return iterator(this->begin() + pos_n); - } - - #else - - #define BOOST_PP_LOCAL_MACRO(n) \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - void emplace_back(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - typedef BOOST_PP_CAT(BOOST_PP_CAT(emplace_functor, n), arg) \ - BOOST_PP_EXPR_IF(n, <) BOOST_PP_ENUM_PARAMS(n, P) BOOST_PP_EXPR_IF(n, >) \ - EmplaceFunctor; \ - typedef emplace_iterator EmplaceIterator; \ - EmplaceFunctor ef BOOST_PP_LPAREN_IF(n) \ - BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _) \ - BOOST_PP_RPAREN_IF(n); \ - this->insert(this->cend() , EmplaceIterator(ef), EmplaceIterator()); \ - } \ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace(const_iterator pos \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - typedef BOOST_PP_CAT(BOOST_PP_CAT(emplace_functor, n), arg) \ - BOOST_PP_EXPR_IF(n, <) BOOST_PP_ENUM_PARAMS(n, P) BOOST_PP_EXPR_IF(n, >) \ - EmplaceFunctor; \ - typedef emplace_iterator EmplaceIterator; \ - EmplaceFunctor ef BOOST_PP_LPAREN_IF(n) \ - BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _) \ - BOOST_PP_RPAREN_IF(n); \ - size_type pos_n = pos - this->cbegin(); \ - this->insert(pos, EmplaceIterator(ef), EmplaceIterator()); \ - return iterator(this->begin() + pos_n); \ - } \ - //! - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() - - #endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING - - #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - //! Effects: Inserts a copy of x at the end of the stable_vector. - //! - //! Throws: If memory allocation throws or - //! T's copy constructor throws. - //! - //! Complexity: Amortized constant time. - void push_back(const T &x); - - //! Effects: Constructs a new element in the end of the stable_vector - //! and moves the resources of mx to this new element. - //! - //! Throws: If memory allocation throws. - //! - //! Complexity: Amortized constant time. - void push_back(T &&x); - #else - BOOST_MOVE_CONVERSION_AWARE_CATCH(push_back, T, void, priv_push_back) - #endif - - #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - //! Requires: position must be a valid iterator of *this. - //! - //! Effects: Insert a copy of x before position. - //! - //! Returns: An iterator to the inserted element. - //! - //! Throws: If memory allocation throws or x's copy constructor throws. - //! - //! Complexity: If position is end(), amortized constant time - //! Linear time otherwise. - iterator insert(const_iterator position, const T &x); - - //! Requires: position must be a valid iterator of *this. - //! - //! Effects: Insert a new element before position with mx's resources. - //! - //! Returns: an iterator to the inserted element. - //! - //! Throws: If memory allocation throws. - //! - //! Complexity: If position is end(), amortized constant time - //! Linear time otherwise. - iterator insert(const_iterator position, T &&x); - #else - BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, T, iterator, priv_insert, const_iterator, const_iterator) - #endif - - //! Requires: pos must be a valid iterator of *this. - //! - //! Effects: Insert n copies of x before position. - //! - //! Returns: an iterator to the first inserted element or position if n is 0. - //! - //! Throws: If memory allocation throws or T's copy constructor throws. - //! - //! Complexity: Linear to n. - iterator insert(const_iterator position, size_type n, const T& t) - { - STABLE_VECTOR_CHECK_INVARIANT; - typedef constant_iterator cvalue_iterator; - return this->insert(position, cvalue_iterator(t, n), cvalue_iterator()); - } - - //! Requires: pos must be a valid iterator of *this. - //! - //! Effects: Insert a copy of the [first, last) range before pos. - //! - //! Returns: an iterator to the first inserted element or position if first == last. - //! - //! Throws: If memory allocation throws, T's constructor from a - //! dereferenced InpIt throws or T's copy constructor throws. - //! - //! Complexity: Linear to std::distance [first, last). - template - iterator insert(const_iterator position, InputIterator first, InputIterator last - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value - && container_detail::is_input_iterator::value - >::type * = 0 - #endif - ) - { - STABLE_VECTOR_CHECK_INVARIANT; - const size_type pos_n = position - this->cbegin(); - for(; first != last; ++first){ - this->emplace(position, *first); - } - return this->begin() + pos_n; - } - - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - template - iterator insert(const_iterator position, FwdIt first, FwdIt last - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value - && !container_detail::is_input_iterator::value - >::type * = 0 - ) - { - const size_type num_new = static_cast(std::distance(first, last)); - const size_type pos = static_cast(position - this->cbegin()); - if(num_new){ - //Fills the node pool and inserts num_new null pointers in pos. - //If a new buffer was needed fixes up pointers up to pos so - //past-new nodes are not aligned until the end of this function - //or in a rollback in case of exception - index_iterator it_past_newly_constructed(this->priv_insert_forward_non_templated(pos, num_new)); - const index_iterator it_past_new(it_past_newly_constructed + num_new); - { - //Prepare rollback - insert_rollback rollback(*this, it_past_newly_constructed, it_past_new); - while(first != last){ - const node_ptr p = this->priv_get_from_pool(); - BOOST_ASSERT(!!p); - //Put it in the index so rollback can return it in pool if construct_in_place throws - *it_past_newly_constructed = p; - //Constructs and fixes up pointers This can throw - this->priv_build_node_from_it(p, it_past_newly_constructed, first); - ++first; - ++it_past_newly_constructed; - } - //rollback.~insert_rollback() called in case of exception - } - //Fix up pointers for past-new nodes (new nodes were fixed during construction) and - //nodes before insertion position in priv_insert_forward_non_templated(...) - index_traits_type::fix_up_pointers_from(this->index, it_past_newly_constructed); - } - return this->begin() + pos; - } - #endif - - //! Effects: Removes the last element from the stable_vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant time. - void pop_back() BOOST_CONTAINER_NOEXCEPT - { this->erase(--this->cend()); } - - //! Effects: Erases the element at position pos. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the elements between pos and the - //! last element. Constant if pos is the last element. - iterator erase(const_iterator position) BOOST_CONTAINER_NOEXCEPT - { - STABLE_VECTOR_CHECK_INVARIANT; - const size_type d = position - this->cbegin(); - index_iterator it = this->index.begin() + d; - this->priv_delete_node(position.node_pointer()); - it = this->index.erase(it); - index_traits_type::fix_up_pointers_from(this->index, it); - return iterator(node_ptr_traits::static_cast_from(*it)); - } - - //! Effects: Erases the elements pointed by [first, last). - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the distance between first and last - //! plus linear to the elements between pos and the last element. - iterator erase(const_iterator first, const_iterator last) BOOST_CONTAINER_NOEXCEPT - { - STABLE_VECTOR_CHECK_INVARIANT; - const const_iterator cbeg(this->cbegin()); - const size_type d1 = static_cast(first - cbeg), - d2 = static_cast(last - cbeg); - size_type d_dif = d2 - d1; - if(d_dif){ - multiallocation_chain holder; - const index_iterator it1(this->index.begin() + d1); - const index_iterator it2(it1 + d_dif); - index_iterator it(it1); - while(d_dif--){ - node_base_ptr &nb = *it; - ++it; - node_type &n = *node_ptr_traits::static_cast_from(nb); - this->priv_destroy_node(n); - holder.push_back(node_ptr_traits::pointer_to(n)); - } - this->priv_put_in_pool(holder); - const index_iterator e = this->index.erase(it1, it2); - index_traits_type::fix_up_pointers_from(this->index, e); - } - return iterator(last.node_pointer()); - } - - //! Effects: Swaps the contents of *this and x. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - void swap(stable_vector & x) - { - STABLE_VECTOR_CHECK_INVARIANT; - container_detail::bool_ flag; - container_detail::swap_alloc(this->priv_node_alloc(), x.priv_node_alloc(), flag); - //vector's allocator is swapped here - this->index.swap(x.index); - this->priv_swap_members(x); - } - - //! Effects: Erases all the elements of the stable_vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements in the stable_vector. - void clear() BOOST_CONTAINER_NOEXCEPT - { this->erase(this->cbegin(),this->cend()); } - - //! Effects: Returns true if x and y are equal - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator==(const stable_vector& x, const stable_vector& y) - { return x.size() == y.size() && std::equal(x.begin(), x.end(), y.begin()); } - - //! Effects: Returns true if x and y are unequal - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator!=(const stable_vector& x, const stable_vector& y) - { return !(x == y); } - - //! Effects: Returns true if x is less than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator<(const stable_vector& x, const stable_vector& y) - { return std::lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); } - - //! Effects: Returns true if x is greater than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator>(const stable_vector& x, const stable_vector& y) - { return y < x; } - - //! Effects: Returns true if x is equal or less than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator<=(const stable_vector& x, const stable_vector& y) - { return !(y < x); } - - //! Effects: Returns true if x is equal or greater than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator>=(const stable_vector& x, const stable_vector& y) - { return !(x < y); } - - //! Effects: x.swap(y) - //! - //! Complexity: Constant. - friend void swap(stable_vector& x, stable_vector& y) - { x.swap(y); } - - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - private: - - class insert_rollback - { - public: - - insert_rollback(stable_vector &sv, index_iterator &it_past_constructed, const index_iterator &it_past_new) - : m_sv(sv), m_it_past_constructed(it_past_constructed), m_it_past_new(it_past_new) - {} - - ~insert_rollback() - { - if(m_it_past_constructed != m_it_past_new){ - m_sv.priv_put_in_pool(node_ptr_traits::static_cast_from(*m_it_past_constructed)); - index_iterator e = m_sv.index.erase(m_it_past_constructed, m_it_past_new); - index_traits_type::fix_up_pointers_from(m_sv.index, e); - } - } - - private: - stable_vector &m_sv; - index_iterator &m_it_past_constructed; - const index_iterator &m_it_past_new; - }; - - class push_back_rollback - { - public: - push_back_rollback(stable_vector &sv, const node_ptr &p) - : m_sv(sv), m_p(p) - {} - - ~push_back_rollback() - { - if(m_p){ - m_sv.priv_put_in_pool(m_p); - } - } - - void release() - { m_p = node_ptr(); } - - private: - stable_vector &m_sv; - node_ptr m_p; - }; - - index_iterator priv_insert_forward_non_templated(size_type pos, size_type num_new) - { - index_traits_type::initialize_end_node(this->index, this->internal_data.end_node, num_new); - - //Now try to fill the pool with new data - if(this->internal_data.pool_size < num_new){ - this->priv_increase_pool(num_new - this->internal_data.pool_size); - } - - //Now try to make room in the vector - const node_base_ptr_ptr old_buffer = this->index.data(); - this->index.insert(this->index.begin() + pos, num_new, node_ptr()); - bool new_buffer = this->index.data() != old_buffer; - - //Fix the pointers for the newly allocated buffer - const index_iterator index_beg = this->index.begin(); - if(new_buffer){ - index_traits_type::fix_up_pointers(index_beg, index_beg + pos); - } - return index_beg + pos; - } - - bool priv_capacity_bigger_than_size() const - { - return this->index.capacity() > this->index.size() && - this->internal_data.pool_size > 0; - } - - template - void priv_push_back(BOOST_MOVE_CATCH_FWD(U) x) - { - if(this->priv_capacity_bigger_than_size()){ - //Enough memory in the pool and in the index - const node_ptr p = this->priv_get_from_pool(); - BOOST_ASSERT(!!p); - { - push_back_rollback rollback(*this, p); - //This might throw - this->priv_build_node_from_convertible(p, ::boost::forward(x)); - rollback.release(); - } - //This can't throw as there is room for a new elements in the index - index_iterator new_index = this->index.insert(this->index.end() - ExtraPointers, p); - index_traits_type::fix_up_pointers_from(this->index, new_index); - } - else{ - this->insert(this->cend(), ::boost::forward(x)); - } - } - - iterator priv_insert(const_iterator position, const value_type &t) - { - typedef constant_iterator cvalue_iterator; - return this->insert(position, cvalue_iterator(t, 1), cvalue_iterator()); - } - - iterator priv_insert(const_iterator position, BOOST_RV_REF(T) x) - { - typedef repeat_iterator repeat_it; - typedef boost::move_iterator repeat_move_it; - //Just call more general insert(pos, size, value) and return iterator - return this->insert(position, repeat_move_it(repeat_it(x, 1)), repeat_move_it(repeat_it())); - } - - void priv_clear_pool() - { - if(!this->index.empty() && this->index.back()){ - node_base_ptr &pool_first_ref = *(this->index.end() - 2); - node_base_ptr &pool_last_ref = this->index.back(); - - multiallocation_chain holder; - holder.incorporate_after( holder.before_begin() - , node_ptr_traits::static_cast_from(pool_first_ref) - , node_ptr_traits::static_cast_from(pool_last_ref) - , internal_data.pool_size); - this->deallocate_individual(holder); - pool_first_ref = pool_last_ref = 0; - this->internal_data.pool_size = 0; - } - } - - void priv_increase_pool(size_type n) - { - node_base_ptr &pool_first_ref = *(this->index.end() - 2); - node_base_ptr &pool_last_ref = this->index.back(); - multiallocation_chain holder; - holder.incorporate_after( holder.before_begin() - , node_ptr_traits::static_cast_from(pool_first_ref) - , node_ptr_traits::static_cast_from(pool_last_ref) - , internal_data.pool_size); - multiallocation_chain m; - this->allocate_individual(n, m); - holder.splice_after(holder.before_begin(), m, m.before_begin(), m.last(), n); - this->internal_data.pool_size += n; - std::pair data(holder.extract_data()); - pool_first_ref = data.first; - pool_last_ref = data.second; - } - - void priv_put_in_pool(const node_ptr &p) - { - node_base_ptr &pool_first_ref = *(this->index.end()-2); - node_base_ptr &pool_last_ref = this->index.back(); - multiallocation_chain holder; - holder.incorporate_after( holder.before_begin() - , node_ptr_traits::static_cast_from(pool_first_ref) - , node_ptr_traits::static_cast_from(pool_last_ref) - , internal_data.pool_size); - holder.push_front(p); - ++this->internal_data.pool_size; - std::pair ret(holder.extract_data()); - pool_first_ref = ret.first; - pool_last_ref = ret.second; - } - - void priv_put_in_pool(multiallocation_chain &ch) - { - node_base_ptr &pool_first_ref = *(this->index.end()-(ExtraPointers-1)); - node_base_ptr &pool_last_ref = this->index.back(); - ch.incorporate_after( ch.before_begin() - , node_ptr_traits::static_cast_from(pool_first_ref) - , node_ptr_traits::static_cast_from(pool_last_ref) - , internal_data.pool_size); - this->internal_data.pool_size = ch.size(); - const std::pair ret(ch.extract_data()); - pool_first_ref = ret.first; - pool_last_ref = ret.second; - } - - node_ptr priv_get_from_pool() - { - //Precondition: index is not empty - BOOST_ASSERT(!this->index.empty()); - node_base_ptr &pool_first_ref = *(this->index.end() - (ExtraPointers-1)); - node_base_ptr &pool_last_ref = this->index.back(); - multiallocation_chain holder; - holder.incorporate_after( holder.before_begin() - , node_ptr_traits::static_cast_from(pool_first_ref) - , node_ptr_traits::static_cast_from(pool_last_ref) - , internal_data.pool_size); - node_ptr ret = holder.pop_front(); - --this->internal_data.pool_size; - if(!internal_data.pool_size){ - pool_first_ref = pool_last_ref = node_ptr(); - } - else{ - const std::pair data(holder.extract_data()); - pool_first_ref = data.first; - pool_last_ref = data.second; - } - return ret; - } - - node_base_ptr priv_get_end_node() const - { return node_base_ptr_traits::pointer_to(const_cast(this->internal_data.end_node)); } - - void priv_destroy_node(const node_type &n) - { - allocator_traits:: - destroy(this->priv_node_alloc(), container_detail::addressof(n.value)); - static_cast(&n)->~node_base_type(); - } - - void priv_delete_node(const node_ptr &n) - { - this->priv_destroy_node(*n); - this->priv_put_in_pool(n); - } - - template - void priv_build_node_from_it(const node_ptr &p, const index_iterator &up_index, const Iterator &it) - { - //This can throw - boost::container::construct_in_place - ( this->priv_node_alloc() - , container_detail::addressof(p->value) - , it); - //This does not throw - ::new(static_cast(container_detail::to_raw_pointer(p))) - node_base_type(index_traits_type::ptr_to_node_base_ptr(*up_index)); - } - - template - void priv_build_node_from_convertible(const node_ptr &p, BOOST_FWD_REF(ValueConvertible) value_convertible) - { - //This can throw - boost::container::allocator_traits::construct - ( this->priv_node_alloc() - , container_detail::addressof(p->value) - , ::boost::forward(value_convertible)); - //This does not throw - ::new(static_cast(container_detail::to_raw_pointer(p))) node_base_type; - } - - void priv_swap_members(stable_vector &x) - { - boost::container::swap_dispatch(this->internal_data.pool_size, x.internal_data.pool_size); - index_traits_type::readjust_end_node(this->index, this->internal_data.end_node); - index_traits_type::readjust_end_node(x.index, x.internal_data.end_node); - } - - #if defined(STABLE_VECTOR_ENABLE_INVARIANT_CHECKING) - bool priv_invariant()const - { - index_type & index_ref = const_cast(this->index); - - if(index.empty()) - return !this->capacity() && !this->size(); - if(this->priv_get_end_node() != *(index.end() - ExtraPointers)){ - return false; - } - - if(!index_traits_type::invariants(index_ref)){ - return false; - } - - size_type n = this->capacity() - this->size(); - node_base_ptr &pool_first_ref = *(index_ref.end() - (ExtraPointers-1)); - node_base_ptr &pool_last_ref = index_ref.back(); - multiallocation_chain holder; - holder.incorporate_after( holder.before_begin() - , node_ptr_traits::static_cast_from(pool_first_ref) - , node_ptr_traits::static_cast_from(pool_last_ref) - , internal_data.pool_size); - typename multiallocation_chain::iterator beg(holder.begin()), end(holder.end()); - size_type num_pool = 0; - while(beg != end){ - ++num_pool; - ++beg; - } - return n >= num_pool && num_pool == internal_data.pool_size; - } - - class invariant_checker - { - invariant_checker(const invariant_checker &); - invariant_checker & operator=(const invariant_checker &); - const stable_vector* p; - - public: - invariant_checker(const stable_vector& v):p(&v){} - ~invariant_checker(){BOOST_ASSERT(p->priv_invariant());} - void touch(){} - }; - #endif - - class ebo_holder - : public node_allocator_type - { - private: - BOOST_MOVABLE_BUT_NOT_COPYABLE(ebo_holder) - - public: - template - explicit ebo_holder(BOOST_FWD_REF(AllocatorRLValue) a) - : node_allocator_type(boost::forward(a)) - , pool_size(0) - , end_node() - {} - - ebo_holder() - : node_allocator_type() - , pool_size(0) - , end_node() - {} - - size_type pool_size; - node_base_type end_node; - } internal_data; - - node_allocator_type &priv_node_alloc() { return internal_data; } - const node_allocator_type &priv_node_alloc() const { return internal_data; } - - index_type index; - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED -}; - -#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -#undef STABLE_VECTOR_CHECK_INVARIANT - -#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -/* - -//!has_trivial_destructor_after_move<> == true_type -//!specialization for optimizations -template -struct has_trivial_destructor_after_move > - : public has_trivial_destructor_after_move::value -{}; - -*/ - -}} - -#include - -#endif //BOOST_CONTAINER_STABLE_VECTOR_HPP diff --git a/bundled/boost-1.56.0/include/boost/container/static_vector.hpp b/bundled/boost-1.56.0/include/boost/container/static_vector.hpp deleted file mode 100644 index 234fc266f2..0000000000 --- a/bundled/boost-1.56.0/include/boost/container/static_vector.hpp +++ /dev/null @@ -1,1089 +0,0 @@ -// Boost.Container static_vector -// -// Copyright (c) 2012-2013 Adam Wulkiewicz, Lodz, Poland. -// Copyright (c) 2011-2013 Andrew Hundt. -// Copyright (c) 2013-2014 Ion Gaztanaga -// -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_CONTAINER_STATIC_VECTOR_HPP -#define BOOST_CONTAINER_STATIC_VECTOR_HPP - -#if defined(_MSC_VER) -# pragma once -#endif - -#include - -#include -#include - -namespace boost { namespace container { - -#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -namespace container_detail { - -template -class static_storage_allocator -{ - public: - typedef T value_type; - - static_storage_allocator() BOOST_CONTAINER_NOEXCEPT - {} - - static_storage_allocator(const static_storage_allocator &) BOOST_CONTAINER_NOEXCEPT - {} - - static_storage_allocator & operator=(const static_storage_allocator &) BOOST_CONTAINER_NOEXCEPT - {} - - T* internal_storage() const BOOST_CONTAINER_NOEXCEPT - { return const_cast(static_cast(static_cast(&storage))); } - - T* internal_storage() BOOST_CONTAINER_NOEXCEPT - { return static_cast(static_cast(&storage)); } - - static const std::size_t internal_capacity = N; - - typedef boost::container::container_detail::version_type version; - - friend bool operator==(const static_storage_allocator &, const static_storage_allocator &) BOOST_CONTAINER_NOEXCEPT - { return false; } - - friend bool operator!=(const static_storage_allocator &, const static_storage_allocator &) BOOST_CONTAINER_NOEXCEPT - { return true; } - - private: - typename boost::aligned_storage - ::value>::type storage; -}; - -} //namespace container_detail { - -#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -//! -//!@brief A variable-size array container with fixed capacity. -//! -//!static_vector is a sequence container like boost::container::vector with contiguous storage that can -//!change in size, along with the static allocation, low overhead, and fixed capacity of boost::array. -//! -//!A static_vector is a sequence that supports random access to elements, constant time insertion and -//!removal of elements at the end, and linear time insertion and removal of elements at the beginning or -//!in the middle. The number of elements in a static_vector may vary dynamically up to a fixed capacity -//!because elements are stored within the object itself similarly to an array. However, objects are -//!initialized as they are inserted into static_vector unlike C arrays or std::array which must construct -//!all elements on instantiation. The behavior of static_vector enables the use of statically allocated -//!elements in cases with complex object lifetime requirements that would otherwise not be trivially -//!possible. -//! -//!@par Error Handling -//! Insertion beyond the capacity result in throwing std::bad_alloc() if exceptions are enabled or -//! calling throw_bad_alloc() if not enabled. -//! -//! std::out_of_range is thrown if out of bound access is performed in at() if exceptions are -//! enabled, throw_out_of_range() if not enabled. -//! -//!@tparam Value The type of element that will be stored. -//!@tparam Capacity The maximum number of elements static_vector can store, fixed at compile time. -template -class static_vector - : public vector > -{ - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - typedef vector > base_t; - - BOOST_COPYABLE_AND_MOVABLE(static_vector) - - template - friend class static_vector; - - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -public: - //! @brief The type of elements stored in the container. - typedef typename base_t::value_type value_type; - //! @brief The unsigned integral type used by the container. - typedef typename base_t::size_type size_type; - //! @brief The pointers difference type. - typedef typename base_t::difference_type difference_type; - //! @brief The pointer type. - typedef typename base_t::pointer pointer; - //! @brief The const pointer type. - typedef typename base_t::const_pointer const_pointer; - //! @brief The value reference type. - typedef typename base_t::reference reference; - //! @brief The value const reference type. - typedef typename base_t::const_reference const_reference; - //! @brief The iterator type. - typedef typename base_t::iterator iterator; - //! @brief The const iterator type. - typedef typename base_t::const_iterator const_iterator; - //! @brief The reverse iterator type. - typedef typename base_t::reverse_iterator reverse_iterator; - //! @brief The const reverse iterator. - typedef typename base_t::const_reverse_iterator const_reverse_iterator; - - //! @brief Constructs an empty static_vector. - //! - //! @par Throws - //! Nothing. - //! - //! @par Complexity - //! Constant O(1). - static_vector() BOOST_CONTAINER_NOEXCEPT - : base_t() - {} - - //! @pre count <= capacity() - //! - //! @brief Constructs a static_vector containing count value initialized values. - //! - //! @param count The number of values which will be contained in the container. - //! - //! @par Throws - //! If Value's value initialization throws. - //! - //! @par Complexity - //! Linear O(N). - explicit static_vector(size_type count) - : base_t(count) - {} - - //! @pre count <= capacity() - //! - //! @brief Constructs a static_vector containing count default initialized values. - //! - //! @param count The number of values which will be contained in the container. - //! - //! @par Throws - //! If Value's default initialization throws. - //! - //! @par Complexity - //! Linear O(N). - //! - //! @par Note - //! Non-standard extension - static_vector(size_type count, default_init_t) - : base_t(count, default_init_t()) - {} - - //! @pre count <= capacity() - //! - //! @brief Constructs a static_vector containing count copies of value. - //! - //! @param count The number of copies of a values that will be contained in the container. - //! @param value The value which will be used to copy construct values. - //! - //! @par Throws - //! If Value's copy constructor throws. - //! - //! @par Complexity - //! Linear O(N). - static_vector(size_type count, value_type const& value) - : base_t(count, value) - {} - - //! @pre - //! @li distance(first, last) <= capacity() - //! @li Iterator must meet the \c ForwardTraversalIterator concept. - //! - //! @brief Constructs a static_vector containing copy of a range [first, last). - //! - //! @param first The iterator to the first element in range. - //! @param last The iterator to the one after the last element in range. - //! - //! @par Throws - //! If Value's constructor taking a dereferenced Iterator throws. - //! - //! @par Complexity - //! Linear O(N). - template - static_vector(Iterator first, Iterator last) - : base_t(first, last) - {} - - //! @brief Constructs a copy of other static_vector. - //! - //! @param other The static_vector which content will be copied to this one. - //! - //! @par Throws - //! If Value's copy constructor throws. - //! - //! @par Complexity - //! Linear O(N). - static_vector(static_vector const& other) - : base_t(other) - {} - - //! @pre other.size() <= capacity(). - //! - //! @brief Constructs a copy of other static_vector. - //! - //! @param other The static_vector which content will be copied to this one. - //! - //! @par Throws - //! If Value's copy constructor throws. - //! - //! @par Complexity - //! Linear O(N). - template - static_vector(static_vector const& other) - : base_t(other) - {} - - //! @brief Move constructor. Moves Values stored in the other static_vector to this one. - //! - //! @param other The static_vector which content will be moved to this one. - //! - //! @par Throws - //! @li If \c boost::has_nothrow_move::value is \c true and Value's move constructor throws. - //! @li If \c boost::has_nothrow_move::value is \c false and Value's copy constructor throws. - //! - //! @par Complexity - //! Linear O(N). - static_vector(BOOST_RV_REF(static_vector) other) - : base_t(boost::move(static_cast(other))) - {} - - //! @pre other.size() <= capacity() - //! - //! @brief Move constructor. Moves Values stored in the other static_vector to this one. - //! - //! @param other The static_vector which content will be moved to this one. - //! - //! @par Throws - //! @li If \c boost::has_nothrow_move::value is \c true and Value's move constructor throws. - //! @li If \c boost::has_nothrow_move::value is \c false and Value's copy constructor throws. - //! - //! @par Complexity - //! Linear O(N). - template - static_vector(BOOST_RV_REF_BEG static_vector BOOST_RV_REF_END other) - : base_t(boost::move(static_cast::base_t&>(other))) - {} - - //! @brief Copy assigns Values stored in the other static_vector to this one. - //! - //! @param other The static_vector which content will be copied to this one. - //! - //! @par Throws - //! If Value's copy constructor or copy assignment throws. - //! - //! @par Complexity - //! Linear O(N). - static_vector & operator=(BOOST_COPY_ASSIGN_REF(static_vector) other) - { - return static_cast(base_t::operator=(static_cast(other))); - } - - //! @pre other.size() <= capacity() - //! - //! @brief Copy assigns Values stored in the other static_vector to this one. - //! - //! @param other The static_vector which content will be copied to this one. - //! - //! @par Throws - //! If Value's copy constructor or copy assignment throws. - //! - //! @par Complexity - //! Linear O(N). - template - static_vector & operator=(static_vector const& other) - { - return static_cast(base_t::operator= - (static_cast::base_t const&>(other))); - } - - //! @brief Move assignment. Moves Values stored in the other static_vector to this one. - //! - //! @param other The static_vector which content will be moved to this one. - //! - //! @par Throws - //! @li If \c boost::has_nothrow_move::value is \c true and Value's move constructor or move assignment throws. - //! @li If \c boost::has_nothrow_move::value is \c false and Value's copy constructor or copy assignment throws. - //! - //! @par Complexity - //! Linear O(N). - static_vector & operator=(BOOST_RV_REF(static_vector) other) - { - return static_cast(base_t::operator=(boost::move(static_cast(other)))); - } - - //! @pre other.size() <= capacity() - //! - //! @brief Move assignment. Moves Values stored in the other static_vector to this one. - //! - //! @param other The static_vector which content will be moved to this one. - //! - //! @par Throws - //! @li If \c boost::has_nothrow_move::value is \c true and Value's move constructor or move assignment throws. - //! @li If \c boost::has_nothrow_move::value is \c false and Value's copy constructor or copy assignment throws. - //! - //! @par Complexity - //! Linear O(N). - template - static_vector & operator=(BOOST_RV_REF_BEG static_vector BOOST_RV_REF_END other) - { - return static_cast(base_t::operator= - (boost::move(static_cast::base_t&>(other)))); - } - -#ifdef BOOST_CONTAINER_DOXYGEN_INVOKED - - //! @brief Destructor. Destroys Values stored in this container. - //! - //! @par Throws - //! Nothing - //! - //! @par Complexity - //! Linear O(N). - ~static_vector(); - - //! @brief Swaps contents of the other static_vector and this one. - //! - //! @param other The static_vector which content will be swapped with this one's content. - //! - //! @par Throws - //! @li If \c boost::has_nothrow_move::value is \c true and Value's move constructor or move assignment throws, - //! @li If \c boost::has_nothrow_move::value is \c false and Value's copy constructor or copy assignment throws, - //! - //! @par Complexity - //! Linear O(N). - void swap(static_vector & other); - - //! @pre other.size() <= capacity() && size() <= other.capacity() - //! - //! @brief Swaps contents of the other static_vector and this one. - //! - //! @param other The static_vector which content will be swapped with this one's content. - //! - //! @par Throws - //! @li If \c boost::has_nothrow_move::value is \c true and Value's move constructor or move assignment throws, - //! @li If \c boost::has_nothrow_move::value is \c false and Value's copy constructor or copy assignment throws, - //! - //! @par Complexity - //! Linear O(N). - template - void swap(static_vector & other); - - //! @pre count <= capacity() - //! - //! @brief Inserts or erases elements at the end such that - //! the size becomes count. New elements are value initialized. - //! - //! @param count The number of elements which will be stored in the container. - //! - //! @par Throws - //! If Value's value initialization throws. - //! - //! @par Complexity - //! Linear O(N). - void resize(size_type count); - - //! @pre count <= capacity() - //! - //! @brief Inserts or erases elements at the end such that - //! the size becomes count. New elements are default initialized. - //! - //! @param count The number of elements which will be stored in the container. - //! - //! @par Throws - //! If Value's default initialization throws. - //! - //! @par Complexity - //! Linear O(N). - //! - //! @par Note - //! Non-standard extension - void resize(size_type count, default_init_t); - - //! @pre count <= capacity() - //! - //! @brief Inserts or erases elements at the end such that - //! the size becomes count. New elements are copy constructed from value. - //! - //! @param count The number of elements which will be stored in the container. - //! @param value The value used to copy construct the new element. - //! - //! @par Throws - //! If Value's copy constructor throws. - //! - //! @par Complexity - //! Linear O(N). - void resize(size_type count, value_type const& value); - - //! @pre count <= capacity() - //! - //! @brief This call has no effect because the Capacity of this container is constant. - //! - //! @param count The number of elements which the container should be able to contain. - //! - //! @par Throws - //! Nothing. - //! - //! @par Complexity - //! Linear O(N). - void reserve(size_type count) BOOST_CONTAINER_NOEXCEPT; - - //! @pre size() < capacity() - //! - //! @brief Adds a copy of value at the end. - //! - //! @param value The value used to copy construct the new element. - //! - //! @par Throws - //! If Value's copy constructor throws. - //! - //! @par Complexity - //! Constant O(1). - void push_back(value_type const& value); - - //! @pre size() < capacity() - //! - //! @brief Moves value to the end. - //! - //! @param value The value to move construct the new element. - //! - //! @par Throws - //! If Value's move constructor throws. - //! - //! @par Complexity - //! Constant O(1). - void push_back(BOOST_RV_REF(value_type) value); - - //! @pre !empty() - //! - //! @brief Destroys last value and decreases the size. - //! - //! @par Throws - //! Nothing by default. - //! - //! @par Complexity - //! Constant O(1). - void pop_back(); - - //! @pre - //! @li \c position must be a valid iterator of \c *this in range [begin(), end()]. - //! @li size() < capacity() - //! - //! @brief Inserts a copy of element at position. - //! - //! @param position The position at which the new value will be inserted. - //! @param value The value used to copy construct the new element. - //! - //! @par Throws - //! @li If Value's copy constructor or copy assignment throws - //! @li If Value's move constructor or move assignment throws. - //! - //! @par Complexity - //! Constant or linear. - iterator insert(iterator position, value_type const& value); - - //! @pre - //! @li \c position must be a valid iterator of \c *this in range [begin(), end()]. - //! @li size() < capacity() - //! - //! @brief Inserts a move-constructed element at position. - //! - //! @param position The position at which the new value will be inserted. - //! @param value The value used to move construct the new element. - //! - //! @par Throws - //! If Value's move constructor or move assignment throws. - //! - //! @par Complexity - //! Constant or linear. - iterator insert(iterator position, BOOST_RV_REF(value_type) value); - - //! @pre - //! @li \c position must be a valid iterator of \c *this in range [begin(), end()]. - //! @li size() + count <= capacity() - //! - //! @brief Inserts a count copies of value at position. - //! - //! @param position The position at which new elements will be inserted. - //! @param count The number of new elements which will be inserted. - //! @param value The value used to copy construct new elements. - //! - //! @par Throws - //! @li If Value's copy constructor or copy assignment throws. - //! @li If Value's move constructor or move assignment throws. - //! - //! @par Complexity - //! Linear O(N). - iterator insert(iterator position, size_type count, value_type const& value); - - //! @pre - //! @li \c position must be a valid iterator of \c *this in range [begin(), end()]. - //! @li distance(first, last) <= capacity() - //! @li \c Iterator must meet the \c ForwardTraversalIterator concept. - //! - //! @brief Inserts a copy of a range [first, last) at position. - //! - //! @param position The position at which new elements will be inserted. - //! @param first The iterator to the first element of a range used to construct new elements. - //! @param last The iterator to the one after the last element of a range used to construct new elements. - //! - //! @par Throws - //! @li If Value's constructor and assignment taking a dereferenced \c Iterator. - //! @li If Value's move constructor or move assignment throws. - //! - //! @par Complexity - //! Linear O(N). - template - iterator insert(iterator position, Iterator first, Iterator last); - - //! @pre \c position must be a valid iterator of \c *this in range [begin(), end()) - //! - //! @brief Erases Value from position. - //! - //! @param position The position of the element which will be erased from the container. - //! - //! @par Throws - //! If Value's move assignment throws. - //! - //! @par Complexity - //! Linear O(N). - iterator erase(iterator position); - - //! @pre - //! @li \c first and \c last must define a valid range - //! @li iterators must be in range [begin(), end()] - //! - //! @brief Erases Values from a range [first, last). - //! - //! @param first The position of the first element of a range which will be erased from the container. - //! @param last The position of the one after the last element of a range which will be erased from the container. - //! - //! @par Throws - //! If Value's move assignment throws. - //! - //! @par Complexity - //! Linear O(N). - iterator erase(iterator first, iterator last); - - //! @pre distance(first, last) <= capacity() - //! - //! @brief Assigns a range [first, last) of Values to this container. - //! - //! @param first The iterator to the first element of a range used to construct new content of this container. - //! @param last The iterator to the one after the last element of a range used to construct new content of this container. - //! - //! @par Throws - //! If Value's copy constructor or copy assignment throws, - //! - //! @par Complexity - //! Linear O(N). - template - void assign(Iterator first, Iterator last); - - //! @pre count <= capacity() - //! - //! @brief Assigns a count copies of value to this container. - //! - //! @param count The new number of elements which will be container in the container. - //! @param value The value which will be used to copy construct the new content. - //! - //! @par Throws - //! If Value's copy constructor or copy assignment throws. - //! - //! @par Complexity - //! Linear O(N). - void assign(size_type count, value_type const& value); - - //! @pre size() < capacity() - //! - //! @brief Inserts a Value constructed with - //! \c std::forward(args)... in the end of the container. - //! - //! @param args The arguments of the constructor of the new element which will be created at the end of the container. - //! - //! @par Throws - //! If in-place constructor throws or Value's move constructor throws. - //! - //! @par Complexity - //! Constant O(1). - template - void emplace_back(Args &&...args); - - //! @pre - //! @li \c position must be a valid iterator of \c *this in range [begin(), end()] - //! @li size() < capacity() - //! - //! @brief Inserts a Value constructed with - //! \c std::forward(args)... before position - //! - //! @param position The position at which new elements will be inserted. - //! @param args The arguments of the constructor of the new element. - //! - //! @par Throws - //! If in-place constructor throws or if Value's move constructor or move assignment throws. - //! - //! @par Complexity - //! Constant or linear. - template - iterator emplace(iterator position, Args &&...args); - - //! @brief Removes all elements from the container. - //! - //! @par Throws - //! Nothing. - //! - //! @par Complexity - //! Constant O(1). - void clear() BOOST_CONTAINER_NOEXCEPT; - - //! @pre i < size() - //! - //! @brief Returns reference to the i-th element. - //! - //! @param i The element's index. - //! - //! @return reference to the i-th element - //! from the beginning of the container. - //! - //! @par Throws - //! \c std::out_of_range exception by default. - //! - //! @par Complexity - //! Constant O(1). - reference at(size_type i); - - //! @pre i < size() - //! - //! @brief Returns const reference to the i-th element. - //! - //! @param i The element's index. - //! - //! @return const reference to the i-th element - //! from the beginning of the container. - //! - //! @par Throws - //! \c std::out_of_range exception by default. - //! - //! @par Complexity - //! Constant O(1). - const_reference at(size_type i) const; - - //! @pre i < size() - //! - //! @brief Returns reference to the i-th element. - //! - //! @param i The element's index. - //! - //! @return reference to the i-th element - //! from the beginning of the container. - //! - //! @par Throws - //! Nothing by default. - //! - //! @par Complexity - //! Constant O(1). - reference operator[](size_type i); - - //! @pre i < size() - //! - //! @brief Returns const reference to the i-th element. - //! - //! @param i The element's index. - //! - //! @return const reference to the i-th element - //! from the beginning of the container. - //! - //! @par Throws - //! Nothing by default. - //! - //! @par Complexity - //! Constant O(1). - const_reference operator[](size_type i) const; - - //! @pre \c !empty() - //! - //! @brief Returns reference to the first element. - //! - //! @return reference to the first element - //! from the beginning of the container. - //! - //! @par Throws - //! Nothing by default. - //! - //! @par Complexity - //! Constant O(1). - reference front(); - - //! @pre \c !empty() - //! - //! @brief Returns const reference to the first element. - //! - //! @return const reference to the first element - //! from the beginning of the container. - //! - //! @par Throws - //! Nothing by default. - //! - //! @par Complexity - //! Constant O(1). - const_reference front() const; - - //! @pre \c !empty() - //! - //! @brief Returns reference to the last element. - //! - //! @return reference to the last element - //! from the beginning of the container. - //! - //! @par Throws - //! Nothing by default. - //! - //! @par Complexity - //! Constant O(1). - reference back(); - - //! @pre \c !empty() - //! - //! @brief Returns const reference to the first element. - //! - //! @return const reference to the last element - //! from the beginning of the container. - //! - //! @par Throws - //! Nothing by default. - //! - //! @par Complexity - //! Constant O(1). - const_reference back() const; - - //! @brief Pointer such that [data(), data() + size()) is a valid range. - //! For a non-empty vector data() == &front(). - //! - //! @par Throws - //! Nothing. - //! - //! @par Complexity - //! Constant O(1). - Value * data() BOOST_CONTAINER_NOEXCEPT; - - //! @brief Const pointer such that [data(), data() + size()) is a valid range. - //! For a non-empty vector data() == &front(). - //! - //! @par Throws - //! Nothing. - //! - //! @par Complexity - //! Constant O(1). - const Value * data() const BOOST_CONTAINER_NOEXCEPT; - - //! @brief Returns iterator to the first element. - //! - //! @return iterator to the first element contained in the vector. - //! - //! @par Throws - //! Nothing. - //! - //! @par Complexity - //! Constant O(1). - iterator begin() BOOST_CONTAINER_NOEXCEPT; - - //! @brief Returns const iterator to the first element. - //! - //! @return const_iterator to the first element contained in the vector. - //! - //! @par Throws - //! Nothing. - //! - //! @par Complexity - //! Constant O(1). - const_iterator begin() const BOOST_CONTAINER_NOEXCEPT; - - //! @brief Returns const iterator to the first element. - //! - //! @return const_iterator to the first element contained in the vector. - //! - //! @par Throws - //! Nothing. - //! - //! @par Complexity - //! Constant O(1). - const_iterator cbegin() const BOOST_CONTAINER_NOEXCEPT; - - //! @brief Returns iterator to the one after the last element. - //! - //! @return iterator pointing to the one after the last element contained in the vector. - //! - //! @par Throws - //! Nothing. - //! - //! @par Complexity - //! Constant O(1). - iterator end() BOOST_CONTAINER_NOEXCEPT; - - //! @brief Returns const iterator to the one after the last element. - //! - //! @return const_iterator pointing to the one after the last element contained in the vector. - //! - //! @par Throws - //! Nothing. - //! - //! @par Complexity - //! Constant O(1). - const_iterator end() const BOOST_CONTAINER_NOEXCEPT; - - //! @brief Returns const iterator to the one after the last element. - //! - //! @return const_iterator pointing to the one after the last element contained in the vector. - //! - //! @par Throws - //! Nothing. - //! - //! @par Complexity - //! Constant O(1). - const_iterator cend() const BOOST_CONTAINER_NOEXCEPT; - - //! @brief Returns reverse iterator to the first element of the reversed container. - //! - //! @return reverse_iterator pointing to the beginning - //! of the reversed static_vector. - //! - //! @par Throws - //! Nothing. - //! - //! @par Complexity - //! Constant O(1). - reverse_iterator rbegin() BOOST_CONTAINER_NOEXCEPT; - - //! @brief Returns const reverse iterator to the first element of the reversed container. - //! - //! @return const_reverse_iterator pointing to the beginning - //! of the reversed static_vector. - //! - //! @par Throws - //! Nothing. - //! - //! @par Complexity - //! Constant O(1). - const_reverse_iterator rbegin() const BOOST_CONTAINER_NOEXCEPT; - - //! @brief Returns const reverse iterator to the first element of the reversed container. - //! - //! @return const_reverse_iterator pointing to the beginning - //! of the reversed static_vector. - //! - //! @par Throws - //! Nothing. - //! - //! @par Complexity - //! Constant O(1). - const_reverse_iterator crbegin() const BOOST_CONTAINER_NOEXCEPT; - - //! @brief Returns reverse iterator to the one after the last element of the reversed container. - //! - //! @return reverse_iterator pointing to the one after the last element - //! of the reversed static_vector. - //! - //! @par Throws - //! Nothing. - //! - //! @par Complexity - //! Constant O(1). - reverse_iterator rend() BOOST_CONTAINER_NOEXCEPT; - - //! @brief Returns const reverse iterator to the one after the last element of the reversed container. - //! - //! @return const_reverse_iterator pointing to the one after the last element - //! of the reversed static_vector. - //! - //! @par Throws - //! Nothing. - //! - //! @par Complexity - //! Constant O(1). - const_reverse_iterator rend() const BOOST_CONTAINER_NOEXCEPT; - - //! @brief Returns const reverse iterator to the one after the last element of the reversed container. - //! - //! @return const_reverse_iterator pointing to the one after the last element - //! of the reversed static_vector. - //! - //! @par Throws - //! Nothing. - //! - //! @par Complexity - //! Constant O(1). - const_reverse_iterator crend() const BOOST_CONTAINER_NOEXCEPT; - - //! @brief Returns container's capacity. - //! - //! @return container's capacity. - //! - //! @par Throws - //! Nothing. - //! - //! @par Complexity - //! Constant O(1). - static size_type capacity() BOOST_CONTAINER_NOEXCEPT; - - //! @brief Returns container's capacity. - //! - //! @return container's capacity. - //! - //! @par Throws - //! Nothing. - //! - //! @par Complexity - //! Constant O(1). - static size_type max_size() BOOST_CONTAINER_NOEXCEPT; - - //! @brief Returns the number of stored elements. - //! - //! @return Number of elements contained in the container. - //! - //! @par Throws - //! Nothing. - //! - //! @par Complexity - //! Constant O(1). - size_type size() const BOOST_CONTAINER_NOEXCEPT; - - //! @brief Queries if the container contains elements. - //! - //! @return true if the number of elements contained in the - //! container is equal to 0. - //! - //! @par Throws - //! Nothing. - //! - //! @par Complexity - //! Constant O(1). - bool empty() const BOOST_CONTAINER_NOEXCEPT; -#else - - friend void swap(static_vector &x, static_vector &y) - { - x.swap(y); - } - -#endif // BOOST_CONTAINER_DOXYGEN_INVOKED - -}; - -#ifdef BOOST_CONTAINER_DOXYGEN_INVOKED - -//! @brief Checks if contents of two static_vectors are equal. -//! -//! @ingroup static_vector_non_member -//! -//! @param x The first static_vector. -//! @param y The second static_vector. -//! -//! @return \c true if containers have the same size and elements in both containers are equal. -//! -//! @par Complexity -//! Linear O(N). -template -bool operator== (static_vector const& x, static_vector const& y); - -//! @brief Checks if contents of two static_vectors are not equal. -//! -//! @ingroup static_vector_non_member -//! -//! @param x The first static_vector. -//! @param y The second static_vector. -//! -//! @return \c true if containers have different size or elements in both containers are not equal. -//! -//! @par Complexity -//! Linear O(N). -template -bool operator!= (static_vector const& x, static_vector const& y); - -//! @brief Lexicographically compares static_vectors. -//! -//! @ingroup static_vector_non_member -//! -//! @param x The first static_vector. -//! @param y The second static_vector. -//! -//! @return \c true if x compares lexicographically less than y. -//! -//! @par Complexity -//! Linear O(N). -template -bool operator< (static_vector const& x, static_vector const& y); - -//! @brief Lexicographically compares static_vectors. -//! -//! @ingroup static_vector_non_member -//! -//! @param x The first static_vector. -//! @param y The second static_vector. -//! -//! @return \c true if y compares lexicographically less than x. -//! -//! @par Complexity -//! Linear O(N). -template -bool operator> (static_vector const& x, static_vector const& y); - -//! @brief Lexicographically compares static_vectors. -//! -//! @ingroup static_vector_non_member -//! -//! @param x The first static_vector. -//! @param y The second static_vector. -//! -//! @return \c true if y don't compare lexicographically less than x. -//! -//! @par Complexity -//! Linear O(N). -template -bool operator<= (static_vector const& x, static_vector const& y); - -//! @brief Lexicographically compares static_vectors. -//! -//! @ingroup static_vector_non_member -//! -//! @param x The first static_vector. -//! @param y The second static_vector. -//! -//! @return \c true if x don't compare lexicographically less than y. -//! -//! @par Complexity -//! Linear O(N). -template -bool operator>= (static_vector const& x, static_vector const& y); - -//! @brief Swaps contents of two static_vectors. -//! -//! This function calls static_vector::swap(). -//! -//! @ingroup static_vector_non_member -//! -//! @param x The first static_vector. -//! @param y The second static_vector. -//! -//! @par Complexity -//! Linear O(N). -template -inline void swap(static_vector & x, static_vector & y); - -#else - -template -inline void swap(static_vector & x, static_vector & y - , typename container_detail::enable_if_c< C1 != C2>::type * = 0) -{ - x.swap(y); -} - -#endif // BOOST_CONTAINER_DOXYGEN_INVOKED - -}} // namespace boost::container - -#include - -#endif // BOOST_CONTAINER_STATIC_VECTOR_HPP diff --git a/bundled/boost-1.56.0/include/boost/container/string.hpp b/bundled/boost-1.56.0/include/boost/container/string.hpp deleted file mode 100644 index 89bb5ac2a9..0000000000 --- a/bundled/boost-1.56.0/include/boost/container/string.hpp +++ /dev/null @@ -1,2906 +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_STRING_HPP -#define BOOST_CONTAINER_STRING_HPP - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { -namespace container { - -#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED -namespace container_detail { -// ------------------------------------------------------------ -// 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 basic_string_base -{ - BOOST_MOVABLE_BUT_NOT_COPYABLE(basic_string_base) - - typedef allocator_traits allocator_traits_type; - public: - typedef Allocator allocator_type; - typedef allocator_type stored_allocator_type; - typedef typename allocator_traits_type::pointer pointer; - typedef typename allocator_traits_type::value_type value_type; - typedef typename allocator_traits_type::size_type size_type; - typedef ::boost::intrusive::pointer_traits pointer_traits; - - basic_string_base() - : members_() - { init(); } - - basic_string_base(const allocator_type& a) - : members_(a) - { init(); } - - basic_string_base(const allocator_type& a, size_type n) - : members_(a) - { - this->init(); - this->allocate_initial_block(n); - } - - basic_string_base(BOOST_RV_REF(basic_string_base) b) - : members_(boost::move(b.alloc())) - { - this->init(); - this->swap_data(b); - } - - ~basic_string_base() - { - if(!this->is_short()){ - this->deallocate_block(); - this->is_short(true); - } - } - - 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; - - long_t() - {} - - long_t(const long_t &other) - { - this->is_short = other.is_short; - length = other.length; - storage = other.storage; - start = other.start; - } - - long_t &operator =(const long_t &other) - { - this->is_short = other.is_short; - 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 boost::aligned_storage< sizeof(long_t), - container_detail::alignment_of::value>::type long_raw_t; - - protected: - static const size_type MinInternalBufferChars = 8; - static const size_type AlignmentOfValueType = - alignment_of::value; - static const size_type ShortDataOffset = - container_detail::ct_rounded_size::value; - static const size_type 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 - { - long_raw_t r; - short_t s; - - const short_t &short_repr() const - { return s; } - - const long_t &long_repr() const - { return *static_cast(static_cast(&r)); } - - short_t &short_repr() - { return s; } - - long_t &long_repr() - { return *static_cast(static_cast(&r)); } - }; - - struct members_holder - : public Allocator - { - members_holder() - : Allocator() - {} - - template - explicit members_holder(BOOST_FWD_REF(AllocatorConvertible) a) - : Allocator(boost::forward(a)) - {} - - repr_t m_repr; - } members_; - - const Allocator &alloc() const - { return members_; } - - Allocator &alloc() - { return members_; } - - static const size_type InternalBufferChars = (sizeof(repr_t) - ShortDataOffset)/sizeof(value_type); - - private: - - static const size_type MinAllocation = InternalBufferChars*2; - - protected: - bool is_short() const - { return static_cast(this->members_.m_repr.s.h.is_short != 0); } - - void is_short(bool yes) - { - const bool was_short = this->is_short(); - if(yes && !was_short){ - allocator_traits_type::destroy - ( this->alloc() - , static_cast(static_cast(&this->members_.m_repr.r)) - ); - this->members_.m_repr.s.h.is_short = true; - } - else if(!yes && was_short){ - allocator_traits_type::construct - ( this->alloc() - , static_cast(static_cast(&this->members_.m_repr.r)) - ); - this->members_.m_repr.s.h.is_short = false; - } - } - - private: - void init() - { - this->members_.m_repr.s.h.is_short = 1; - this->members_.m_repr.s.h.length = 0; - } - - protected: - - typedef container_detail::integral_constant allocator_v1; - typedef container_detail::integral_constant allocator_v2; - typedef container_detail::integral_constant::value> alloc_version; - - std::pair - allocation_command(allocation_type command, - size_type limit_size, - size_type preferred_size, - size_type &received_size, pointer reuse = 0) - { - if(this->is_short() && (command & (expand_fwd | expand_bwd)) ){ - reuse = pointer(); - command &= ~(expand_fwd | expand_bwd); - } - return container_detail::allocator_version_traits::allocation_command - (this->alloc(), command, limit_size, preferred_size, received_size, reuse); - } - - size_type next_capacity(size_type additional_objects) const - { - return next_capacity_calculator - :: - get( allocator_traits_type::max_size(this->alloc()) - , this->priv_storage(), additional_objects ); - } - - void deallocate(pointer p, size_type n) - { - if (p && (n > InternalBufferChars)) - this->alloc().deallocate(p, n); - } - - void construct(pointer p, const value_type &value = value_type()) - { - allocator_traits_type::construct - ( this->alloc() - , container_detail::to_raw_pointer(p) - , value - ); - } - - void destroy(pointer p, size_type n) - { - value_type *raw_p = container_detail::to_raw_pointer(p); - for(; n--; ++raw_p){ - allocator_traits_type::destroy( this->alloc(), raw_p); - } - } - - void destroy(pointer p) - { - allocator_traits_type::destroy - ( this->alloc() - , container_detail::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 p = this->allocation_command(allocate_new, n, new_cap, new_cap).first; - this->is_short(false); - 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"); - } - } - - void deallocate_block() - { this->deallocate(this->priv_addr(), this->priv_storage()); } - - size_type max_size() const - { return allocator_traits_type::max_size(this->alloc()) - 1; } - - protected: - size_type priv_capacity() const - { return this->priv_storage() - 1; } - - pointer priv_short_addr() const - { return pointer_traits::pointer_to(const_cast(this->members_.m_repr.short_repr().data[0])); } - - pointer priv_long_addr() const - { return this->members_.m_repr.long_repr().start; } - - pointer priv_addr() const - { - return this->is_short() - ? priv_short_addr() - : priv_long_addr() - ; - } - - pointer priv_end_addr() const - { - return this->is_short() - ? this->priv_short_addr() + this->priv_short_size() - : this->priv_long_addr() + this->priv_long_size() - ; - } - - void priv_long_addr(pointer addr) - { this->members_.m_repr.long_repr().start = addr; } - - size_type priv_storage() const - { return this->is_short() ? priv_short_storage() : priv_long_storage(); } - - size_type priv_short_storage() const - { return InternalBufferChars; } - - size_type priv_long_storage() const - { return this->members_.m_repr.long_repr().storage; } - - void priv_storage(size_type storage) - { - if(!this->is_short()) - this->priv_long_storage(storage); - } - - void priv_long_storage(size_type storage) - { - this->members_.m_repr.long_repr().storage = storage; - } - - size_type priv_size() const - { return this->is_short() ? this->priv_short_size() : this->priv_long_size(); } - - size_type priv_short_size() const - { return this->members_.m_repr.short_repr().h.length; } - - size_type priv_long_size() const - { return this->members_.m_repr.long_repr().length; } - - void priv_size(size_type sz) - { - if(this->is_short()) - this->priv_short_size(sz); - else - this->priv_long_size(sz); - } - - void priv_short_size(size_type sz) - { - this->members_.m_repr.s.h.length = (unsigned char)sz; - } - - void priv_long_size(size_type sz) - { - this->members_.m_repr.long_repr().length = sz; - } - - void swap_data(basic_string_base& other) - { - if(this->is_short()){ - if(other.is_short()){ - std::swap(this->members_.m_repr, other.members_.m_repr); - } - else{ - short_t short_backup(this->members_.m_repr.short_repr()); - long_t long_backup (other.members_.m_repr.long_repr()); - other.members_.m_repr.long_repr().~long_t(); - ::new(&this->members_.m_repr.long_repr()) long_t; - this->members_.m_repr.long_repr() = long_backup; - other.members_.m_repr.short_repr() = short_backup; - } - } - else{ - if(other.is_short()){ - short_t short_backup(other.members_.m_repr.short_repr()); - long_t long_backup (this->members_.m_repr.long_repr()); - this->members_.m_repr.long_repr().~long_t(); - ::new(&other.members_.m_repr.long_repr()) long_t; - other.members_.m_repr.long_repr() = long_backup; - this->members_.m_repr.short_repr() = short_backup; - } - else{ - boost::container::swap_dispatch(this->members_.m_repr.long_repr(), other.members_.m_repr.long_repr()); - } - } - } -}; - -} //namespace container_detail { - -#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 Allocator = std::allocator > -#else -template -#endif -class basic_string - : private container_detail::basic_string_base -{ - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - private: - typedef allocator_traits allocator_traits_type; - BOOST_COPYABLE_AND_MOVABLE(basic_string) - typedef container_detail::basic_string_base base_t; - 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 - 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 - 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 std::find_if(m_first, m_last, - std::bind1st(Eq_traits(), x)) == m_last; - } - }; - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - - public: - ////////////////////////////////////////////// - // - // types - // - ////////////////////////////////////////////// - typedef Traits traits_type; - typedef CharT value_type; - typedef typename ::boost::container::allocator_traits::pointer pointer; - typedef typename ::boost::container::allocator_traits::const_pointer const_pointer; - typedef typename ::boost::container::allocator_traits::reference reference; - typedef typename ::boost::container::allocator_traits::const_reference const_reference; - typedef typename ::boost::container::allocator_traits::size_type size_type; - typedef typename ::boost::container::allocator_traits::difference_type difference_type; - typedef Allocator allocator_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(std::reverse_iterator) reverse_iterator; - typedef BOOST_CONTAINER_IMPDEF(std::reverse_iterator) const_reverse_iterator; - static const size_type npos = size_type(-1); - - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - private: - typedef constant_iterator cvalue_iterator; - typedef typename base_t::allocator_v1 allocator_v1; - typedef typename base_t::allocator_v2 allocator_v2; - typedef typename base_t::alloc_version alloc_version; - typedef ::boost::intrusive::pointer_traits pointer_traits; - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - - 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 - - //! Effects: Default constructs a basic_string. - //! - //! Throws: If allocator_type's default constructor throws. - basic_string() - : base_t() - { this->priv_terminate_string(); } - - - //! Effects: Constructs a basic_string taking the allocator as parameter. - //! - //! Throws: Nothing - explicit basic_string(const allocator_type& a) BOOST_CONTAINER_NOEXCEPT - : base_t(a) - { this->priv_terminate_string(); } - - //! Effects: Copy constructs a basic_string. - //! - //! Postcondition: x == *this. - //! - //! Throws: 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()); - } - - //! Effects: Move constructor. Moves s's resources to *this. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - basic_string(BOOST_RV_REF(basic_string) s) BOOST_CONTAINER_NOEXCEPT - : base_t(boost::move((base_t&)s)) - {} - - //! Effects: Copy constructs a basic_string using the specified allocator. - //! - //! Postcondition: x == *this. - //! - //! Throws: 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()); - } - - //! Effects: Move constructor using the specified allocator. - //! Moves s's resources to *this. - //! - //! Throws: If allocation throws. - //! - //! Complexity: 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(a == this->alloc()){ - this->swap_data(s); - } - else{ - this->assign(s.begin(), s.end()); - } - } - - //! Effects: 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 = npos, - const allocator_type& a = allocator_type()) - : 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 + container_detail::min_value(n, s.size() - pos)); - } - - //! Effects: 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 = allocator_type()) - : base_t(a) - { - this->priv_terminate_string(); - this->assign(s, s + n); - } - - //! Effects: 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 = allocator_type()) - : base_t(a) - { - this->priv_terminate_string(); - this->assign(s, s + Traits::length(s)); - } - - //! Effects: 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 = allocator_type()) - : base_t(a) - { - this->priv_terminate_string(); - this->assign(n, c); - } - - //! Effects: 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 = allocator_type()) - : base_t(a, n + 1) - { - this->priv_size(n); - this->priv_terminate_string(); - } - - //! Effects: Constructs a basic_string taking the allocator as parameter, - //! and a range of iterators. - template - basic_string(InputIterator f, InputIterator l, const allocator_type& a = allocator_type()) - : base_t(a) - { - this->priv_terminate_string(); - this->assign(f, l); - } - - //! Effects: Destroys the basic_string. All used memory is deallocated. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - ~basic_string() BOOST_CONTAINER_NOEXCEPT - {} - - //! Effects: Copy constructs a string. - //! - //! Postcondition: x == *this. - //! - //! Complexity: Linear to the elements x contains. - basic_string& operator=(BOOST_COPY_ASSIGN_REF(basic_string) x) - { - if (&x != this){ - allocator_type &this_alloc = this->alloc(); - const allocator_type &x_alloc = x.alloc(); - container_detail::bool_ flag; - if(flag && this_alloc != x_alloc){ - if(!this->is_short()){ - this->deallocate_block(); - this->is_short(true); - Traits::assign(*this->priv_addr(), CharT(0)); - this->priv_short_size(0); - } - } - container_detail::assign_alloc(this->alloc(), x.alloc(), flag); - this->assign(x.begin(), x.end()); - } - return *this; - } - - //! Effects: Move constructor. Moves x's resources to *this. - //! - //! Throws: If allocator_traits_type::propagate_on_container_move_assignment - //! is false and allocation throws - //! - //! Complexity: 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_CONTAINER_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value) - { - //for move constructor, no aliasing (&x != this) is assummed. - BOOST_ASSERT(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; - container_detail::bool_ 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 - container_detail::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; - } - - //! Effects: Assignment from a null-terminated c-string. - basic_string& operator=(const CharT* s) - { return this->assign(s, s + Traits::length(s)); } - - //! Effects: Assignment from character. - basic_string& operator=(CharT c) - { return this->assign(static_cast(1), c); } - - //! Effects: Returns a copy of the internal allocator. - //! - //! Throws: If allocator's copy constructor throws. - //! - //! Complexity: Constant. - allocator_type get_allocator() const BOOST_CONTAINER_NOEXCEPT - { return this->alloc(); } - - //! Effects: Returns a reference to the internal allocator. - //! - //! Throws: Nothing - //! - //! Complexity: Constant. - //! - //! Note: Non-standard extension. - stored_allocator_type &get_stored_allocator() BOOST_CONTAINER_NOEXCEPT - { return this->alloc(); } - - //! Effects: Returns a reference to the internal allocator. - //! - //! Throws: Nothing - //! - //! Complexity: Constant. - //! - //! Note: Non-standard extension. - const stored_allocator_type &get_stored_allocator() const BOOST_CONTAINER_NOEXCEPT - { return this->alloc(); } - - ////////////////////////////////////////////// - // - // iterators - // - ////////////////////////////////////////////// - - //! Effects: Returns an iterator to the first element contained in the vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - iterator begin() BOOST_CONTAINER_NOEXCEPT - { return this->priv_addr(); } - - //! Effects: Returns a const_iterator to the first element contained in the vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator begin() const BOOST_CONTAINER_NOEXCEPT - { return this->priv_addr(); } - - //! Effects: Returns an iterator to the end of the vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - iterator end() BOOST_CONTAINER_NOEXCEPT - { return this->priv_end_addr(); } - - //! Effects: Returns a const_iterator to the end of the vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator end() const BOOST_CONTAINER_NOEXCEPT - { return this->priv_end_addr(); } - - //! Effects: Returns a reverse_iterator pointing to the beginning - //! of the reversed vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - reverse_iterator rbegin() BOOST_CONTAINER_NOEXCEPT - { return reverse_iterator(this->priv_end_addr()); } - - //! Effects: Returns a const_reverse_iterator pointing to the beginning - //! of the reversed vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator rbegin() const BOOST_CONTAINER_NOEXCEPT - { return this->crbegin(); } - - //! Effects: Returns a reverse_iterator pointing to the end - //! of the reversed vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - reverse_iterator rend() BOOST_CONTAINER_NOEXCEPT - { return reverse_iterator(this->priv_addr()); } - - //! Effects: Returns a const_reverse_iterator pointing to the end - //! of the reversed vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator rend() const BOOST_CONTAINER_NOEXCEPT - { return this->crend(); } - - //! Effects: Returns a const_iterator to the first element contained in the vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator cbegin() const BOOST_CONTAINER_NOEXCEPT - { return this->priv_addr(); } - - //! Effects: Returns a const_iterator to the end of the vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator cend() const BOOST_CONTAINER_NOEXCEPT - { return this->priv_end_addr(); } - - //! Effects: Returns a const_reverse_iterator pointing to the beginning - //! of the reversed vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator crbegin() const BOOST_CONTAINER_NOEXCEPT - { return const_reverse_iterator(this->priv_end_addr()); } - - //! Effects: Returns a const_reverse_iterator pointing to the end - //! of the reversed vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator crend() const BOOST_CONTAINER_NOEXCEPT - { return const_reverse_iterator(this->priv_addr()); } - - ////////////////////////////////////////////// - // - // capacity - // - ////////////////////////////////////////////// - - //! Effects: Returns true if the vector contains no elements. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - bool empty() const BOOST_CONTAINER_NOEXCEPT - { return !this->priv_size(); } - - //! Effects: Returns the number of the elements contained in the vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - size_type size() const BOOST_CONTAINER_NOEXCEPT - { return this->priv_size(); } - - //! Effects: Returns the number of the elements contained in the vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - size_type length() const BOOST_CONTAINER_NOEXCEPT - { return this->size(); } - - //! Effects: Returns the largest possible size of the vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - size_type max_size() const BOOST_CONTAINER_NOEXCEPT - { return base_t::max_size(); } - - //! Effects: Inserts or erases elements at the end such that - //! the size becomes n. New elements are copy constructed from x. - //! - //! Throws: If memory allocation throws - //! - //! Complexity: Linear to the difference between size() and new_size. - void resize(size_type n, CharT c) - { - if (n <= this->size()) - this->erase(this->begin() + n, this->end()); - else - this->append(n - this->size(), c); - } - - //! Effects: Inserts or erases elements at the end such that - //! the size becomes n. New elements are value initialized. - //! - //! Throws: If memory allocation throws - //! - //! Complexity: Linear to the difference between size() and new_size. - void resize(size_type n) - { resize(n, CharT()); } - - - //! Effects: Inserts or erases elements at the end such that - //! the size becomes n. New elements are uninitialized. - //! - //! Throws: If memory allocation throws - //! - //! Complexity: Linear to the difference between size() and new_size. - //! - //! Note: Non-standard extension - void resize(size_type n, default_init_t) - { - if (n <= this->size()) - this->erase(this->begin() + n, this->end()); - else{ - this->priv_reserve(n, false); - this->priv_size(n); - this->priv_terminate_string(); - } - } - - //! Effects: Number of elements for which memory has been allocated. - //! capacity() is always greater than or equal to size(). - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - size_type capacity() const BOOST_CONTAINER_NOEXCEPT - { return this->priv_capacity(); } - - //! Effects: If n is less than or equal to capacity(), this call has no - //! effect. Otherwise, it is a request for allocation of additional memory. - //! If the request is successful, then capacity() is greater than or equal to - //! n; otherwise, capacity() is unchanged. In either case, size() is unchanged. - //! - //! Throws: If memory allocation allocation throws - void reserve(size_type res_arg) - { this->priv_reserve(res_arg); } - - //! Effects: Tries to deallocate the excess of memory created - //! with previous allocations. The size of the string is unchanged - //! - //! Throws: Nothing - //! - //! Complexity: 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( container_detail::to_raw_pointer(this->priv_short_addr()) - , container_detail::to_raw_pointer(long_addr) - , long_size+1); - this->is_short(true); - this->alloc().deallocate(long_addr, long_storage); - } - else{ - //Shrinking in dynamic buffer - this->priv_shrink_to_fit_dynamic_buffer(alloc_version()); - } - } - } - - ////////////////////////////////////////////// - // - // element access - // - ////////////////////////////////////////////// - - //! Requires: size() > n. - //! - //! Effects: Returns a reference to the nth element - //! from the beginning of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - reference operator[](size_type n) BOOST_CONTAINER_NOEXCEPT - { return *(this->priv_addr() + n); } - - //! Requires: size() > n. - //! - //! Effects: Returns a const reference to the nth element - //! from the beginning of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reference operator[](size_type n) const BOOST_CONTAINER_NOEXCEPT - { return *(this->priv_addr() + n); } - - //! Requires: size() > n. - //! - //! Effects: Returns a reference to the nth element - //! from the beginning of the container. - //! - //! Throws: std::range_error if n >= size() - //! - //! Complexity: Constant. - reference at(size_type n) - { - if (n >= this->size()) - throw_out_of_range("basic_string::at invalid subscript"); - return *(this->priv_addr() + n); - } - - //! Requires: size() > n. - //! - //! Effects: Returns a const reference to the nth element - //! from the beginning of the container. - //! - //! Throws: std::range_error if n >= size() - //! - //! Complexity: Constant. - const_reference at(size_type n) const { - if (n >= this->size()) - throw_out_of_range("basic_string::at invalid subscript"); - return *(this->priv_addr() + n); - } - - ////////////////////////////////////////////// - // - // modifiers - // - ////////////////////////////////////////////// - - //! Effects: Calls append(str.data, str.size()). - //! - //! Returns: *this - basic_string& operator+=(const basic_string& s) - { return this->append(s); } - - //! Effects: Calls append(s). - //! - //! Returns: *this - basic_string& operator+=(const CharT* s) - { return this->append(s); } - - //! Effects: Calls append(1, c). - //! - //! Returns: *this - basic_string& operator+=(CharT c) - { this->push_back(c); return *this; } - - //! Effects: Calls append(str.data(), str.size()). - //! - //! Returns: *this - basic_string& append(const basic_string& s) - { return this->append(s.begin(), s.end()); } - - //! Requires: pos <= str.size() - //! - //! Effects: 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). - //! - //! Throws: If memory allocation throws and out_of_range if pos > str.size() - //! - //! Returns: *this - basic_string& append(const basic_string& s, size_type pos, size_type n) - { - if (pos > s.size()) - throw_out_of_range("basic_string::append out of range position"); - return this->append(s.begin() + pos, - s.begin() + pos + container_detail::min_value(n, s.size() - pos)); - } - - //! Requires: s points to an array of at least n elements of CharT. - //! - //! Effects: 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. - //! - //! Throws: If memory allocation throws length_error if size() + n > max_size(). - //! - //! Returns: *this - basic_string& append(const CharT* s, size_type n) - { return this->append(s, s + n); } - - //! Requires: s points to an array of at least traits::length(s) + 1 elements of CharT. - //! - //! Effects: Calls append(s, traits::length(s)). - //! - //! Returns: *this - basic_string& append(const CharT* s) - { return this->append(s, s + Traits::length(s)); } - - //! Effects: Equivalent to append(basic_string(n, c)). - //! - //! Returns: *this - basic_string& append(size_type n, CharT c) - { return this->append(cvalue_iterator(c, n), cvalue_iterator()); } - - //! Requires: [first,last) is a valid range. - //! - //! Effects: Equivalent to append(basic_string(first, last)). - //! - //! Returns: *this - template - basic_string& append(InputIter first, InputIter last) - { this->insert(this->end(), first, last); return *this; } - - //! Effects: Equivalent to append(static_cast(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 + old_size + 1); - Traits::assign(addr[old_size], c); - this->priv_size(old_size+1); - } - else{ - //No enough memory, insert a new object at the end - this->append(size_type(1), c); - } - } - - //! Effects: Equivalent to assign(str, 0, npos). - //! - //! Returns: *this - basic_string& assign(const basic_string& s) - { return this->operator=(s); } - - //! Effects: 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. - //! - //! Throws: Nothing - //! - //! Returns: *this - basic_string& assign(BOOST_RV_REF(basic_string) ms) BOOST_CONTAINER_NOEXCEPT - { return this->swap_data(ms), *this; } - - //! Requires: pos <= str.size() - //! - //! Effects: 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). - //! - //! Throws: If memory allocation throws or out_of_range if pos > str.size(). - //! - //! Returns: *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 + container_detail::min_value(n, s.size() - pos)); - } - - //! Requires: s points to an array of at least n elements of CharT. - //! - //! Effects: Replaces the string controlled by *this with a string of - //! length n whose elements are a copy of those pointed to by s. - //! - //! Throws: If memory allocation throws or length_error if n > max_size(). - //! - //! Returns: *this - basic_string& assign(const CharT* s, size_type n) - { return this->assign(s, s + n); } - - //! Requires: s points to an array of at least traits::length(s) + 1 elements of CharT. - //! - //! Effects: Calls assign(s, traits::length(s)). - //! - //! Returns: *this - basic_string& assign(const CharT* s) - { return this->assign(s, s + Traits::length(s)); } - - //! Effects: Equivalent to assign(basic_string(n, c)). - //! - //! Returns: *this - basic_string& assign(size_type n, CharT c) - { return this->assign(cvalue_iterator(c, n), cvalue_iterator()); } - - //! Effects: Equivalent to assign(basic_string(first, last)). - //! - //! Returns: *this - basic_string& assign(const CharT* first, const CharT* last) - { - size_type n = static_cast(last - first); - this->reserve(n); - CharT* ptr = container_detail::to_raw_pointer(this->priv_addr()); - Traits::copy(ptr, first, n); - this->priv_construct_null(ptr + n); - this->priv_size(n); - return *this; - } - - //! Effects: Equivalent to assign(basic_string(first, last)). - //! - //! Returns: *this - template - basic_string& assign(InputIter first, InputIter last - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value - >::type * = 0 - #endif - ) - { - size_type cur = 0; - const pointer addr = this->priv_addr(); - CharT *ptr = container_detail::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 + cur, addr + old_size); - else - this->append(first, last); - return *this; - } - - //! Requires: pos <= size(). - //! - //! Effects: Calls insert(pos, str.data(), str.size()). - //! - //! Throws: If memory allocation throws or out_of_range if pos > size(). - //! - //! Returns: *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; - } - - //! Requires: pos1 <= size() and pos2 <= str.size() - //! - //! Effects: 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). - //! - //! Throws: If memory allocation throws or out_of_range if pos1 > size() or pos2 > str.size(). - //! - //! Returns: *this - basic_string& insert(size_type pos1, const basic_string& s, size_type pos2, size_type n) - { - 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 = container_detail::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 = container_detail::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; - } - - //! Requires: s points to an array of at least n elements of CharT and pos <= size(). - //! - //! Effects: 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. - //! - //! Throws: If memory allocation throws, out_of_range if pos > size() or - //! length_error if size() + n > max_size(). - //! - //! Returns: *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 + n); - return *this; - } - - //! Requires: pos <= size() and s points to an array of at least traits::length(s) + 1 elements of CharT - //! - //! Effects: Calls insert(pos, s, traits::length(s)). - //! - //! Throws: If memory allocation throws, out_of_range if pos > size() - //! length_error if size() > max_size() - Traits::length(s) - //! - //! Returns: *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; - } - - //! Effects: Equivalent to insert(pos, basic_string(n, c)). - //! - //! Throws: If memory allocation throws, out_of_range if pos > size() - //! length_error if size() > max_size() - n - //! - //! Returns: *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; - } - - //! Requires: p is a valid iterator on *this. - //! - //! Effects: inserts a copy of c before the character referred to by p. - //! - //! Returns: An iterator which refers to the copy of the inserted character. - iterator insert(const_iterator p, CharT c) - { - size_type new_offset = p - this->priv_addr(); - this->insert(p, cvalue_iterator(c, 1), cvalue_iterator()); - return this->priv_addr() + new_offset; - } - - - //! Requires: p is a valid iterator on *this. - //! - //! Effects: Inserts n copies of c before the character referred to by p. - //! - //! Returns: 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()); } - - //! Requires: p is a valid iterator on *this. [first,last) is a valid range. - //! - //! Effects: Equivalent to insert(p - begin(), basic_string(first, last)). - //! - //! Returns: an iterator to the first inserted element or p if first == last. - template - iterator insert(const_iterator p, InputIter first, InputIter last - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value - && container_detail::is_input_iterator::value - >::type * = 0 - #endif - ) - { - const size_type n_pos = p - this->cbegin(); - for ( ; first != last; ++first, ++p) { - p = this->insert(p, *first); - } - return this->begin() + n_pos; - } - - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - template - iterator insert(const_iterator p, ForwardIter first, ForwardIter last - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value - && !container_detail::is_input_iterator::value - >::type * = 0 - ) - { - const size_type n_pos = p - this->cbegin(); - if (first != last) { - const size_type n = std::distance(first, last); - const size_type old_size = this->priv_size(); - const size_type remaining = this->capacity() - old_size; - const pointer old_start = this->priv_addr(); - bool enough_capacity = false; - std::pair allocation_ret; - size_type new_cap = 0; - - //Check if we have enough capacity - if (remaining >= n){ - enough_capacity = true; - } - else { - //Otherwise expand current buffer or allocate new storage - new_cap = this->next_capacity(n); - allocation_ret = this->allocation_command - (allocate_new | expand_fwd | expand_bwd, old_size + n + 1, - new_cap, new_cap, old_start); - - //Check forward expansion - if(old_start == allocation_ret.first){ - enough_capacity = true; - this->priv_storage(new_cap); - } - } - - //Reuse same buffer - if(enough_capacity){ - const size_type elems_after = old_size - (p - old_start); - const size_type old_length = old_size; - if (elems_after >= n) { - const pointer pointer_past_last = old_start + old_size + 1; - priv_uninitialized_copy(old_start + (old_size - n + 1), - pointer_past_last, pointer_past_last); - - this->priv_size(old_size+n); - Traits::move(const_cast(container_detail::to_raw_pointer(p + n)), - container_detail::to_raw_pointer(p), - (elems_after - n) + 1); - this->priv_copy(first, last, const_cast(container_detail::to_raw_pointer(p))); - } - else { - ForwardIter mid = first; - std::advance(mid, elems_after + 1); - - priv_uninitialized_copy(mid, last, old_start + old_size + 1); - const size_type newer_size = old_size + (n - elems_after); - this->priv_size(newer_size); - priv_uninitialized_copy - (p, const_iterator(old_start + old_length + 1), - old_start + newer_size); - this->priv_size(newer_size + elems_after); - this->priv_copy(first, mid, const_cast(container_detail::to_raw_pointer(p))); - } - } - else{ - pointer new_start = allocation_ret.first; - if(!allocation_ret.second){ - //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 + new_length); - new_length += priv_uninitialized_copy - (p, const_iterator(old_start + old_size), - new_start + new_length); - this->priv_construct_null(new_start + new_length); - - this->deallocate_block(); - this->is_short(false); - 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 - value_type * const oldbuf = container_detail::to_raw_pointer(old_start); - value_type * const newbuf = container_detail::to_raw_pointer(new_start); - const value_type *const pos = container_detail::to_raw_pointer(p); - const size_type before = pos - oldbuf; - - //First move old data - Traits::move(newbuf, oldbuf, before); - Traits::move(newbuf + before + n, pos, old_size - before); - //Now initialize the new data - priv_uninitialized_copy(first, last, new_start + before); - this->priv_construct_null(new_start + (old_size + n)); - this->is_short(false); - this->priv_long_addr(new_start); - this->priv_long_size(old_size + n); - this->priv_long_storage(new_cap); - } - } - } - return this->begin() + n_pos; - } - #endif - - //! Requires: pos <= size() - //! - //! Effects: 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. - //! - //! Throws: out_of_range if pos > size(). - //! - //! Returns: *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 + pos, addr + pos + container_detail::min_value(n, this->size() - pos)); - return *this; - } - - //! Effects: Removes the character referred to by p. - //! - //! Throws: Nothing - //! - //! Returns: An iterator which points to the element immediately following p prior to the element being - //! erased. If no such element exists, end() is returned. - iterator erase(const_iterator p) BOOST_CONTAINER_NOEXCEPT - { - // The move includes the terminating null. - CharT * const ptr = const_cast(container_detail::to_raw_pointer(p)); - const size_type old_size = this->priv_size(); - Traits::move(ptr, - container_detail::to_raw_pointer(p + 1), - old_size - (p - this->priv_addr())); - this->priv_size(old_size-1); - return iterator(ptr); - } - - //! Requires: first and last are valid iterators on *this, defining a range [first,last). - //! - //! Effects: Removes the characters in the range [first,last). - //! - //! Throws: Nothing - //! - //! Returns: An iterator which points to the element pointed to by last prior to - //! the other elements being erased. If no such element exists, end() is returned. - iterator erase(const_iterator first, const_iterator last) BOOST_CONTAINER_NOEXCEPT - { - CharT * f = const_cast(container_detail::to_raw_pointer(first)); - if (first != last) { // The move includes the terminating null. - const size_type num_erased = last - first; - const size_type old_size = this->priv_size(); - Traits::move(f, - container_detail::to_raw_pointer(last), - (old_size + 1)-(last - this->priv_addr())); - const size_type new_length = old_size - num_erased; - this->priv_size(new_length); - } - return iterator(f); - } - - //! Requires: !empty() - //! - //! Throws: Nothing - //! - //! Effects: Equivalent to erase(size() - 1, 1). - void pop_back() BOOST_CONTAINER_NOEXCEPT - { - const size_type old_size = this->priv_size(); - Traits::assign(this->priv_addr()[old_size-1], CharT(0)); - this->priv_size(old_size-1);; - } - - //! Effects: Erases all the elements of the vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements in the vector. - void clear() BOOST_CONTAINER_NOEXCEPT - { - if (!this->empty()) { - Traits::assign(*this->priv_addr(), CharT(0)); - this->priv_size(0); - } - } - - //! Requires: pos1 <= size(). - //! - //! Effects: Calls replace(pos1, n1, str.data(), str.size()). - //! - //! Throws: if memory allocation throws or out_of_range if pos1 > size(). - //! - //! Returns: *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 = container_detail::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 + pos1) - , const_iterator(addr + pos1 + len) - , str.begin(), str.end()); - } - - //! Requires: pos1 <= size() and pos2 <= str.size(). - //! - //! Effects: 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). - //! - //! Throws: if memory allocation throws, out_of_range if pos1 > size() or pos2 > str.size(). - //! - //! Returns: *this - basic_string& replace(size_type pos1, size_type n1, - const basic_string& str, size_type pos2, size_type n2) - { - if (pos1 > this->size() || pos2 > str.size()) - throw_out_of_range("basic_string::replace out of range position"); - const size_type len1 = container_detail::min_value(n1, this->size() - pos1); - const size_type len2 = container_detail::min_value(n2, str.size() - pos2); - if (this->size() - len1 >= this->max_size() - len2) - throw_length_error("basic_string::replace max_size() exceeded"); - const pointer addr = this->priv_addr(); - const pointer straddr = str.priv_addr(); - return this->replace(addr + pos1, addr + pos1 + len1, - straddr + pos2, straddr + pos2 + len2); - } - - //! Requires: pos1 <= size() and s points to an array of at least n2 elements of CharT. - //! - //! Effects: 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. - //! - //! Throws: if memory allocation throws, out_of_range if pos1 > size() or length_error - //! if the length of the resulting string would exceed max_size() - //! - //! Returns: *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 = container_detail::min_value(n1, this->size() - pos1); - if (n2 > this->max_size() || 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 + pos1, addr + pos1 + len, s, s + n2); - } - - //! Requires: pos1 <= size() and s points to an array of at least n2 elements of CharT. - //! - //! Effects: 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. - //! - //! Throws: if memory allocation throws, out_of_range if pos1 > size() or length_error - //! if the length of the resulting string would exceed max_size() - //! - //! Returns: *this - basic_string& replace(size_type pos, size_type n1, const CharT* s) - { - if (pos > this->size()) - throw_out_of_range("basic_string::replace out of range position"); - const size_type len = container_detail::min_value(n1, this->size() - pos); - const size_type n2 = Traits::length(s); - 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 + pos, addr + pos + len, - s, s + Traits::length(s)); - } - - //! Requires: pos1 <= size(). - //! - //! Effects: Equivalent to replace(pos1, n1, basic_string(n2, c)). - //! - //! Throws: if memory allocation throws, out_of_range if pos1 > size() or length_error - //! if the length of the resulting string would exceed max_size() - //! - //! Returns: *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 = container_detail::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 + pos1, addr + pos1 + len, n2, c); - } - - //! Requires: [begin(),i1) and [i1,i2) are valid ranges. - //! - //! Effects: Calls replace(i1 - begin(), i2 - i1, str). - //! - //! Throws: if memory allocation throws - //! - //! Returns: *this - basic_string& replace(const_iterator i1, const_iterator i2, const basic_string& str) - { return this->replace(i1, i2, str.begin(), str.end()); } - - //! Requires: [begin(),i1) and [i1,i2) are valid ranges and - //! s points to an array of at least n elements - //! - //! Effects: Calls replace(i1 - begin(), i2 - i1, s, n). - //! - //! Throws: if memory allocation throws - //! - //! Returns: *this - basic_string& replace(const_iterator i1, const_iterator i2, const CharT* s, size_type n) - { return this->replace(i1, i2, s, s + n); } - - //! Requires: [begin(),i1) and [i1,i2) are valid ranges and s points to an - //! array of at least traits::length(s) + 1 elements of CharT. - //! - //! Effects: Calls replace(i1 - begin(), i2 - i1, s, traits::length(s)). - //! - //! Throws: if memory allocation throws - //! - //! Returns: *this - basic_string& replace(const_iterator i1, const_iterator i2, const CharT* s) - { return this->replace(i1, i2, s, s + Traits::length(s)); } - - //! Requires: [begin(),i1) and [i1,i2) are valid ranges. - //! - //! Effects: Calls replace(i1 - begin(), i2 - i1, basic_string(n, c)). - //! - //! Throws: if memory allocation throws - //! - //! Returns: *this - basic_string& replace(const_iterator i1, const_iterator i2, size_type n, CharT c) - { - const size_type len = static_cast(i2 - i1); - if (len >= n) { - Traits::assign(const_cast(container_detail::to_raw_pointer(i1)), n, c); - erase(i1 + n, i2); - } - else { - Traits::assign(const_cast(container_detail::to_raw_pointer(i1)), len, c); - insert(i2, n - len, c); - } - return *this; - } - - //! Requires: [begin(),i1), [i1,i2) and [j1,j2) are valid ranges. - //! - //! Effects: Calls replace(i1 - begin(), i2 - i1, basic_string(j1, j2)). - //! - //! Throws: if memory allocation throws - //! - //! Returns: *this - template - basic_string& replace(const_iterator i1, const_iterator i2, InputIter j1, InputIter j2 - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value - && container_detail::is_input_iterator::value - >::type * = 0 - #endif - ) - { - for ( ; i1 != i2 && j1 != j2; ++i1, ++j1){ - Traits::assign(*const_cast(container_detail::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 - basic_string& replace(const_iterator i1, const_iterator i2, ForwardIter j1, ForwardIter j2 - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value - && !container_detail::is_input_iterator::value - >::type * = 0 - ) - { - difference_type n = std::distance(j1, j2); - const difference_type len = i2 - i1; - if (len >= n) { - this->priv_copy(j1, j2, const_cast(container_detail::to_raw_pointer(i1))); - this->erase(i1 + n, i2); - } - else { - ForwardIter m = j1; - std::advance(m, len); - this->priv_copy(j1, m, const_cast(container_detail::to_raw_pointer(i1))); - this->insert(i2, m, j2); - } - return *this; - } - #endif - - //! Requires: pos <= size() - //! - //! Effects: 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. - //! - //! Throws: if memory allocation throws, out_of_range if pos > size(). - //! - //! Returns: 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 = container_detail::min_value(n, this->size() - pos); - Traits::copy(s, container_detail::to_raw_pointer(this->priv_addr() + pos), len); - return len; - } - - //! Effects: *this contains the same sequence of characters that was in s, - //! s contains the same sequence of characters that was in *this. - //! - //! Throws: Nothing - void swap(basic_string& x) - { - this->base_t::swap_data(x); - container_detail::bool_ flag; - container_detail::swap_alloc(this->alloc(), x.alloc(), flag); - } - - ////////////////////////////////////////////// - // - // data access - // - ////////////////////////////////////////////// - - //! Requires: The program shall not alter any of the values stored in the character array. - //! - //! Returns: Allocator pointer p such that p + i == &operator[](i) for each i in [0,size()]. - //! - //! Complexity: constant time. - const CharT* c_str() const BOOST_CONTAINER_NOEXCEPT - { return container_detail::to_raw_pointer(this->priv_addr()); } - - //! Requires: The program shall not alter any of the values stored in the character array. - //! - //! Returns: Allocator pointer p such that p + i == &operator[](i) for each i in [0,size()]. - //! - //! Complexity: constant time. - const CharT* data() const BOOST_CONTAINER_NOEXCEPT - { return container_detail::to_raw_pointer(this->priv_addr()); } - - ////////////////////////////////////////////// - // - // string operations - // - ////////////////////////////////////////////// - - //! Effects: Determines the lowest position xpos, if possible, such that both - //! of the following conditions obtain: 19 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. - //! - //! Throws: Nothing - //! - //! Returns: xpos if the function can determine such a value for xpos. Otherwise, returns npos. - size_type find(const basic_string& s, size_type pos = 0) const - { return find(s.c_str(), pos, s.size()); } - - //! Requires: s points to an array of at least n elements of CharT. - //! - //! Throws: Nothing - //! - //! Returns: find(basic_string(s,n),pos). - 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 + this->priv_size(); - const const_iterator result = - std::search(container_detail::to_raw_pointer(addr + pos), - container_detail::to_raw_pointer(finish), - s, s + n, Eq_traits()); - return result != finish ? result - begin() : npos; - } - } - - //! Requires: s points to an array of at least traits::length(s) + 1 elements of CharT. - //! - //! Throws: Nothing - //! - //! Returns: find(basic_string(s), pos). - size_type find(const CharT* s, size_type pos = 0) const - { return this->find(s, pos, Traits::length(s)); } - - //! Throws: Nothing - //! - //! Returns: find(basic_string(1,c), pos). - 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 + sz; - const const_iterator result = - std::find_if(addr + pos, finish, - std::bind2nd(Eq_traits(), c)); - return result != finish ? result - begin() : npos; - } - } - - //! Effects: 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. - //! - //! Throws: Nothing - //! - //! Returns: xpos if the function can determine such a value for xpos. Otherwise, returns npos. - size_type rfind(const basic_string& str, size_type pos = npos) const - { return rfind(str.c_str(), pos, str.size()); } - - //! Requires: s points to an array of at least n elements of CharT. - //! - //! Throws: Nothing - //! - //! Returns: rfind(basic_string(s, n), pos). - 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 container_detail::min_value(len, pos); - else { - const const_iterator last = begin() + container_detail::min_value(len - n, pos) + n; - const const_iterator result = find_end(begin(), last, - s, s + n, - Eq_traits()); - return result != last ? result - begin() : npos; - } - } - - //! Requires: pos <= size() and s points to an array of at least - //! traits::length(s) + 1 elements of CharT. - //! - //! Throws: Nothing - //! - //! Returns: rfind(basic_string(s), pos). - size_type rfind(const CharT* s, size_type pos = npos) const - { return rfind(s, pos, Traits::length(s)); } - - //! Throws: Nothing - //! - //! Returns: rfind(basic_string(1,c),pos). - 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() + container_detail::min_value(len - 1, pos) + 1; - const_reverse_iterator rresult = - std::find_if(const_reverse_iterator(last), rend(), - std::bind2nd(Eq_traits(), c)); - return rresult != rend() ? (rresult.base() - 1) - begin() : npos; - } - } - - //! Effects: 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. - //! - //! Throws: Nothing - //! - //! Returns: xpos if the function can determine such a value for xpos. Otherwise, returns npos. - size_type find_first_of(const basic_string& s, size_type pos = 0) const - { return find_first_of(s.c_str(), pos, s.size()); } - - //! Requires: s points to an array of at least n elements of CharT. - //! - //! Throws: Nothing - //! - //! Returns: find_first_of(basic_string(s, n), pos). - 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 + sz; - const_iterator result = std::find_first_of - (addr + pos, finish, s, s + n, Eq_traits()); - return result != finish ? result - this->begin() : npos; - } - } - - //! Requires: s points to an array of at least traits::length(s) + 1 elements of CharT. - //! - //! Throws: Nothing - //! - //! Returns: find_first_of(basic_string(s), pos). - size_type find_first_of(const CharT* s, size_type pos = 0) const - { return find_first_of(s, pos, Traits::length(s)); } - - //! Requires: s points to an array of at least traits::length(s) + 1 elements of CharT. - //! - //! Throws: Nothing - //! - //! Returns: find_first_of(basic_string(1,c), pos). - size_type find_first_of(CharT c, size_type pos = 0) const - { return find(c, pos); } - - //! Effects: 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. - //! - //! Throws: Nothing - //! - //! Returns: xpos if the function can determine such a value for xpos. Otherwise, returns npos. - size_type find_last_of(const basic_string& str, size_type pos = npos) const - { return find_last_of(str.c_str(), pos, str.size()); } - - //! Requires: s points to an array of at least n elements of CharT. - //! - //! Throws: Nothing - //! - //! Returns: find_last_of(basic_string(s, n), pos). - 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 + container_detail::min_value(len - 1, pos) + 1; - const const_reverse_iterator rresult = - std::find_first_of(const_reverse_iterator(last), rend(), - s, s + n, Eq_traits()); - return rresult != rend() ? (rresult.base() - 1) - addr : npos; - } - } - - //! Requires: s points to an array of at least traits::length(s) + 1 elements of CharT. - //! - //! Throws: Nothing - //! - //! Returns: find_last_of(basic_string(1,c),pos). - size_type find_last_of(const CharT* s, size_type pos = npos) const - { return find_last_of(s, pos, Traits::length(s)); } - - //! Throws: Nothing - //! - //! Returns: find_last_of(basic_string(s), pos). - size_type find_last_of(CharT c, size_type pos = npos) const - { return rfind(c, pos); } - - //! Effects: 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. - //! - //! Throws: Nothing - //! - //! Returns: xpos if the function can determine such a value for xpos. Otherwise, returns npos. - size_type find_first_not_of(const basic_string& str, size_type pos = 0) const - { return find_first_not_of(str.c_str(), pos, str.size()); } - - //! Requires: s points to an array of at least traits::length(s) + 1 elements of CharT. - //! - //! Throws: Nothing - //! - //! Returns: find_first_not_of(basic_string(s, n), pos). - 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 + this->priv_size(); - const const_iterator result = std::find_if - (addr + pos, finish, Not_within_traits(s, s + n)); - return result != finish ? result - addr : npos; - } - } - - //! Requires: s points to an array of at least traits::length(s) + 1 elements of CharT. - //! - //! Throws: Nothing - //! - //! Returns: find_first_not_of(basic_string(s), pos). - size_type find_first_not_of(const CharT* s, size_type pos = 0) const - { return find_first_not_of(s, pos, Traits::length(s)); } - - //! Throws: Nothing - //! - //! Returns: find_first_not_of(basic_string(1, c), pos). - 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 + this->priv_size(); - const const_iterator result - = std::find_if(addr + pos, finish, - std::not1(std::bind2nd(Eq_traits(), c))); - return result != finish ? result - begin() : npos; - } - } - - //! Effects: 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. - //! - //! Throws: Nothing - //! - //! Returns: xpos if the function can determine such a value for xpos. Otherwise, returns npos. - size_type find_last_not_of(const basic_string& str, size_type pos = npos) const - { return find_last_not_of(str.c_str(), pos, str.size()); } - - //! Requires: s points to an array of at least n elements of CharT. - //! - //! Throws: Nothing - //! - //! Returns: find_last_not_of(basic_string(s, n), pos). - 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() + container_detail::min_value(len - 1, pos) + 1; - const const_reverse_iterator rresult = - std::find_if(const_reverse_iterator(last), rend(), - Not_within_traits(s, s + n)); - return rresult != rend() ? (rresult.base() - 1) - begin() : npos; - } - } - - //! Requires: s points to an array of at least traits::length(s) + 1 elements of CharT. - //! - //! Throws: Nothing - //! - //! Returns: find_last_not_of(basic_string(s), pos). - size_type find_last_not_of(const CharT* s, size_type pos = npos) const - { return find_last_not_of(s, pos, Traits::length(s)); } - - //! Throws: Nothing - //! - //! Returns: find_last_not_of(basic_string(1, c), pos). - 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() + container_detail::min_value(len - 1, pos) + 1; - const const_reverse_iterator rresult = - std::find_if(const_reverse_iterator(last), rend(), - std::not1(std::bind2nd(Eq_traits(), c))); - return rresult != rend() ? (rresult.base() - 1) - begin() : npos; - } - } - - //! Requires: Requires: pos <= size() - //! - //! Effects: Determines the effective length rlen of the string to copy as - //! the smaller of n and size() - pos. - //! - //! Throws: If memory allocation throws or out_of_range if pos > size(). - //! - //! Returns: basic_string(data()+pos,rlen). - 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 + pos, - addr + pos + container_detail::min_value(n, size() - pos), this->alloc()); - } - - //! Effects: Determines the effective length rlen of the string to copy as - //! the smaller of size() and str.size(). The function then compares the two strings by - //! calling traits::compare(data(), str.data(), rlen). - //! - //! Throws: Nothing - //! - //! Returns: 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() - int compare(const basic_string& str) const - { - const pointer addr = this->priv_addr(); - const pointer str_addr = str.priv_addr(); - return s_compare(addr, addr + this->priv_size(), str_addr, str_addr + str.priv_size()); - } - - //! Requires: pos1 <= size() - //! - //! Effects: Determines the effective length rlen of the string to copy as - //! the smaller of - //! - //! Throws: out_of_range if pos1 > size() - //! - //! Returns:basic_string(*this,pos1,n1).compare(str). - 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 s_compare(addr + pos1, - addr + pos1 + container_detail::min_value(n1, this->size() - pos1), - str_addr, str_addr + str.priv_size()); - } - - //! Requires: pos1 <= size() and pos2 <= str.size() - //! - //! Effects: Determines the effective length rlen of the string to copy as - //! the smaller of - //! - //! Throws: out_of_range if pos1 > size() or pos2 > str.size() - //! - //! Returns: basic_string(*this, pos1, n1).compare(basic_string(str, pos2, n2)). - int compare(size_type pos1, size_type n1, const basic_string& str, size_type pos2, size_type n2) 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(); - const pointer str_addr = str.priv_addr(); - return s_compare(addr + pos1, - addr + pos1 + container_detail::min_value(n1, this->size() - pos1), - str_addr + pos2, - str_addr + pos2 + container_detail::min_value(n2, str.size() - pos2)); - } - - //! Throws: Nothing - //! - //! Returns: compare(basic_string(s)). - int compare(const CharT* s) const - { - const pointer addr = this->priv_addr(); - return s_compare(addr, addr + this->priv_size(), s, s + Traits::length(s)); - } - - - //! Requires: pos1 > size() and s points to an array of at least n2 elements of CharT. - //! - //! Throws: out_of_range if pos1 > size() - //! - //! Returns: basic_string(*this, pos, n1).compare(basic_string(s, n2)). - 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 s_compare( addr + pos1, - addr + pos1 + container_detail::min_value(n1, this->size() - pos1), - s, s + n2); - } - - //! Requires: pos1 > size() and s points to an array of at least traits::length(s) + 1 elements of CharT. - //! - //! Throws: out_of_range if pos1 > size() - //! - //! Returns: basic_string(*this, pos, n1).compare(basic_string(s, n2)). - 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 = container_detail::max_value(res_arg, this->size()) + 1; - size_type new_cap = this->next_capacity(n); - pointer new_start = this->allocation_command - (allocate_new, n, new_cap, new_cap).first; - size_type new_length = 0; - - const pointer addr = this->priv_addr(); - new_length += priv_uninitialized_copy - (addr, addr + this->priv_size(), new_start); - if(null_terminate){ - this->priv_construct_null(new_start + new_length); - } - this->deallocate_block(); - this->is_short(false); - this->priv_long_addr(new_start); - this->priv_long_size(new_length); - this->priv_storage(new_cap); - } - } - - static int s_compare(const_pointer f1, const_pointer l1, - const_pointer f2, const_pointer l2) - { - const difference_type n1 = l1 - f1; - const difference_type n2 = l2 - f2; - const int cmp = Traits::compare(container_detail::to_raw_pointer(f1), - container_detail::to_raw_pointer(f2), - container_detail::min_value(n1, n2)); - return cmp != 0 ? cmp : (n1 < n2 ? -1 : (n1 > n2 ? 1 : 0)); - } - - template - void priv_shrink_to_fit_dynamic_buffer - ( AllocVersion - , typename container_detail::enable_if >::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{ - const std::pair ret = this->allocation_command - (allocate_new, long_size+1, long_size+1, real_cap, long_addr); - //Copy and update - Traits::copy( container_detail::to_raw_pointer(ret.first) - , container_detail::to_raw_pointer(this->priv_long_addr()) - , long_size+1); - this->priv_long_addr(ret.first); - this->priv_storage(real_cap); - //And release old buffer - this->alloc().deallocate(long_addr, long_storage); - } - BOOST_CATCH(...){ - return; - } - BOOST_CATCH_END - } - - template - void priv_shrink_to_fit_dynamic_buffer - ( AllocVersion - , typename container_detail::enable_if >::type* = 0) - { - size_type received_size; - if(this->alloc().allocation_command - ( shrink_in_place | nothrow_allocation - , this->priv_long_storage(), this->priv_long_size()+1 - , received_size, this->priv_long_addr()).first){ - this->priv_storage(received_size); - } - } - - 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. - void priv_terminate_string() - { this->priv_construct_null(this->priv_end_addr()); } - - template 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 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 - void priv_copy(InputIterator first, InputIterator last, OutIterator result) - { - for ( ; first != last; ++first, ++result) - Traits::assign(*result, *first); - } - - void priv_copy(const CharT* first, const CharT* last, CharT* result) - { Traits::copy(result, first, last - first); } - - template - basic_string& priv_replace_dispatch(const_iterator first, const_iterator last, - Integer n, Integer x, - container_detail::true_) - { return this->replace(first, last, (size_type) n, (CharT) x); } - - template - basic_string& priv_replace_dispatch(const_iterator first, const_iterator last, - InputIter f, InputIter l, - container_detail::false_) - { - typedef typename std::iterator_traits::iterator_category Category; - return this->priv_replace(first, last, f, l, Category()); - } - - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED -}; - -#ifdef BOOST_CONTAINER_DOXYGEN_INVOKED - -//!Typedef for a basic_string of -//!narrow characters -typedef basic_string - - ,std::allocator > -string; - -//!Typedef for a basic_string of -//!narrow characters -typedef basic_string - - ,std::allocator > -wstring; - -#endif - -// ------------------------------------------------------------ -// Non-member functions. - -// Operator+ - -template inline - basic_string - operator+(const basic_string& x - ,const basic_string& y) -{ - typedef basic_string 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 inline - basic_string operator+ - ( BOOST_RV_REF_BEG basic_string BOOST_RV_REF_END mx - , BOOST_RV_REF_BEG basic_string BOOST_RV_REF_END my) -{ - mx += my; - return boost::move(mx); -} - -template inline - basic_string operator+ - ( BOOST_RV_REF_BEG basic_string BOOST_RV_REF_END mx - , const basic_string& y) -{ - mx += y; - return boost::move(mx); -} - -template inline - basic_string operator+ - (const basic_string& x - ,BOOST_RV_REF_BEG basic_string BOOST_RV_REF_END my) -{ - my.insert(my.begin(), x.begin(), x.end()); - return boost::move(my); -} - -template inline - basic_string operator+ - (const CharT* s, basic_string y) -{ - y.insert(y.begin(), s, s + Traits::length(s)); - return y; -} - -template inline - basic_string operator+ - (basic_string x, const CharT* s) -{ - x += s; - return x; -} - -template inline - basic_string operator+ - (CharT c, basic_string y) -{ - y.insert(y.begin(), c); - return y; -} - -template inline - basic_string operator+ - (basic_string x, const CharT c) -{ - x += c; - return x; -} - -// Operator== and operator!= - -template -inline bool -operator==(const basic_string& x, - const basic_string& y) -{ - return x.size() == y.size() && - Traits::compare(x.data(), y.data(), x.size()) == 0; -} - -template -inline bool -operator==(const CharT* s, const basic_string& y) -{ - typename basic_string::size_type n = Traits::length(s); - return n == y.size() && Traits::compare(s, y.data(), n) == 0; -} - -template -inline bool -operator==(const basic_string& x, const CharT* s) -{ - typename basic_string::size_type n = Traits::length(s); - return x.size() == n && Traits::compare(x.data(), s, n) == 0; -} - -template -inline bool -operator!=(const basic_string& x, - const basic_string& y) - { return !(x == y); } - -template -inline bool -operator!=(const CharT* s, const basic_string& y) - { return !(s == y); } - -template -inline bool -operator!=(const basic_string& x, const CharT* s) - { return !(x == s); } - - -// Operator< (and also >, <=, and >=). - -template -inline bool -operator<(const basic_string& x, const basic_string& y) -{ - return x.compare(y) < 0; -// return basic_string -// ::s_compare(x.begin(), x.end(), y.begin(), y.end()) < 0; -} - -template -inline bool -operator<(const CharT* s, const basic_string& y) -{ - return y.compare(s) > 0; -// basic_string::size_type n = Traits::length(s); -// return basic_string -// ::s_compare(s, s + n, y.begin(), y.end()) < 0; -} - -template -inline bool -operator<(const basic_string& x, - const CharT* s) -{ - return x.compare(s) < 0; -// basic_string::size_type n = Traits::length(s); -// return basic_string -// ::s_compare(x.begin(), x.end(), s, s + n) < 0; -} - -template -inline bool -operator>(const basic_string& x, - const basic_string& y) { - return y < x; -} - -template -inline bool -operator>(const CharT* s, const basic_string& y) { - return y < s; -} - -template -inline bool -operator>(const basic_string& x, const CharT* s) -{ - return s < x; -} - -template -inline bool -operator<=(const basic_string& x, - const basic_string& y) -{ - return !(y < x); -} - -template -inline bool -operator<=(const CharT* s, const basic_string& y) - { return !(y < s); } - -template -inline bool -operator<=(const basic_string& x, const CharT* s) - { return !(s < x); } - -template -inline bool -operator>=(const basic_string& x, - const basic_string& y) - { return !(x < y); } - -template -inline bool -operator>=(const CharT* s, const basic_string& y) - { return !(s < y); } - -template -inline bool -operator>=(const basic_string& x, const CharT* s) - { return !(x < s); } - -// Swap. -template -inline void swap(basic_string& x, basic_string& y) -{ x.swap(y); } - -#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED -// I/O. -namespace container_detail { - -template -inline bool -string_fill(std::basic_ostream& os, - std::basic_streambuf* 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 container_detail { -#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const basic_string& s) -{ - typename std::basic_ostream::sentry sentry(os); - bool ok = false; - - if (sentry) { - ok = true; - typename basic_string::size_type n = s.size(); - typename basic_string::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* buf = os.rdbuf(); - - if (w != 0 && n < w) - pad_len = w - n; - - if (!left) - ok = container_detail::string_fill(os, buf, pad_len); - - ok = ok && - buf->sputn(s.data(), std::streamsize(n)) == std::streamsize(n); - - if (left) - ok = ok && container_detail::string_fill(os, buf, pad_len); - } - - if (!ok) - os.setstate(std::ios_base::failbit); - - return os; -} - - -template -std::basic_istream& -operator>>(std::basic_istream& is, basic_string& s) -{ - typename std::basic_istream::sentry sentry(is); - - if (sentry) { - std::basic_streambuf* buf = is.rdbuf(); - const std::ctype& ctype = std::use_facet >(is.getloc()); - - s.clear(); - std::size_t n = is.width(0); - if (n == 0) - n = static_cast(-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::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 -std::basic_istream& -getline(std::istream& is, basic_string& s,CharT delim) -{ - typename basic_string::size_type nread = 0; - typename std::basic_istream::sentry sentry(is, true); - if (sentry) { - std::basic_streambuf* 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 -inline std::basic_istream& -getline(std::basic_istream& is, basic_string& s) -{ - return getline(is, s, '\n'); -} - -template -inline std::size_t hash_value(basic_string, Allocator> const& v) -{ - return hash_range(v.begin(), v.end()); -} - -}} - -#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -namespace boost { - -//!has_trivial_destructor_after_move<> == true_type -//!specialization for optimizations -template -struct has_trivial_destructor_after_move > - : public ::boost::has_trivial_destructor_after_move -{}; - -} - -#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -#include - -#endif // BOOST_CONTAINER_STRING_HPP diff --git a/bundled/boost-1.56.0/include/boost/container/vector.hpp b/bundled/boost-1.56.0/include/boost/container/vector.hpp deleted file mode 100644 index 16f52d3c5c..0000000000 --- a/bundled/boost-1.56.0/include/boost/container/vector.hpp +++ /dev/null @@ -1,2755 +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_CONTAINER_VECTOR_HPP -#define BOOST_CONTAINER_CONTAINER_VECTOR_HPP - -#if defined(_MSC_VER) -# pragma once -#endif - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { -namespace container { - -#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -//#define BOOST_CONTAINER_VECTOR_ITERATOR_IS_POINTER - -namespace container_detail { - -#ifndef BOOST_CONTAINER_VECTOR_ITERATOR_IS_POINTER - -template -class vec_iterator -{ - public: - typedef std::random_access_iterator_tag iterator_category; - typedef typename boost::intrusive::pointer_traits::element_type value_type; - typedef typename boost::intrusive::pointer_traits::difference_type difference_type; - typedef typename if_c - < IsConst - , typename boost::intrusive::pointer_traits::template - rebind_pointer::type - , Pointer - >::type pointer; - typedef typename boost::intrusive::pointer_traits ptr_traits; - typedef typename ptr_traits::reference reference; - - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - private: - Pointer m_ptr; - - public: - const Pointer &get_ptr() const BOOST_CONTAINER_NOEXCEPT - { return m_ptr; } - - Pointer &get_ptr() BOOST_CONTAINER_NOEXCEPT - { return m_ptr; } - - explicit vec_iterator(Pointer ptr) BOOST_CONTAINER_NOEXCEPT - : m_ptr(ptr) - {} - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - - public: - - //Constructors - vec_iterator() BOOST_CONTAINER_NOEXCEPT - #ifndef NDEBUG - : m_ptr() - #else - // No value initialization of m_ptr() to speed up things a bit: - #endif - {} - - vec_iterator(vec_iterator const& other) BOOST_CONTAINER_NOEXCEPT - : m_ptr(other.get_ptr()) - {} - - //Pointer like operators - reference operator*() const BOOST_CONTAINER_NOEXCEPT - { return *m_ptr; } - - pointer operator->() const BOOST_CONTAINER_NOEXCEPT - { return ::boost::intrusive::pointer_traits::pointer_to(this->operator*()); } - - reference operator[](difference_type off) const BOOST_CONTAINER_NOEXCEPT - { return m_ptr[off]; } - - //Increment / Decrement - vec_iterator& operator++() BOOST_CONTAINER_NOEXCEPT - { ++m_ptr; return *this; } - - vec_iterator operator++(int) BOOST_CONTAINER_NOEXCEPT - { return vec_iterator(m_ptr++); } - - vec_iterator& operator--() BOOST_CONTAINER_NOEXCEPT - { --m_ptr; return *this; } - - vec_iterator operator--(int) BOOST_CONTAINER_NOEXCEPT - { return vec_iterator(m_ptr--); } - - //Arithmetic - vec_iterator& operator+=(difference_type off) BOOST_CONTAINER_NOEXCEPT - { m_ptr += off; return *this; } - - vec_iterator& operator-=(difference_type off) BOOST_CONTAINER_NOEXCEPT - { m_ptr -= off; return *this; } - - friend vec_iterator operator+(const vec_iterator &x, difference_type off) BOOST_CONTAINER_NOEXCEPT - { return vec_iterator(x.m_ptr+off); } - - friend vec_iterator operator+(difference_type off, vec_iterator right) BOOST_CONTAINER_NOEXCEPT - { right.m_ptr += off; return right; } - - friend vec_iterator operator-(vec_iterator left, difference_type off) BOOST_CONTAINER_NOEXCEPT - { left.m_ptr -= off; return left; } - - friend difference_type operator-(const vec_iterator &left, const vec_iterator& right) BOOST_CONTAINER_NOEXCEPT - { return left.m_ptr - right.m_ptr; } - - //Comparison operators - friend bool operator== (const vec_iterator& l, const vec_iterator& r) BOOST_CONTAINER_NOEXCEPT - { return l.m_ptr == r.m_ptr; } - - friend bool operator!= (const vec_iterator& l, const vec_iterator& r) BOOST_CONTAINER_NOEXCEPT - { return l.m_ptr != r.m_ptr; } - - friend bool operator< (const vec_iterator& l, const vec_iterator& r) BOOST_CONTAINER_NOEXCEPT - { return l.m_ptr < r.m_ptr; } - - friend bool operator<= (const vec_iterator& l, const vec_iterator& r) BOOST_CONTAINER_NOEXCEPT - { return l.m_ptr <= r.m_ptr; } - - friend bool operator> (const vec_iterator& l, const vec_iterator& r) BOOST_CONTAINER_NOEXCEPT - { return l.m_ptr > r.m_ptr; } - - friend bool operator>= (const vec_iterator& l, const vec_iterator& r) BOOST_CONTAINER_NOEXCEPT - { return l.m_ptr >= r.m_ptr; } -}; - -} //namespace container_detail { - -template -const Pointer &vector_iterator_get_ptr(const container_detail::vec_iterator &it) BOOST_CONTAINER_NOEXCEPT -{ return it.get_ptr(); } - -template -Pointer &get_ptr(container_detail::vec_iterator &it) BOOST_CONTAINER_NOEXCEPT -{ return it.get_ptr(); } - -namespace container_detail { - -#else //ifndef BOOST_CONTAINER_VECTOR_ITERATOR_IS_POINTER - -template< class MaybeConstPointer - , bool ElementTypeIsConst - = is_const< typename boost::intrusive::pointer_traits::element_type>::value > -struct vector_get_ptr_pointer_to_non_const -{ - typedef MaybeConstPointer const_pointer; - typedef boost::intrusive::pointer_traits pointer_traits_t; - typedef typename pointer_traits_t::element_type element_type; - typedef typename remove_const::type non_const_element_type; - typedef typename pointer_traits_t - ::template rebind_pointer::type return_type; - - static return_type get_ptr(const const_pointer &ptr) BOOST_CONTAINER_NOEXCEPT - { return boost::intrusive::pointer_traits::const_cast_from(ptr); } -}; - -template -struct vector_get_ptr_pointer_to_non_const -{ - typedef const Pointer & return_type; - static return_type get_ptr(const Pointer &ptr) BOOST_CONTAINER_NOEXCEPT - { return ptr; } -}; - -} //namespace container_detail { - -template -typename container_detail::vector_get_ptr_pointer_to_non_const::return_type - vector_iterator_get_ptr(const MaybeConstPointer &ptr) BOOST_CONTAINER_NOEXCEPT -{ - return container_detail::vector_get_ptr_pointer_to_non_const::get_ptr(ptr); -} - -namespace container_detail { - -#endif //#ifndef BOOST_CONTAINER_VECTOR_ITERATOR_IS_POINTER - -struct uninitialized_size_t {}; -static const uninitialized_size_t uninitialized_size = uninitialized_size_t(); - -template -struct vector_value_traits -{ - typedef T value_type; - typedef Allocator allocator_type; - static const bool trivial_dctr = boost::has_trivial_destructor::value; - static const bool trivial_dctr_after_move = ::boost::has_trivial_destructor_after_move::value; - static const bool trivial_copy = has_trivial_copy::value; - static const bool nothrow_copy = has_nothrow_copy::value || trivial_copy; - static const bool trivial_assign = has_trivial_assign::value; - static const bool nothrow_assign = has_nothrow_assign::value || trivial_assign; - - //This is the anti-exception array destructor - //to deallocate values already constructed - typedef typename container_detail::if_c - - ,container_detail::scoped_destructor_n - >::type ArrayDestructor; - //This is the anti-exception array deallocator - typedef typename container_detail::if_c - - ,container_detail::scoped_array_deallocator - >::type ArrayDeallocator; -}; - -//!This struct deallocates and allocated memory -template < class Allocator - , class AllocatorVersion = typename container_detail::version::type - > -struct vector_alloc_holder - : public Allocator -{ - private: - BOOST_MOVABLE_BUT_NOT_COPYABLE(vector_alloc_holder) - - public: - typedef boost::container::allocator_traits allocator_traits_type; - typedef typename allocator_traits_type::pointer pointer; - typedef typename allocator_traits_type::size_type size_type; - typedef typename allocator_traits_type::value_type value_type; - - //Constructor, does not throw - vector_alloc_holder() - BOOST_CONTAINER_NOEXCEPT_IF(::boost::has_nothrow_default_constructor::value) - : Allocator(), m_start(), m_size(), m_capacity() - {} - - //Constructor, does not throw - template - explicit vector_alloc_holder(BOOST_FWD_REF(AllocConvertible) a) BOOST_CONTAINER_NOEXCEPT - : Allocator(boost::forward(a)), m_start(), m_size(), m_capacity() - {} - - //Constructor, does not throw - template - vector_alloc_holder(uninitialized_size_t, BOOST_FWD_REF(AllocConvertible) a, size_type initial_size) - : Allocator(boost::forward(a)) - , m_start() - , m_size(initial_size) //Size is initialized here so vector should only call uninitialized_xxx after this - , m_capacity() - { - if(initial_size){ - m_start = this->allocation_command(allocate_new, initial_size, initial_size, m_capacity, m_start).first; - } - } - - //Constructor, does not throw - vector_alloc_holder(uninitialized_size_t, size_type initial_size) - : Allocator() - , m_start() - , m_size(initial_size) //Size is initialized here so vector should only call uninitialized_xxx after this - , m_capacity() - { - if(initial_size){ - m_start = this->allocation_command - (allocate_new, initial_size, initial_size, m_capacity, m_start).first; - } - } - - vector_alloc_holder(BOOST_RV_REF(vector_alloc_holder) holder) BOOST_CONTAINER_NOEXCEPT - : Allocator(boost::move(static_cast(holder))) - , m_start(holder.m_start) - , m_size(holder.m_size) - , m_capacity(holder.m_capacity) - { - holder.m_start = pointer(); - holder.m_size = holder.m_capacity = 0; - } - - void first_allocation(size_type cap) - { - if(cap){ - m_start = this->allocation_command - (allocate_new, cap, cap, m_capacity, m_start).first; - } - } - - void first_allocation_same_allocator_type(size_type cap) - { this->first_allocation(cap); } - - ~vector_alloc_holder() BOOST_CONTAINER_NOEXCEPT - { - if(this->m_capacity){ - this->alloc().deallocate(this->m_start, this->m_capacity); - } - } - - std::pair - allocation_command(boost::container::allocation_type command, - size_type limit_size, - size_type preferred_size, - size_type &received_size, const pointer &reuse = pointer()) - { - return allocator_version_traits::allocation_command - (this->alloc(), command, limit_size, preferred_size, received_size, reuse); - } - - size_type next_capacity(size_type additional_objects) const - { - return next_capacity_calculator - :: - get( allocator_traits_type::max_size(this->alloc()) - , this->m_capacity, additional_objects ); - } - - pointer m_start; - size_type m_size; - size_type m_capacity; - - void swap(vector_alloc_holder &x) BOOST_CONTAINER_NOEXCEPT - { - boost::container::swap_dispatch(this->m_start, x.m_start); - boost::container::swap_dispatch(this->m_size, x.m_size); - boost::container::swap_dispatch(this->m_capacity, x.m_capacity); - } - - void move_from_empty(vector_alloc_holder &x) BOOST_CONTAINER_NOEXCEPT - { - //this->m_size was previously initialized - this->m_start = x.m_start; - this->m_capacity = x.m_capacity; - x.m_start = pointer(); - x.m_size = x.m_capacity = 0; - } - - Allocator &alloc() BOOST_CONTAINER_NOEXCEPT - { return *this; } - - const Allocator &alloc() const BOOST_CONTAINER_NOEXCEPT - { return *this; } - - const pointer &start() const BOOST_CONTAINER_NOEXCEPT { return m_start; } - const size_type &capacity() const BOOST_CONTAINER_NOEXCEPT { return m_capacity; } - void start(const pointer &p) BOOST_CONTAINER_NOEXCEPT { m_start = p; } - void capacity(const size_type &c) BOOST_CONTAINER_NOEXCEPT { m_capacity = c; } -}; - -//!This struct deallocates and allocated memory -template -struct vector_alloc_holder > - : public Allocator -{ - private: - BOOST_MOVABLE_BUT_NOT_COPYABLE(vector_alloc_holder) - - public: - typedef boost::container::allocator_traits allocator_traits_type; - typedef typename allocator_traits_type::pointer pointer; - typedef typename allocator_traits_type::size_type size_type; - typedef typename allocator_traits_type::value_type value_type; - - template - friend struct vector_alloc_holder; - - //Constructor, does not throw - vector_alloc_holder() - BOOST_CONTAINER_NOEXCEPT_IF(::boost::has_nothrow_default_constructor::value) - : Allocator(), m_size() - {} - - //Constructor, does not throw - template - explicit vector_alloc_holder(BOOST_FWD_REF(AllocConvertible) a) BOOST_CONTAINER_NOEXCEPT - : Allocator(boost::forward(a)), m_size() - {} - - //Constructor, does not throw - template - vector_alloc_holder(uninitialized_size_t, BOOST_FWD_REF(AllocConvertible) a, size_type initial_size) - : Allocator(boost::forward(a)) - , m_size(initial_size) //Size is initialized here... - { - //... and capacity here, so vector, must call uninitialized_xxx in the derived constructor - this->first_allocation(initial_size); - } - - //Constructor, does not throw - vector_alloc_holder(uninitialized_size_t, size_type initial_size) - : Allocator() - , m_size(initial_size) //Size is initialized here... - { - //... and capacity here, so vector, must call uninitialized_xxx in the derived constructor - this->first_allocation(initial_size); - } - - vector_alloc_holder(BOOST_RV_REF(vector_alloc_holder) holder) - : Allocator(boost::move(static_cast(holder))) - , m_size(holder.m_size) //Size is initialized here so vector should only call uninitialized_xxx after this - { - ::boost::container::uninitialized_move_alloc_n - (this->alloc(), container_detail::to_raw_pointer(holder.start()), m_size, container_detail::to_raw_pointer(this->start())); - } - - template - vector_alloc_holder(BOOST_RV_REF_BEG vector_alloc_holder BOOST_RV_REF_END holder) - : Allocator() - , m_size(holder.m_size) //Initialize it to m_size as first_allocation can only succeed or abort - { - //Different allocator type so we must check we have enough storage - const size_type n = holder.m_size; - this->first_allocation(n); - ::boost::container::uninitialized_move_alloc_n - (this->alloc(), container_detail::to_raw_pointer(holder.start()), n, container_detail::to_raw_pointer(this->start())); - } - - void first_allocation(size_type cap) - { - if(cap > Allocator::internal_capacity){ - throw_bad_alloc(); - } - } - - void first_allocation_same_allocator_type(size_type) BOOST_CONTAINER_NOEXCEPT - {} - - //Destructor - ~vector_alloc_holder() BOOST_CONTAINER_NOEXCEPT - {} - - void swap(vector_alloc_holder &x) - { - this->priv_swap_members_impl(x); - } - - template - void swap(vector_alloc_holder &x) - { - if(this->m_size > OtherAllocator::internal_capacity || x.m_size > Allocator::internal_capacity){ - throw_bad_alloc(); - } - this->priv_swap_members_impl(x); - } - - void move_from_empty(vector_alloc_holder &) - { //Containers with version 0 allocators can't be moved without move elements one by one - throw_bad_alloc(); - } - - Allocator &alloc() BOOST_CONTAINER_NOEXCEPT - { return *this; } - - const Allocator &alloc() const BOOST_CONTAINER_NOEXCEPT - { return *this; } - - pointer start() const BOOST_CONTAINER_NOEXCEPT { return Allocator::internal_storage(); } - size_type capacity() const BOOST_CONTAINER_NOEXCEPT { return Allocator::internal_capacity; } - size_type m_size; - - private: - - template - void priv_swap_members_impl(vector_alloc_holder &x) - { - const std::size_t MaxTmpStorage = sizeof(value_type)*Allocator::internal_capacity; - value_type *const first_this = container_detail::to_raw_pointer(this->start()); - value_type *const first_x = container_detail::to_raw_pointer(x.start()); - - if(this->m_size < x.m_size){ - boost::container::deep_swap_alloc_n(this->alloc(), first_this, this->m_size, first_x, x.m_size); - } - else{ - boost::container::deep_swap_alloc_n(this->alloc(), first_x, x.m_size, first_this, this->m_size); - } - boost::container::swap_dispatch(this->m_size, x.m_size); - } -}; - -} //namespace container_detail { - -#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -//! A vector is a sequence that supports random access to elements, constant -//! time insertion and removal of elements at the end, and linear time insertion -//! and removal of elements at the beginning or in the middle. The number of -//! elements in a vector may vary dynamically; memory management is automatic. -//! -//! \tparam T The type of object that is stored in the vector -//! \tparam Allocator The allocator used for all internal memory management -#ifdef BOOST_CONTAINER_DOXYGEN_INVOKED -template > -#else -template -#endif -class vector -{ - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - - typedef typename container_detail::version::type alloc_version; - boost::container::container_detail::vector_alloc_holder - m_holder; - typedef allocator_traits allocator_traits_type; - template - friend class vector; - - typedef typename ::boost::container::allocator_traits - ::pointer pointer_impl; - typedef container_detail::vec_iterator iterator_impl; - typedef container_detail::vec_iterator const_iterator_impl; - - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - public: - ////////////////////////////////////////////// - // - // types - // - ////////////////////////////////////////////// - - typedef T value_type; - typedef typename ::boost::container::allocator_traits::pointer pointer; - typedef typename ::boost::container::allocator_traits::const_pointer const_pointer; - typedef typename ::boost::container::allocator_traits::reference reference; - typedef typename ::boost::container::allocator_traits::const_reference const_reference; - typedef typename ::boost::container::allocator_traits::size_type size_type; - typedef typename ::boost::container::allocator_traits::difference_type difference_type; - typedef Allocator allocator_type; - typedef Allocator stored_allocator_type; - #if defined BOOST_CONTAINER_VECTOR_ITERATOR_IS_POINTER && !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - typedef BOOST_CONTAINER_IMPDEF(pointer) iterator; - typedef BOOST_CONTAINER_IMPDEF(const_pointer) const_iterator; - #else - typedef BOOST_CONTAINER_IMPDEF(iterator_impl) iterator; - typedef BOOST_CONTAINER_IMPDEF(const_iterator_impl) const_iterator; - #endif - typedef BOOST_CONTAINER_IMPDEF(std::reverse_iterator) reverse_iterator; - typedef BOOST_CONTAINER_IMPDEF(std::reverse_iterator) const_reverse_iterator; - - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - private: - BOOST_COPYABLE_AND_MOVABLE(vector) - typedef container_detail::vector_value_traits value_traits; - - typedef container_detail::integral_constant allocator_v0; - typedef container_detail::integral_constant allocator_v1; - typedef container_detail::integral_constant allocator_v2; - - typedef constant_iterator cvalue_iterator; - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - - public: - ////////////////////////////////////////////// - // - // construct/copy/destroy - // - ////////////////////////////////////////////// - - //! Effects: Constructs a vector taking the allocator as parameter. - //! - //! Throws: If allocator_type's default constructor throws. - //! - //! Complexity: Constant. - vector() - BOOST_CONTAINER_NOEXCEPT_IF(::boost::has_nothrow_default_constructor::value) - : m_holder() - {} - - //! Effects: Constructs a vector taking the allocator as parameter. - //! - //! Throws: Nothing - //! - //! Complexity: Constant. - explicit vector(const Allocator& a) BOOST_CONTAINER_NOEXCEPT - : m_holder(a) - {} - - //! Effects: Constructs a vector that will use a copy of allocator a - //! and inserts n value initialized values. - //! - //! Throws: If allocator_type's default constructor or allocation - //! throws or T's value initialization throws. - //! - //! Complexity: Linear to n. - explicit vector(size_type n) - : m_holder(container_detail::uninitialized_size, n) - { - boost::container::uninitialized_value_init_alloc_n - (this->m_holder.alloc(), n, container_detail::to_raw_pointer(this->m_holder.start())); - } - - //! Effects: Constructs a vector that will use a copy of allocator a - //! and inserts n default initialized values. - //! - //! Throws: If allocator_type's default constructor or allocation - //! throws or T's default initialization throws. - //! - //! Complexity: Linear to n. - //! - //! Note: Non-standard extension - vector(size_type n, default_init_t) - : m_holder(container_detail::uninitialized_size, n) - { - boost::container::uninitialized_default_init_alloc_n - (this->m_holder.alloc(), n, container_detail::to_raw_pointer(this->m_holder.start())); - } - - //! Effects: Constructs a vector - //! and inserts n copies of value. - //! - //! Throws: If allocator_type's default constructor or allocation - //! throws or T's copy constructor throws. - //! - //! Complexity: Linear to n. - vector(size_type n, const T& value) - : m_holder(container_detail::uninitialized_size, n) - { - boost::container::uninitialized_fill_alloc_n - (this->m_holder.alloc(), value, n, container_detail::to_raw_pointer(this->m_holder.start())); - } - - //! Effects: Constructs a vector that will use a copy of allocator a - //! and inserts n copies of value. - //! - //! Throws: If allocation - //! throws or T's copy constructor throws. - //! - //! Complexity: Linear to n. - vector(size_type n, const T& value, const allocator_type& a) - : m_holder(container_detail::uninitialized_size, a, n) - { - boost::container::uninitialized_fill_alloc_n - (this->m_holder.alloc(), value, n, container_detail::to_raw_pointer(this->m_holder.start())); - } - - //! Effects: Constructs a vector - //! and inserts a copy of the range [first, last) in the vector. - //! - //! Throws: If allocator_type's default constructor or allocation - //! throws or T's constructor taking a dereferenced InIt throws. - //! - //! Complexity: Linear to the range [first, last). - template - vector(InIt first, InIt last) - : m_holder() - { this->insert(this->cend(), first, last); } - - //! Effects: Constructs a vector that will use a copy of allocator a - //! and inserts a copy of the range [first, last) in the vector. - //! - //! Throws: If allocator_type's default constructor or allocation - //! throws or T's constructor taking a dereferenced InIt throws. - //! - //! Complexity: Linear to the range [first, last). - template - vector(InIt first, InIt last, const allocator_type& a) - : m_holder(a) - { this->insert(this->cend(), first, last); } - - //! Effects: Copy constructs a vector. - //! - //! Postcondition: x == *this. - //! - //! Throws: If allocator_type's default constructor or allocation - //! throws or T's copy constructor throws. - //! - //! Complexity: Linear to the elements x contains. - vector(const vector &x) - : m_holder( container_detail::uninitialized_size - , allocator_traits_type::select_on_container_copy_construction(x.m_holder.alloc()) - , x.size()) - { - ::boost::container::uninitialized_copy_alloc_n - ( this->m_holder.alloc(), container_detail::to_raw_pointer(x.m_holder.start()) - , x.size(), container_detail::to_raw_pointer(this->m_holder.start())); - } - - //! Effects: Move constructor. Moves x's resources to *this. - //! - //! Throws: Nothing - //! - //! Complexity: Constant. - vector(BOOST_RV_REF(vector) x) BOOST_CONTAINER_NOEXCEPT - : m_holder(boost::move(x.m_holder)) - {} - - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - //! Effects: Move constructor. Moves x's resources to *this. - //! - //! Throws: If T's move constructor or allocation throws - //! - //! Complexity: Linear. - //! - //! Note: Non-standard extension to support static_vector - template - vector(BOOST_RV_REF_BEG vector BOOST_RV_REF_END x - , typename container_detail::enable_if_c - < container_detail::is_version::value>::type * = 0 - ) - : m_holder(boost::move(x.m_holder)) - {} - - #endif //!defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - //! Effects: Copy constructs a vector using the specified allocator. - //! - //! Postcondition: x == *this. - //! - //! Throws: If allocation - //! throws or T's copy constructor throws. - //! - //! Complexity: Linear to the elements x contains. - vector(const vector &x, const allocator_type &a) - : m_holder(container_detail::uninitialized_size, a, x.size()) - { - ::boost::container::uninitialized_copy_alloc_n_source - ( this->m_holder.alloc(), container_detail::to_raw_pointer(x.m_holder.start()) - , x.size(), container_detail::to_raw_pointer(this->m_holder.start())); - } - - //! Effects: Move constructor using the specified allocator. - //! Moves x's resources to *this if a == allocator_type(). - //! Otherwise copies values from x to *this. - //! - //! Throws: If allocation or T's copy constructor throws. - //! - //! Complexity: Constant if a == x.get_allocator(), linear otherwise. - vector(BOOST_RV_REF(vector) x, const allocator_type &a) - : m_holder(container_detail::uninitialized_size, a, x.size()) - { - if(x.m_holder.alloc() == a){ - this->m_holder.move_from_empty(x.m_holder); - } - else{ - const size_type n = x.size(); - this->m_holder.first_allocation_same_allocator_type(n); - ::boost::container::uninitialized_move_alloc_n_source - ( this->m_holder.alloc(), container_detail::to_raw_pointer(x.m_holder.start()) - , n, container_detail::to_raw_pointer(this->m_holder.start())); - } - } - - //! Effects: Destroys the vector. All stored values are destroyed - //! and used memory is deallocated. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements. - ~vector() BOOST_CONTAINER_NOEXCEPT - { - boost::container::destroy_alloc_n - (this->get_stored_allocator(), container_detail::to_raw_pointer(this->m_holder.start()), this->m_holder.m_size); - //vector_alloc_holder deallocates the data - } - - //! Effects: Makes *this contain the same elements as x. - //! - //! Postcondition: this->size() == x.size(). *this contains a copy - //! of each of x's elements. - //! - //! Throws: If memory allocation throws or T's copy/move constructor/assignment throws. - //! - //! Complexity: Linear to the number of elements in x. - vector& operator=(BOOST_COPY_ASSIGN_REF(vector) x) - { - if (&x != this){ - this->priv_copy_assign(x); - } - return *this; - } - - //! Effects: Move assignment. All x's values are transferred to *this. - //! - //! Postcondition: x.empty(). *this contains a the elements x had - //! before the function. - //! - //! Throws: If allocator_traits_type::propagate_on_container_move_assignment - //! is false and (allocation throws or value_type's move constructor throws) - //! - //! Complexity: Constant if allocator_traits_type:: - //! propagate_on_container_move_assignment is true or - //! this->get>allocator() == x.get_allocator(). Linear otherwise. - vector& operator=(BOOST_RV_REF(vector) x) - BOOST_CONTAINER_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value) - { - this->priv_move_assign(boost::move(x)); - return *this; - } - - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - //! Effects: Move assignment. All x's values are transferred to *this. - //! - //! Postcondition: x.empty(). *this contains a the elements x had - //! before the function. - //! - //! Throws: If move constructor/assignment of T throws or allocation throws - //! - //! Complexity: Linear. - //! - //! Note: Non-standard extension to support static_vector - template - typename container_detail::enable_if_c - < container_detail::is_version::value && - !container_detail::is_same::value - , vector& >::type - operator=(BOOST_RV_REF_BEG vector BOOST_RV_REF_END x) - { - this->priv_move_assign(boost::move(x)); - return *this; - } - - //! Effects: Copy assignment. All x's values are copied to *this. - //! - //! Postcondition: x.empty(). *this contains a the elements x had - //! before the function. - //! - //! Throws: If move constructor/assignment of T throws or allocation throws - //! - //! Complexity: Linear. - //! - //! Note: Non-standard extension to support static_vector - template - typename container_detail::enable_if_c - < container_detail::is_version::value && - !container_detail::is_same::value - , vector& >::type - operator=(const vector &x) - { - this->priv_copy_assign(x); - return *this; - } - - #endif - - //! Effects: Assigns the the range [first, last) to *this. - //! - //! Throws: If memory allocation throws or T's copy/move constructor/assignment or - //! T's constructor/assignment from dereferencing InpIt throws. - //! - //! Complexity: Linear to n. - template - void assign(InIt first, InIt last - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value && - ( container_detail::is_input_iterator::value || - container_detail::is_same::value ) - >::type * = 0 - #endif - ) - { - //Overwrite all elements we can from [first, last) - iterator cur = this->begin(); - const iterator end_it = this->end(); - for ( ; first != last && cur != end_it; ++cur, ++first){ - *cur = *first; - } - - if (first == last){ - //There are no more elements in the sequence, erase remaining - T* const end_pos = container_detail::to_raw_pointer(this->m_holder.start()) + this->m_holder.m_size; - size_type n = static_cast(end_pos - container_detail::to_raw_pointer(vector_iterator_get_ptr(cur))); - this->priv_destroy_last_n(n); - } - else{ - //There are more elements in the range, insert the remaining ones - this->insert(this->cend(), first, last); - } - } - - //! Effects: Assigns the the range [first, last) to *this. - //! - //! Throws: If memory allocation throws or T's copy/move constructor/assignment or - //! T's constructor/assignment from dereferencing InpIt throws. - //! - //! Complexity: Linear to n. - template - void assign(FwdIt first, FwdIt last - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value && - ( !container_detail::is_input_iterator::value && - !container_detail::is_same::value ) - >::type * = 0 - #endif - ) - { - //For Fwd iterators the standard only requires EmplaceConstructible and assignable from *first - //so we can't do any backwards allocation - const size_type input_sz = static_cast(std::distance(first, last)); - const size_type old_capacity = this->capacity(); - if(input_sz > old_capacity){ //If input range is too big, we need to reallocate - size_type real_cap = 0; - std::pair ret = - this->m_holder.allocation_command(allocate_new, input_sz, input_sz, real_cap, this->m_holder.start()); - if(!ret.second){ //New allocation, just emplace new values - pointer const old_p = this->m_holder.start(); - if(old_p){ - this->priv_destroy_all(); - this->m_holder.alloc().deallocate(old_p, old_capacity); - } - this->m_holder.start(ret.first); - this->m_holder.capacity(real_cap); - this->m_holder.m_size = 0; - this->priv_uninitialized_construct_at_end(first, last); - return; - } - else{ - //Forward expansion, use assignment + back deletion/construction that comes later - } - } - //Overwrite all elements we can from [first, last) - iterator cur = this->begin(); - const iterator end_it = this->end(); - for ( ; first != last && cur != end_it; ++cur, ++first){ - *cur = *first; - } - - if (first == last){ - //There are no more elements in the sequence, erase remaining - this->priv_destroy_last_n(this->size() - input_sz); - } - else{ - //Uninitialized construct at end the remaining range - this->priv_uninitialized_construct_at_end(first, last); - } - } - - //! Effects: Assigns the n copies of val to *this. - //! - //! Throws: If memory allocation throws or - //! T's copy/move constructor/assignment throws. - //! - //! Complexity: Linear to n. - void assign(size_type n, const value_type& val) - { this->assign(cvalue_iterator(val, n), cvalue_iterator()); } - - //! Effects: Returns a copy of the internal allocator. - //! - //! Throws: If allocator's copy constructor throws. - //! - //! Complexity: Constant. - allocator_type get_allocator() const BOOST_CONTAINER_NOEXCEPT - { return this->m_holder.alloc(); } - - //! Effects: Returns a reference to the internal allocator. - //! - //! Throws: Nothing - //! - //! Complexity: Constant. - //! - //! Note: Non-standard extension. - stored_allocator_type &get_stored_allocator() BOOST_CONTAINER_NOEXCEPT - { return this->m_holder.alloc(); } - - //! Effects: Returns a reference to the internal allocator. - //! - //! Throws: Nothing - //! - //! Complexity: Constant. - //! - //! Note: Non-standard extension. - const stored_allocator_type &get_stored_allocator() const BOOST_CONTAINER_NOEXCEPT - { return this->m_holder.alloc(); } - - ////////////////////////////////////////////// - // - // iterators - // - ////////////////////////////////////////////// - - //! Effects: Returns an iterator to the first element contained in the vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - iterator begin() BOOST_CONTAINER_NOEXCEPT - { return iterator(this->m_holder.start()); } - - //! Effects: Returns a const_iterator to the first element contained in the vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator begin() const BOOST_CONTAINER_NOEXCEPT - { return const_iterator(this->m_holder.start()); } - - //! Effects: Returns an iterator to the end of the vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - iterator end() BOOST_CONTAINER_NOEXCEPT - { return iterator(this->m_holder.start() + this->m_holder.m_size); } - - //! Effects: Returns a const_iterator to the end of the vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator end() const BOOST_CONTAINER_NOEXCEPT - { return this->cend(); } - - //! Effects: Returns a reverse_iterator pointing to the beginning - //! of the reversed vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - reverse_iterator rbegin() BOOST_CONTAINER_NOEXCEPT - { return reverse_iterator(this->end()); } - - //! Effects: Returns a const_reverse_iterator pointing to the beginning - //! of the reversed vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator rbegin() const BOOST_CONTAINER_NOEXCEPT - { return this->crbegin(); } - - //! Effects: Returns a reverse_iterator pointing to the end - //! of the reversed vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - reverse_iterator rend() BOOST_CONTAINER_NOEXCEPT - { return reverse_iterator(this->begin()); } - - //! Effects: Returns a const_reverse_iterator pointing to the end - //! of the reversed vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator rend() const BOOST_CONTAINER_NOEXCEPT - { return this->crend(); } - - //! Effects: Returns a const_iterator to the first element contained in the vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator cbegin() const BOOST_CONTAINER_NOEXCEPT - { return const_iterator(this->m_holder.start()); } - - //! Effects: Returns a const_iterator to the end of the vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator cend() const BOOST_CONTAINER_NOEXCEPT - { return const_iterator(this->m_holder.start() + this->m_holder.m_size); } - - //! Effects: Returns a const_reverse_iterator pointing to the beginning - //! of the reversed vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator crbegin() const BOOST_CONTAINER_NOEXCEPT - { return const_reverse_iterator(this->end());} - - //! Effects: Returns a const_reverse_iterator pointing to the end - //! of the reversed vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator crend() const BOOST_CONTAINER_NOEXCEPT - { return const_reverse_iterator(this->begin()); } - - ////////////////////////////////////////////// - // - // capacity - // - ////////////////////////////////////////////// - - //! Effects: Returns true if the vector contains no elements. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - bool empty() const BOOST_CONTAINER_NOEXCEPT - { return !this->m_holder.m_size; } - - //! Effects: Returns the number of the elements contained in the vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - size_type size() const BOOST_CONTAINER_NOEXCEPT - { return this->m_holder.m_size; } - - //! Effects: Returns the largest possible size of the vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - size_type max_size() const BOOST_CONTAINER_NOEXCEPT - { return allocator_traits_type::max_size(this->m_holder.alloc()); } - - //! Effects: Inserts or erases elements at the end such that - //! the size becomes n. New elements are value initialized. - //! - //! Throws: If memory allocation throws, or T's copy/move or value initialization throws. - //! - //! Complexity: Linear to the difference between size() and new_size. - void resize(size_type new_size) - { this->priv_resize(new_size, value_init); } - - //! Effects: Inserts or erases elements at the end such that - //! the size becomes n. New elements are default initialized. - //! - //! Throws: If memory allocation throws, or T's copy/move or default initialization throws. - //! - //! Complexity: Linear to the difference between size() and new_size. - //! - //! Note: Non-standard extension - void resize(size_type new_size, default_init_t) - { this->priv_resize(new_size, default_init); } - - //! Effects: Inserts or erases elements at the end such that - //! the size becomes n. New elements are copy constructed from x. - //! - //! Throws: If memory allocation throws, or T's copy/move constructor throws. - //! - //! Complexity: Linear to the difference between size() and new_size. - void resize(size_type new_size, const T& x) - { this->priv_resize(new_size, x); } - - //! Effects: Number of elements for which memory has been allocated. - //! capacity() is always greater than or equal to size(). - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - size_type capacity() const BOOST_CONTAINER_NOEXCEPT - { return this->m_holder.capacity(); } - - //! Effects: If n is less than or equal to capacity(), this call has no - //! effect. Otherwise, it is a request for allocation of additional memory. - //! If the request is successful, then capacity() is greater than or equal to - //! n; otherwise, capacity() is unchanged. In either case, size() is unchanged. - //! - //! Throws: If memory allocation allocation throws or T's copy/move constructor throws. - void reserve(size_type new_cap) - { - if (this->capacity() < new_cap){ - this->priv_reserve(new_cap, alloc_version()); - } - } - - //! Effects: Tries to deallocate the excess of memory created - //! with previous allocations. The size of the vector is unchanged - //! - //! Throws: If memory allocation throws, or T's copy/move constructor throws. - //! - //! Complexity: Linear to size(). - void shrink_to_fit() - { this->priv_shrink_to_fit(alloc_version()); } - - ////////////////////////////////////////////// - // - // element access - // - ////////////////////////////////////////////// - - //! Requires: !empty() - //! - //! Effects: Returns a reference to the first - //! element of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - reference front() BOOST_CONTAINER_NOEXCEPT - { return *this->m_holder.start(); } - - //! Requires: !empty() - //! - //! Effects: Returns a const reference to the first - //! element of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reference front() const BOOST_CONTAINER_NOEXCEPT - { return *this->m_holder.start(); } - - //! Requires: !empty() - //! - //! Effects: Returns a reference to the last - //! element of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - reference back() BOOST_CONTAINER_NOEXCEPT - { return this->m_holder.start()[this->m_holder.m_size - 1]; } - - //! Requires: !empty() - //! - //! Effects: Returns a const reference to the last - //! element of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reference back() const BOOST_CONTAINER_NOEXCEPT - { return this->m_holder.start()[this->m_holder.m_size - 1]; } - - //! Requires: size() > n. - //! - //! Effects: Returns a reference to the nth element - //! from the beginning of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - reference operator[](size_type n) BOOST_CONTAINER_NOEXCEPT - { return this->m_holder.start()[n]; } - - //! Requires: size() > n. - //! - //! Effects: Returns a const reference to the nth element - //! from the beginning of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reference operator[](size_type n) const BOOST_CONTAINER_NOEXCEPT - { return this->m_holder.start()[n]; } - - //! Requires: size() > n. - //! - //! Effects: Returns a reference to the nth element - //! from the beginning of the container. - //! - //! Throws: std::range_error if n >= size() - //! - //! Complexity: Constant. - reference at(size_type n) - { this->priv_check_range(n); return this->m_holder.start()[n]; } - - //! Requires: size() > n. - //! - //! Effects: Returns a const reference to the nth element - //! from the beginning of the container. - //! - //! Throws: std::range_error if n >= size() - //! - //! Complexity: Constant. - const_reference at(size_type n) const - { this->priv_check_range(n); return this->m_holder.start()[n]; } - - ////////////////////////////////////////////// - // - // data access - // - ////////////////////////////////////////////// - - //! Returns: Allocator pointer such that [data(),data() + size()) is a valid range. - //! For a non-empty vector, data() == &front(). - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - T* data() BOOST_CONTAINER_NOEXCEPT - { return container_detail::to_raw_pointer(this->m_holder.start()); } - - //! Returns: Allocator pointer such that [data(),data() + size()) is a valid range. - //! For a non-empty vector, data() == &front(). - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const T * data() const BOOST_CONTAINER_NOEXCEPT - { return container_detail::to_raw_pointer(this->m_holder.start()); } - - ////////////////////////////////////////////// - // - // modifiers - // - ////////////////////////////////////////////// - - #if defined(BOOST_CONTAINER_PERFECT_FORWARDING) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - //! Effects: Inserts an object of type T constructed with - //! std::forward(args)... in the end of the vector. - //! - //! Throws: If memory allocation throws or the in-place constructor throws or - //! T's copy/move constructor throws. - //! - //! Complexity: Amortized constant time. - template - void emplace_back(Args &&...args) - { - T* back_pos = container_detail::to_raw_pointer(this->m_holder.start()) + this->m_holder.m_size; - if (this->m_holder.m_size < this->m_holder.capacity()){ - //There is more memory, just construct a new object at the end - allocator_traits_type::construct(this->m_holder.alloc(), back_pos, ::boost::forward(args)...); - ++this->m_holder.m_size; - } - else{ - typedef container_detail::insert_emplace_proxy type; - this->priv_forward_range_insert_no_capacity - (vector_iterator_get_ptr(this->cend()), 1, type(::boost::forward(args)...), alloc_version()); - } - } - - //! Requires: position must be a valid iterator of *this. - //! - //! Effects: Inserts an object of type T constructed with - //! std::forward(args)... before position - //! - //! Throws: If memory allocation throws or the in-place constructor throws or - //! T's copy/move constructor/assignment throws. - //! - //! Complexity: If position is end(), amortized constant time - //! Linear time otherwise. - template - iterator emplace(const_iterator position, Args && ...args) - { - //Just call more general insert(pos, size, value) and return iterator - typedef container_detail::insert_emplace_proxy type; - return this->priv_forward_range_insert( vector_iterator_get_ptr(position), 1 - , type(::boost::forward(args)...), alloc_version()); - } - - #else - - #define BOOST_PP_LOCAL_MACRO(n) \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - void emplace_back(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - T* back_pos = container_detail::to_raw_pointer \ - (this->m_holder.start()) + this->m_holder.m_size; \ - if (this->m_holder.m_size < this->m_holder.capacity()){ \ - allocator_traits_type::construct (this->m_holder.alloc() \ - , back_pos BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _) ); \ - ++this->m_holder.m_size; \ - } \ - else{ \ - typedef container_detail::BOOST_PP_CAT(insert_emplace_proxy_arg, n) \ - type; \ - this->priv_forward_range_insert_no_capacity \ - ( vector_iterator_get_ptr(this->cend()), 1 \ - , type(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)), alloc_version()); \ - } \ - } \ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace(const_iterator pos \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - typedef container_detail::BOOST_PP_CAT(insert_emplace_proxy_arg, n) \ - type; \ - return this->priv_forward_range_insert \ - ( container_detail::to_raw_pointer(vector_iterator_get_ptr(pos)), 1 \ - , type(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)), alloc_version()); \ - } \ - //! - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() - - #endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING - - #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - //! Effects: Inserts a copy of x at the end of the vector. - //! - //! Throws: If memory allocation throws or - //! T's copy/move constructor throws. - //! - //! Complexity: Amortized constant time. - void push_back(const T &x); - - //! Effects: Constructs a new element in the end of the vector - //! and moves the resources of x to this new element. - //! - //! Throws: If memory allocation throws or - //! T's copy/move constructor throws. - //! - //! Complexity: Amortized constant time. - void push_back(T &&x); - #else - BOOST_MOVE_CONVERSION_AWARE_CATCH(push_back, T, void, priv_push_back) - #endif - - #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - //! Requires: position must be a valid iterator of *this. - //! - //! Effects: Insert a copy of x before position. - //! - //! Throws: If memory allocation throws or T's copy/move constructor/assignment throws. - //! - //! Complexity: If position is end(), amortized constant time - //! Linear time otherwise. - iterator insert(const_iterator position, const T &x); - - //! Requires: position must be a valid iterator of *this. - //! - //! Effects: Insert a new element before position with x's resources. - //! - //! Throws: If memory allocation throws. - //! - //! Complexity: If position is end(), amortized constant time - //! Linear time otherwise. - iterator insert(const_iterator position, T &&x); - #else - BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, T, iterator, priv_insert, const_iterator, const_iterator) - #endif - - //! Requires: p must be a valid iterator of *this. - //! - //! Effects: Insert n copies of x before pos. - //! - //! Returns: an iterator to the first inserted element or p if n is 0. - //! - //! Throws: If memory allocation throws or T's copy/move constructor throws. - //! - //! Complexity: Linear to n. - iterator insert(const_iterator p, size_type n, const T& x) - { - container_detail::insert_n_copies_proxy proxy(x); - return this->priv_forward_range_insert(vector_iterator_get_ptr(p), n, proxy, alloc_version()); - } - - //! Requires: p must be a valid iterator of *this. - //! - //! Effects: Insert a copy of the [first, last) range before pos. - //! - //! Returns: an iterator to the first inserted element or pos if first == last. - //! - //! Throws: If memory allocation throws, T's constructor from a - //! dereferenced InpIt throws or T's copy/move constructor/assignment throws. - //! - //! Complexity: Linear to std::distance [first, last). - template - iterator insert(const_iterator pos, InIt first, InIt last - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value - && container_detail::is_input_iterator::value - >::type * = 0 - #endif - ) - { - const size_type n_pos = pos - this->cbegin(); - iterator it(vector_iterator_get_ptr(pos)); - for(;first != last; ++first){ - it = this->emplace(it, *first); - ++it; - } - return iterator(this->m_holder.start() + n_pos); - } - - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - template - iterator insert(const_iterator pos, FwdIt first, FwdIt last - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value - && !container_detail::is_input_iterator::value - >::type * = 0 - ) - { - container_detail::insert_range_proxy proxy(first); - return this->priv_forward_range_insert(vector_iterator_get_ptr(pos), std::distance(first, last), proxy, alloc_version()); - } - #endif - - //! Requires: p must be a valid iterator of *this. num, must - //! be equal to std::distance(first, last) - //! - //! Effects: Insert a copy of the [first, last) range before pos. - //! - //! Returns: an iterator to the first inserted element or pos if first == last. - //! - //! Throws: If memory allocation throws, T's constructor from a - //! dereferenced InpIt throws or T's copy/move constructor/assignment throws. - //! - //! Complexity: Linear to std::distance [first, last). - //! - //! Note: This function avoids a linear operation to calculate std::distance[first, last) - //! for forward and bidirectional iterators, and a one by one insertion for input iterators. This is a - //! a non-standard extension. - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - template - iterator insert(const_iterator pos, size_type num, InIt first, InIt last) - { - BOOST_ASSERT(container_detail::is_input_iterator::value || - num == static_cast(std::distance(first, last))); - container_detail::insert_range_proxy proxy(first); - return this->priv_forward_range_insert(vector_iterator_get_ptr(pos), num, proxy, alloc_version()); - } - #endif - - //! Effects: Removes the last element from the vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant time. - void pop_back() BOOST_CONTAINER_NOEXCEPT - { - //Destroy last element - --this->m_holder.m_size; - this->priv_destroy(container_detail::to_raw_pointer(this->m_holder.start()) + this->m_holder.m_size); - } - - //! Effects: Erases the element at position pos. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the elements between pos and the - //! last element. Constant if pos is the last element. - iterator erase(const_iterator position) - { - T *const pos = container_detail::to_raw_pointer(vector_iterator_get_ptr(position)); - T *const beg = container_detail::to_raw_pointer(this->m_holder.start()); - //Move elements forward and destroy last - this->priv_destroy(::boost::move(pos + 1, beg + this->m_holder.m_size, pos)); - --this->m_holder.m_size; - return iterator(vector_iterator_get_ptr(position)); - } - - //! Effects: Erases the elements pointed by [first, last). - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the distance between first and last - //! plus linear to the elements between pos and the last element. - iterator erase(const_iterator first, const_iterator last) - { - if (first != last){ - T* const end_pos = container_detail::to_raw_pointer(this->m_holder.start()) + this->m_holder.m_size; - T* const ptr = container_detail::to_raw_pointer(boost::move - (container_detail::to_raw_pointer(vector_iterator_get_ptr(last)) - ,end_pos - ,container_detail::to_raw_pointer(vector_iterator_get_ptr(first)) - )); - const size_type destroyed = (end_pos - ptr); - boost::container::destroy_alloc_n(this->get_stored_allocator(), ptr, destroyed); - this->m_holder.m_size -= destroyed; - } - return iterator(vector_iterator_get_ptr(first)); - } - - //! Effects: Swaps the contents of *this and x. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - void swap(vector& x) BOOST_CONTAINER_NOEXCEPT_IF((!container_detail::is_version::value)) - { - //Just swap internals in case of !allocator_v0. Otherwise, deep swap - this->m_holder.swap(x.m_holder); - //And now the allocator - container_detail::bool_ flag; - container_detail::swap_alloc(this->m_holder.alloc(), x.m_holder.alloc(), flag); - } - - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - - //! Effects: Swaps the contents of *this and x. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear - //! - //! Note: Non-standard extension to support static_vector - template - void swap(vector & x - , typename container_detail::enable_if_c - < container_detail::is_version::value && - !container_detail::is_same::value >::type * = 0 - ) - { this->m_holder.swap(x.m_holder); } - - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - - //! Effects: Erases all the elements of the vector. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements in the container. - void clear() BOOST_CONTAINER_NOEXCEPT - { this->priv_destroy_all(); } - - //! Effects: Returns true if x and y are equal - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator==(const vector& x, const vector& y) - { return x.size() == y.size() && std::equal(x.begin(), x.end(), y.begin()); } - - //! Effects: Returns true if x and y are unequal - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator!=(const vector& x, const vector& y) - { return !(x == y); } - - //! Effects: Returns true if x is less than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator<(const vector& x, const vector& y) - { return std::lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); } - - //! Effects: Returns true if x is greater than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator>(const vector& x, const vector& y) - { return y < x; } - - //! Effects: Returns true if x is equal or less than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator<=(const vector& x, const vector& y) - { return !(y < x); } - - //! Effects: Returns true if x is equal or greater than y - //! - //! Complexity: Linear to the number of elements in the container. - friend bool operator>=(const vector& x, const vector& y) - { return !(x < y); } - - //! Effects: x.swap(y) - //! - //! Complexity: Constant. - friend void swap(vector& x, vector& y) - { x.swap(y); } - - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - - //Absolutely experimental. This function might change, disappear or simply crash! - template - void insert_ordered_at(size_type element_count, BiDirPosConstIt last_position_it, BiDirValueIt last_value_it) - { - const size_type *dummy = 0; - this->priv_insert_ordered_at(element_count, last_position_it, false, dummy, last_value_it); - } - - //Absolutely experimental. This function might change, disappear or simply crash! - template - void insert_ordered_at( size_type element_count, BiDirPosConstIt last_position_it - , BiDirSkipConstIt last_skip_it, BiDirValueIt last_value_it) - { - this->priv_insert_ordered_at(element_count, last_position_it, true, last_skip_it, last_value_it); - } - - private: - - template - void priv_move_assign(BOOST_RV_REF_BEG vector BOOST_RV_REF_END x - , typename container_detail::enable_if_c - < container_detail::is_version::value >::type * = 0) - { - if(!container_detail::is_same::value && - this->capacity() < x.size()){ - throw_bad_alloc(); - } - T* const this_start = container_detail::to_raw_pointer(m_holder.start()); - T* const other_start = container_detail::to_raw_pointer(x.m_holder.start()); - const size_type this_sz = m_holder.m_size; - const size_type other_sz = static_cast(x.m_holder.m_size); - boost::container::move_assign_range_alloc_n(this->m_holder.alloc(), other_start, other_sz, this_start, this_sz); - this->m_holder.m_size = other_sz; - } - - template - void priv_move_assign(BOOST_RV_REF_BEG vector BOOST_RV_REF_END x - , typename container_detail::enable_if_c - < !container_detail::is_version::value && - container_detail::is_same::value>::type * = 0) - { - //for move constructor, no aliasing (&x != this) is assummed. - BOOST_ASSERT(this != &x); - allocator_type &this_alloc = this->m_holder.alloc(); - allocator_type &x_alloc = x.m_holder.alloc(); - const bool propagate_alloc = allocator_traits_type:: - propagate_on_container_move_assignment::value; - container_detail::bool_ flag; - const bool allocators_equal = this_alloc == x_alloc; (void)allocators_equal; - //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 - container_detail::move_alloc(this_alloc, x_alloc, flag); - //Nothrow swap - this->m_holder.swap(x.m_holder); - } - //Else do a one by one move - else{ - this->assign( boost::make_move_iterator(x.begin()) - , boost::make_move_iterator(x.end())); - } - } - - template - void priv_copy_assign(const vector &x - , typename container_detail::enable_if_c - < container_detail::is_version::value >::type * = 0) - { - if(!container_detail::is_same::value && - this->capacity() < x.size()){ - throw_bad_alloc(); - } - T* const this_start = container_detail::to_raw_pointer(m_holder.start()); - T* const other_start = container_detail::to_raw_pointer(x.m_holder.start()); - const size_type this_sz = m_holder.m_size; - const size_type other_sz = static_cast(x.m_holder.m_size); - boost::container::copy_assign_range_alloc_n(this->m_holder.alloc(), other_start, other_sz, this_start, this_sz); - this->m_holder.m_size = other_sz; - } - - template - void priv_copy_assign(const vector &x - , typename container_detail::enable_if_c - < !container_detail::is_version::value && - container_detail::is_same::value >::type * = 0) - { - allocator_type &this_alloc = this->m_holder.alloc(); - const allocator_type &x_alloc = x.m_holder.alloc(); - container_detail::bool_ flag; - if(flag && this_alloc != x_alloc){ - this->clear(); - this->shrink_to_fit(); - } - container_detail::assign_alloc(this_alloc, x_alloc, flag); - this->assign( container_detail::to_raw_pointer(x.m_holder.start()) - , container_detail::to_raw_pointer(x.m_holder.start() + x.m_holder.m_size)); - } - - void priv_reserve(size_type, allocator_v0) - { throw_bad_alloc(); } - - container_detail::insert_range_proxy, T*> priv_dummy_empty_proxy() - { - return container_detail::insert_range_proxy, T*> - (::boost::make_move_iterator((T *)0)); - } - - void priv_reserve(size_type new_cap, allocator_v1) - { - //There is not enough memory, allocate a new buffer - pointer p = this->m_holder.allocate(new_cap); - //We will reuse insert code, so create a dummy input iterator - this->priv_forward_range_insert_new_allocation - ( container_detail::to_raw_pointer(p), new_cap - , container_detail::to_raw_pointer(this->m_holder.start()) + this->m_holder.m_size - , 0, this->priv_dummy_empty_proxy()); - } - - void priv_reserve(size_type new_cap, allocator_v2) - { - //There is not enough memory, allocate a new - //buffer or expand the old one. - bool same_buffer_start; - size_type real_cap = 0; - std::pair ret = this->m_holder.allocation_command - (allocate_new | expand_fwd | expand_bwd, new_cap, new_cap, real_cap, this->m_holder.start()); - - //Check for forward expansion - same_buffer_start = ret.second && this->m_holder.start() == ret.first; - if(same_buffer_start){ - #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS - ++this->num_expand_fwd; - #endif - this->m_holder.capacity(real_cap); - } - else{ //If there is no forward expansion, move objects, we will reuse insertion code - T * const new_mem = container_detail::to_raw_pointer(ret.first); - T * const ins_pos = container_detail::to_raw_pointer(this->m_holder.start()) + this->m_holder.m_size; - if(ret.second){ //Backwards (and possibly forward) expansion - #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS - ++this->num_expand_bwd; - #endif - this->priv_forward_range_insert_expand_backwards - ( new_mem , real_cap, ins_pos, 0, this->priv_dummy_empty_proxy()); - } - else{ //New buffer - #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS - ++this->num_alloc; - #endif - this->priv_forward_range_insert_new_allocation - ( new_mem, real_cap, ins_pos, 0, this->priv_dummy_empty_proxy()); - } - } - } - - void priv_destroy(value_type* p) BOOST_CONTAINER_NOEXCEPT - { - if(!value_traits::trivial_dctr) - allocator_traits_type::destroy(this->get_stored_allocator(), p); - } - - void priv_destroy_last_n(size_type n) BOOST_CONTAINER_NOEXCEPT - { - T* const end_pos = container_detail::to_raw_pointer(this->m_holder.start()) + this->m_holder.m_size; - boost::container::destroy_alloc_n(this->get_stored_allocator(), end_pos-n, n); - this->m_holder.m_size -= n; - } - - template - void priv_uninitialized_construct_at_end(InpIt first, InpIt last) - { - T* end_pos = container_detail::to_raw_pointer(this->m_holder.start()) + this->m_holder.m_size; - for(; first != last; ++first, ++end_pos, ++this->m_holder.m_size){ - //There is more memory, just construct a new object at the end - allocator_traits_type::construct(this->m_holder.alloc(), end_pos, *first); - } - } - - void priv_destroy_all() BOOST_CONTAINER_NOEXCEPT - { - boost::container::destroy_alloc_n - (this->get_stored_allocator(), container_detail::to_raw_pointer(this->m_holder.start()), this->m_holder.m_size); - this->m_holder.m_size = 0; - } - - template - iterator priv_insert(const const_iterator &p, BOOST_FWD_REF(U) x) - { - return this->priv_forward_range_insert - ( vector_iterator_get_ptr(p), 1, container_detail::get_insert_value_proxy - (::boost::forward(x)), alloc_version()); - } - - container_detail::insert_copy_proxy priv_single_insert_proxy(const T &x) - { return container_detail::insert_copy_proxy (x); } - - container_detail::insert_move_proxy priv_single_insert_proxy(BOOST_RV_REF(T) x) - { return container_detail::insert_move_proxy (x); } - - template - void priv_push_back(BOOST_FWD_REF(U) u) - { - if (this->m_holder.m_size < this->m_holder.capacity()){ - //There is more memory, just construct a new object at the end - allocator_traits_type::construct - ( this->m_holder.alloc() - , container_detail::to_raw_pointer(this->m_holder.start() + this->m_holder.m_size) - , ::boost::forward(u) ); - ++this->m_holder.m_size; - } - else{ - this->priv_forward_range_insert_no_capacity - ( vector_iterator_get_ptr(this->cend()), 1 - , this->priv_single_insert_proxy(::boost::forward(u)), alloc_version()); - } - } - - container_detail::insert_n_copies_proxy priv_resize_proxy(const T &x) - { return container_detail::insert_n_copies_proxy(x); } - - container_detail::insert_default_initialized_n_proxy priv_resize_proxy(default_init_t) - { return container_detail::insert_default_initialized_n_proxy(); } - - container_detail::insert_value_initialized_n_proxy priv_resize_proxy(value_init_t) - { return container_detail::insert_value_initialized_n_proxy(); } - - template - void priv_resize(size_type new_size, const U& u) - { - const size_type sz = this->size(); - if (new_size < sz){ - //Destroy last elements - this->priv_destroy_last_n(sz - new_size); - } - else{ - const size_type n = new_size - this->size(); - this->priv_forward_range_insert_at_end(n, this->priv_resize_proxy(u), alloc_version()); - } - } - - void priv_shrink_to_fit(allocator_v0) BOOST_CONTAINER_NOEXCEPT - {} - - void priv_shrink_to_fit(allocator_v1) - { - const size_type cp = this->m_holder.capacity(); - if(cp){ - const size_type sz = this->size(); - if(!sz){ - this->m_holder.alloc().deallocate(this->m_holder.m_start, cp); - this->m_holder.m_start = pointer(); - this->m_holder.m_capacity = 0; - } - else if(sz < cp){ - //Allocate a new buffer. - pointer p = this->m_holder.allocate(sz); - - //We will reuse insert code, so create a dummy input iterator - #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS - ++this->num_alloc; - #endif - this->priv_forward_range_insert_new_allocation - ( container_detail::to_raw_pointer(p), sz - , container_detail::to_raw_pointer(this->m_holder.start()) - , 0, this->priv_dummy_empty_proxy()); - } - } - } - - void priv_shrink_to_fit(allocator_v2) BOOST_CONTAINER_NOEXCEPT - { - const size_type cp = this->m_holder.capacity(); - if(cp){ - const size_type sz = this->size(); - if(!sz){ - this->m_holder.alloc().deallocate(this->m_holder.m_start, cp); - this->m_holder.m_start = pointer(); - this->m_holder.m_capacity = 0; - } - else{ - size_type received_size; - if(this->m_holder.allocation_command - ( shrink_in_place | nothrow_allocation - , cp, sz, received_size, this->m_holder.start()).first){ - this->m_holder.capacity(received_size); - #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS - ++this->num_shrink; - #endif - } - } - } - } - - template - iterator priv_forward_range_insert_no_capacity - (const pointer &pos, const size_type, const InsertionProxy , allocator_v0) - { - throw_bad_alloc(); - return iterator(pos); - } - - template - iterator priv_forward_range_insert_no_capacity - (const pointer &pos, const size_type n, const InsertionProxy insert_range_proxy, allocator_v1) - { - //Check if we have enough memory or try to expand current memory - const size_type n_pos = pos - this->m_holder.start(); - T *const raw_pos = container_detail::to_raw_pointer(pos); - - const size_type new_cap = this->m_holder.next_capacity(n); - T * new_buf = container_detail::to_raw_pointer(this->m_holder.alloc().allocate(new_cap)); - #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS - ++this->num_alloc; - #endif - this->priv_forward_range_insert_new_allocation - ( new_buf, new_cap, raw_pos, n, insert_range_proxy); - return iterator(this->m_holder.start() + n_pos); - } - - template - iterator priv_forward_range_insert_no_capacity - (const pointer &pos, const size_type n, const InsertionProxy insert_range_proxy, allocator_v2) - { - //Check if we have enough memory or try to expand current memory - T *const raw_pos = container_detail::to_raw_pointer(pos); - const size_type n_pos = raw_pos - container_detail::to_raw_pointer(this->m_holder.start()); - - size_type real_cap = 0; - //There is not enough memory, allocate a new - //buffer or expand the old one. - std::pair ret = (this->m_holder.allocation_command - (allocate_new | expand_fwd | expand_bwd, - this->m_holder.m_size + n, this->m_holder.next_capacity(n), real_cap, this->m_holder.start())); - - //Buffer reallocated - if(ret.second){ - //Forward expansion, delay insertion - if(this->m_holder.start() == ret.first){ - #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS - ++this->num_expand_fwd; - #endif - this->m_holder.capacity(real_cap); - //Expand forward - this->priv_forward_range_insert_expand_forward(raw_pos, n, insert_range_proxy); - } - //Backwards (and possibly forward) expansion - else{ - #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS - ++this->num_expand_bwd; - #endif - this->priv_forward_range_insert_expand_backwards - ( container_detail::to_raw_pointer(ret.first) - , real_cap, raw_pos, n, insert_range_proxy); - } - } - //New buffer - else{ - #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS - ++this->num_alloc; - #endif - this->priv_forward_range_insert_new_allocation - ( container_detail::to_raw_pointer(ret.first) - , real_cap, raw_pos, n, insert_range_proxy); - } - - return iterator(this->m_holder.start() + n_pos); - } - - template - iterator priv_forward_range_insert - (const pointer &pos, const size_type n, const InsertionProxy insert_range_proxy, allocator_v0) - { - //Check if we have enough memory or try to expand current memory - const size_type remaining = this->m_holder.capacity() - this->m_holder.m_size; - - if (n > remaining){ - //This will trigger an error - throw_bad_alloc(); - } - const size_type n_pos = pos - this->m_holder.start(); - T *const raw_pos = container_detail::to_raw_pointer(pos); - this->priv_forward_range_insert_expand_forward(raw_pos, n, insert_range_proxy); - return iterator(this->m_holder.start() + n_pos); - } - - template - iterator priv_forward_range_insert - (const pointer &pos, const size_type n, const InsertionProxy insert_range_proxy, allocator_v1) - { - //Check if we have enough memory or try to expand current memory - const size_type remaining = this->m_holder.capacity() - this->m_holder.m_size; - T *const raw_pos = container_detail::to_raw_pointer(pos); - - if (n <= remaining){ - const size_type n_pos = raw_pos - container_detail::to_raw_pointer(this->m_holder.start()); - this->priv_forward_range_insert_expand_forward(raw_pos, n, insert_range_proxy); - return iterator(this->m_holder.start() + n_pos); - } - else{ - return this->priv_forward_range_insert_no_capacity(pos, n, insert_range_proxy, alloc_version()); - } - } - - template - iterator priv_forward_range_insert - (const pointer &pos, const size_type n, const InsertionProxy insert_range_proxy, allocator_v2) - { - //Check if we have enough memory or try to expand current memory - const size_type remaining = this->m_holder.capacity() - this->m_holder.m_size; - - bool same_buffer_start = n <= remaining; - if (!same_buffer_start){ - return priv_forward_range_insert_no_capacity(pos, n, insert_range_proxy, alloc_version()); - } - else{ - //Expand forward - T *const raw_pos = container_detail::to_raw_pointer(pos); - const size_type n_pos = raw_pos - container_detail::to_raw_pointer(this->m_holder.start()); - this->priv_forward_range_insert_expand_forward(raw_pos, n, insert_range_proxy); - return iterator(this->m_holder.start() + n_pos); - } - } - - template - iterator priv_forward_range_insert_at_end - (const size_type n, const InsertionProxy insert_range_proxy, allocator_v0) - { - //Check if we have enough memory or try to expand current memory - const size_type remaining = this->m_holder.capacity() - this->m_holder.m_size; - - if (n > remaining){ - //This will trigger an error - throw_bad_alloc(); - } - this->priv_forward_range_insert_at_end_expand_forward(n, insert_range_proxy); - return this->end(); - } - - template - iterator priv_forward_range_insert_at_end - (const size_type n, const InsertionProxy insert_range_proxy, allocator_v1) - { - return this->priv_forward_range_insert(vector_iterator_get_ptr(this->cend()), n, insert_range_proxy, allocator_v1()); - } - - template - iterator priv_forward_range_insert_at_end - (const size_type n, const InsertionProxy insert_range_proxy, allocator_v2) - { - return this->priv_forward_range_insert(vector_iterator_get_ptr(this->cend()), n, insert_range_proxy, allocator_v2()); - } - - //Absolutely experimental. This function might change, disappear or simply crash! - template - void priv_insert_ordered_at( size_type element_count, BiDirPosConstIt last_position_it - , bool do_skip, BiDirSkipConstIt last_skip_it, BiDirValueIt last_value_it) - { - const size_type old_size_pos = this->size(); - this->reserve(old_size_pos + element_count); - T* const begin_ptr = container_detail::to_raw_pointer(this->m_holder.start()); - size_type insertions_left = element_count; - size_type next_pos = old_size_pos; - size_type hole_size = element_count; - - //Exception rollback. If any copy throws before the hole is filled, values - //already inserted/copied at the end of the buffer will be destroyed. - typename value_traits::ArrayDestructor past_hole_values_destroyer - (begin_ptr + old_size_pos + element_count, this->m_holder.alloc(), size_type(0u)); - //Loop for each insertion backwards, first moving the elements after the insertion point, - //then inserting the element. - while(insertions_left){ - if(do_skip){ - size_type n = *(--last_skip_it); - std::advance(last_value_it, -difference_type(n)); - } - const size_type pos = static_cast(*(--last_position_it)); - BOOST_ASSERT(pos <= old_size_pos); - //If needed shift the range after the insertion point and the previous insertion point. - //Function will take care if the shift crosses the size() boundary, using copy/move - //or uninitialized copy/move if necessary. - size_type new_hole_size = (pos != next_pos) - ? priv_insert_ordered_at_shift_range(pos, next_pos, this->size(), insertions_left) - : hole_size - ; - if(new_hole_size > 0){ - //The hole was reduced by priv_insert_ordered_at_shift_range so expand exception rollback range backwards - past_hole_values_destroyer.increment_size_backwards(next_pos - pos); - //Insert the new value in the hole - allocator_traits_type::construct(this->m_holder.alloc(), begin_ptr + pos + insertions_left - 1, *(--last_value_it)); - --new_hole_size; - if(new_hole_size == 0){ - //Hole was just filled, disable exception rollback and change vector size - past_hole_values_destroyer.release(); - this->m_holder.m_size += element_count; - } - else{ - //The hole was reduced by the new insertion by one - past_hole_values_destroyer.increment_size_backwards(size_type(1u)); - } - } - else{ - if(hole_size){ - //Hole was just filled by priv_insert_ordered_at_shift_range, disable exception rollback and change vector size - past_hole_values_destroyer.release(); - this->m_holder.m_size += element_count; - } - //Insert the new value in the already constructed range - begin_ptr[pos + insertions_left - 1] = *(--last_value_it); - } - --insertions_left; - hole_size = new_hole_size; - next_pos = pos; - } - } - - //Takes the range pointed by [first_pos, last_pos) and shifts it to the right - //by 'shift_count'. 'limit_pos' marks the end of constructed elements. - // - //Precondition: first_pos <= last_pos <= limit_pos - // - //The shift operation might cross limit_pos so elements to moved beyond limit_pos - //are uninitialized_moved with an allocator. Other elements are moved. - // - //The shift operation might left uninitialized elements after limit_pos - //and the number of uninitialized elements is returned by the function. - // - //Old situation: - // first_pos last_pos old_limit - // | | | - // ____________V_______V__________________V_____________ - //| prefix | range | suffix |raw_mem ~ - //|____________|_______|__________________|_____________~ - // - //New situation in Case Allocator (hole_size == 0): - // range is moved through move assignments - // - // first_pos last_pos limit_pos - // | | | - // ____________V_______V__________________V_____________ - //| prefix' | | | range |suffix'|raw_mem ~ - //|________________+______|___^___|_______|_____________~ - // | | - // |_>_>_>_>_>^ - // - // - //New situation in Case B (hole_size > 0): - // range is moved through uninitialized moves - // - // first_pos last_pos limit_pos - // | | | - // ____________V_______V__________________V________________ - //| prefix' | | | [hole] | range | - //|_______________________________________|________|___^___| - // | | - // |_>_>_>_>_>_>_>_>_>_>_>_>_>_>_>_>_>_^ - // - //New situation in Case C (hole_size == 0): - // range is moved through move assignments and uninitialized moves - // - // first_pos last_pos limit_pos - // | | | - // ____________V_______V__________________V___ - //| prefix' | | | range | - //|___________________________________|___^___| - // | | - // |_>_>_>_>_>_>_>_>_>_>_>^ - size_type priv_insert_ordered_at_shift_range - (size_type first_pos, size_type last_pos, size_type limit_pos, size_type shift_count) - { - BOOST_ASSERT(first_pos <= last_pos); - BOOST_ASSERT(last_pos <= limit_pos); - // - T* const begin_ptr = container_detail::to_raw_pointer(this->m_holder.start()); - T* const first_ptr = begin_ptr + first_pos; - T* const last_ptr = begin_ptr + last_pos; - - size_type hole_size = 0; - //Case A: - if((last_pos + shift_count) <= limit_pos){ - //All move assigned - boost::move_backward(first_ptr, last_ptr, last_ptr + shift_count); - } - //Case B: - else if((first_pos + shift_count) >= limit_pos){ - //All uninitialized_moved - ::boost::container::uninitialized_move_alloc - (this->m_holder.alloc(), first_ptr, last_ptr, first_ptr + shift_count); - hole_size = last_pos + shift_count - limit_pos; - } - //Case C: - else{ - //Some uninitialized_moved - T* const limit_ptr = begin_ptr + limit_pos; - T* const boundary_ptr = limit_ptr - shift_count; - ::boost::container::uninitialized_move_alloc(this->m_holder.alloc(), boundary_ptr, last_ptr, limit_ptr); - //The rest is move assigned - boost::move_backward(first_ptr, boundary_ptr, limit_ptr); - } - return hole_size; - } - - private: - template - void priv_forward_range_insert_at_end_expand_forward(const size_type n, InsertionProxy insert_range_proxy) - { - T* const old_finish = container_detail::to_raw_pointer(this->m_holder.start()) + this->m_holder.m_size; - insert_range_proxy.uninitialized_copy_n_and_update(this->m_holder.alloc(), old_finish, n); - this->m_holder.m_size += n; - } - - template - void priv_forward_range_insert_expand_forward(T* const pos, const size_type n, InsertionProxy insert_range_proxy) - { - //n can't be 0, because there is nothing to do in that case - if(!n) return; - //There is enough memory - T* const old_finish = container_detail::to_raw_pointer(this->m_holder.start()) + this->m_holder.m_size; - const size_type elems_after = old_finish - pos; - - if (!elems_after){ - insert_range_proxy.uninitialized_copy_n_and_update(this->m_holder.alloc(), old_finish, n); - this->m_holder.m_size += n; - } - else if (elems_after >= n){ - //New elements can be just copied. - //Move to uninitialized memory last objects - ::boost::container::uninitialized_move_alloc - (this->m_holder.alloc(), old_finish - n, old_finish, old_finish); - this->m_holder.m_size += n; - //Copy previous to last objects to the initialized end - boost::move_backward(pos, old_finish - n, old_finish); - //Insert new objects in the pos - insert_range_proxy.copy_n_and_update(this->m_holder.alloc(), pos, n); - } - else { - //The new elements don't fit in the [pos, end()) range. - - //Copy old [pos, end()) elements to the uninitialized memory (a gap is created) - ::boost::container::uninitialized_move_alloc(this->m_holder.alloc(), pos, old_finish, pos + n); - BOOST_TRY{ - //Copy first new elements in pos (gap is still there) - insert_range_proxy.copy_n_and_update(this->m_holder.alloc(), pos, elems_after); - //Copy to the beginning of the unallocated zone the last new elements (the gap is closed). - insert_range_proxy.uninitialized_copy_n_and_update(this->m_holder.alloc(), old_finish, n - elems_after); - this->m_holder.m_size += n; - } - BOOST_CATCH(...){ - boost::container::destroy_alloc_n(this->get_stored_allocator(), pos + n, elems_after); - BOOST_RETHROW - } - BOOST_CATCH_END - } - } - - template - void priv_forward_range_insert_new_allocation - (T* const new_start, size_type new_cap, T* const pos, const size_type n, InsertionProxy insert_range_proxy) - { - //n can be zero, if we want to reallocate! - T *new_finish = new_start; - T *old_finish; - //Anti-exception rollbacks - typename value_traits::ArrayDeallocator new_buffer_deallocator(new_start, this->m_holder.alloc(), new_cap); - typename value_traits::ArrayDestructor new_values_destroyer(new_start, this->m_holder.alloc(), 0u); - - //Initialize with [begin(), pos) old buffer - //the start of the new buffer - T * const old_buffer = container_detail::to_raw_pointer(this->m_holder.start()); - if(old_buffer){ - new_finish = ::boost::container::uninitialized_move_alloc - (this->m_holder.alloc(), container_detail::to_raw_pointer(this->m_holder.start()), pos, old_finish = new_finish); - new_values_destroyer.increment_size(new_finish - old_finish); - } - //Initialize new objects, starting from previous point - old_finish = new_finish; - insert_range_proxy.uninitialized_copy_n_and_update(this->m_holder.alloc(), old_finish, n); - new_finish += n; - new_values_destroyer.increment_size(new_finish - old_finish); - //Initialize from the rest of the old buffer, - //starting from previous point - if(old_buffer){ - new_finish = ::boost::container::uninitialized_move_alloc - (this->m_holder.alloc(), pos, old_buffer + this->m_holder.m_size, new_finish); - //Destroy and deallocate old elements - //If there is allocated memory, destroy and deallocate - if(!value_traits::trivial_dctr_after_move) - boost::container::destroy_alloc_n(this->get_stored_allocator(), old_buffer, this->m_holder.m_size); - this->m_holder.alloc().deallocate(this->m_holder.start(), this->m_holder.capacity()); - } - this->m_holder.start(new_start); - this->m_holder.m_size = new_finish - new_start; - this->m_holder.capacity(new_cap); - //All construction successful, disable rollbacks - new_values_destroyer.release(); - new_buffer_deallocator.release(); - } - - template - void priv_forward_range_insert_expand_backwards - (T* const new_start, const size_type new_capacity, - T* const pos, const size_type n, InsertionProxy insert_range_proxy) - { - //n can be zero to just expand capacity - //Backup old data - T* const old_start = container_detail::to_raw_pointer(this->m_holder.start()); - const size_type old_size = this->m_holder.m_size; - T* const old_finish = old_start + old_size; - - //We can have 8 possibilities: - const size_type elemsbefore = static_cast(pos - old_start); - const size_type s_before = static_cast(old_start - new_start); - const size_type before_plus_new = elemsbefore + n; - - //Update the vector buffer information to a safe state - this->m_holder.start(new_start); - this->m_holder.capacity(new_capacity); - this->m_holder.m_size = 0; - - //If anything goes wrong, this object will destroy - //all the old objects to fulfill previous vector state - typename value_traits::ArrayDestructor old_values_destroyer(old_start, this->m_holder.alloc(), old_size); - //Check if s_before is big enough to hold the beginning of old data + new data - if(s_before >= before_plus_new){ - //Copy first old values before pos, after that the new objects - T *const new_elem_pos = - ::boost::container::uninitialized_move_alloc(this->m_holder.alloc(), old_start, pos, new_start); - this->m_holder.m_size = elemsbefore; - insert_range_proxy.uninitialized_copy_n_and_update(this->m_holder.alloc(), new_elem_pos, n); - this->m_holder.m_size = before_plus_new; - const size_type new_size = old_size + n; - //Check if s_before is so big that even copying the old data + new data - //there is a gap between the new data and the old data - if(s_before >= new_size){ - //Old situation: - // _________________________________________________________ - //| raw_mem | old_begin | old_end | - //| __________________________________|___________|_________| - // - //New situation: - // _________________________________________________________ - //| old_begin | new | old_end | raw_mem | - //|___________|__________|_________|________________________| - // - //Now initialize the rest of memory with the last old values - if(before_plus_new != new_size){ //Special case to avoid operations in back insertion - ::boost::container::uninitialized_move_alloc - (this->m_holder.alloc(), pos, old_finish, new_start + before_plus_new); - //All new elements correctly constructed, avoid new element destruction - this->m_holder.m_size = new_size; - } - //Old values destroyed automatically with "old_values_destroyer" - //when "old_values_destroyer" goes out of scope unless the have trivial - //destructor after move. - if(value_traits::trivial_dctr_after_move) - old_values_destroyer.release(); - } - //s_before is so big that divides old_end - else{ - //Old situation: - // __________________________________________________ - //| raw_mem | old_begin | old_end | - //| ___________________________|___________|_________| - // - //New situation: - // __________________________________________________ - //| old_begin | new | old_end | raw_mem | - //|___________|__________|_________|_________________| - // - //Now initialize the rest of memory with the last old values - //All new elements correctly constructed, avoid new element destruction - const size_type raw_gap = s_before - before_plus_new; - if(!value_traits::trivial_dctr){ - //Now initialize the rest of s_before memory with the - //first of elements after new values - ::boost::container::uninitialized_move_alloc_n - (this->m_holder.alloc(), pos, raw_gap, new_start + before_plus_new); - //Now we have a contiguous buffer so program trailing element destruction - //and update size to the final size. - old_values_destroyer.shrink_forward(elemsbefore + raw_gap); - this->m_holder.m_size = new_size; - //Now move remaining last objects in the old buffer begin - ::boost::move(pos + raw_gap, old_finish, old_start); - //Once moved, avoid calling the destructors if trivial after move - if(value_traits::trivial_dctr_after_move){ - old_values_destroyer.release(); - } - } - else{ //If trivial destructor, we can uninitialized copy + copy in a single uninitialized copy - ::boost::container::uninitialized_move_alloc_n - (this->m_holder.alloc(), pos, old_finish - pos, new_start + before_plus_new); - this->m_holder.m_size = new_size; - old_values_destroyer.release(); - } - } - } - else{ - //Check if we have to do the insertion in two phases - //since maybe s_before is not big enough and - //the buffer was expanded both sides - // - //Old situation: - // _________________________________________________ - //| raw_mem | old_begin + old_end | raw_mem | - //|_________|_____________________|_________________| - // - //New situation with do_after: - // _________________________________________________ - //| old_begin + new + old_end | raw_mem | - //|___________________________________|_____________| - // - //New without do_after: - // _________________________________________________ - //| old_begin + new + old_end | raw_mem | - //|____________________________|____________________| - // - const bool do_after = n > s_before; - - //Now we can have two situations: the raw_mem of the - //beginning divides the old_begin, or the new elements: - if (s_before <= elemsbefore) { - //The raw memory divides the old_begin group: - // - //If we need two phase construction (do_after) - //new group is divided in new = new_beg + new_end groups - //In this phase only new_beg will be inserted - // - //Old situation: - // _________________________________________________ - //| raw_mem | old_begin | old_end | raw_mem | - //|_________|___________|_________|_________________| - // - //New situation with do_after(1): - //This is not definitive situation, the second phase - //will include - // _________________________________________________ - //| old_begin | new_beg | old_end | raw_mem | - //|___________|_________|_________|_________________| - // - //New situation without do_after: - // _________________________________________________ - //| old_begin | new | old_end | raw_mem | - //|___________|_____|_________|_____________________| - // - //Copy the first part of old_begin to raw_mem - ::boost::container::uninitialized_move_alloc_n - (this->m_holder.alloc(), old_start, s_before, new_start); - //The buffer is all constructed until old_end - if(do_after){ - //release destroyer and update size - old_values_destroyer.release(); - this->m_holder.m_size = old_size + s_before; - //Now copy the second part of old_begin overwriting itself - T *const next = ::boost::move(old_start + s_before, pos, old_start); - //Now copy the new_beg elements - insert_range_proxy.copy_n_and_update(this->m_holder.alloc(), next, s_before); - } - else{ - //The buffer is all constructed until old_end, - //so program trailing destruction and assign final size - this->m_holder.m_size = old_size + n; - const size_type n_destroy = s_before - n; - old_values_destroyer.shrink_forward(old_size - n_destroy); - //Now copy the second part of old_begin overwriting itself - T *const next = ::boost::move(old_start + s_before, pos, old_start); - //Now copy the all the new elements - insert_range_proxy.copy_n_and_update(this->m_holder.alloc(), next, n); - //Now displace old_end elements - ::boost::move(pos, old_finish, next + n); - if(value_traits::trivial_dctr_after_move) - old_values_destroyer.release(); - } - } - else { - //If we have to expand both sides, - //we will play if the first new values so - //calculate the upper bound of new values - - //The raw memory divides the new elements - // - //If we need two phase construction (do_after) - //new group is divided in new = new_beg + new_end groups - //In this phase only new_beg will be inserted - // - //Old situation: - // _______________________________________________________ - //| raw_mem | old_begin | old_end | raw_mem | - //|_______________|___________|_________|_________________| - // - //New situation with do_after(): - // ____________________________________________________ - //| old_begin | new_beg | old_end | raw_mem | - //|___________|_______________|_________|______________| - // - //New situation without do_after: - // ______________________________________________________ - //| old_begin | new | old_end | raw_mem | - //|___________|_____|_________|__________________________| - // - //First copy whole old_begin and part of new to raw_mem - T * const new_pos = ::boost::container::uninitialized_move_alloc - (this->m_holder.alloc(), old_start, pos, new_start); - this->m_holder.m_size = elemsbefore; - const size_type mid_n = s_before - elemsbefore; - insert_range_proxy.uninitialized_copy_n_and_update(this->m_holder.alloc(), new_pos, mid_n); - //The buffer is all constructed until old_end, - //release destroyer - this->m_holder.m_size = old_size + s_before; - old_values_destroyer.release(); - - if(do_after){ - //Copy new_beg part - insert_range_proxy.copy_n_and_update(this->m_holder.alloc(), old_start, elemsbefore); - } - else{ - //Copy all new elements - const size_type rest_new = n - mid_n; - insert_range_proxy.copy_n_and_update(this->m_holder.alloc(), old_start, rest_new); - T* const move_start = old_start + rest_new; - //Displace old_end - T* const move_end = ::boost::move(pos, old_finish, move_start); - //Destroy remaining moved elements from old_end except if they - //have trivial destructor after being moved - size_type n_destroy = s_before - n; - if(!value_traits::trivial_dctr_after_move) - boost::container::destroy_alloc_n(this->get_stored_allocator(), move_end, n_destroy); - this->m_holder.m_size -= n_destroy; - } - } - - //This is only executed if two phase construction is needed - if(do_after){ - //The raw memory divides the new elements - // - //Old situation: - // ______________________________________________________ - //| raw_mem | old_begin | old_end | raw_mem | - //|______________|___________|____________|______________| - // - //New situation with do_after(1): - // _______________________________________________________ - //| old_begin + new_beg | new_end |old_end | raw_mem | - //|__________________________|_________|________|_________| - // - //New situation with do_after(2): - // ______________________________________________________ - //| old_begin + new | old_end |raw | - //|_______________________________________|_________|____| - // - const size_type n_after = n - s_before; - const size_type elemsafter = old_size - elemsbefore; - - //We can have two situations: - if (elemsafter >= n_after){ - //The raw_mem from end will divide displaced old_end - // - //Old situation: - // ______________________________________________________ - //| raw_mem | old_begin | old_end | raw_mem | - //|______________|___________|____________|______________| - // - //New situation with do_after(1): - // _______________________________________________________ - //| old_begin + new_beg | new_end |old_end | raw_mem | - //|__________________________|_________|________|_________| - // - //First copy the part of old_end raw_mem - T* finish_n = old_finish - n_after; - ::boost::container::uninitialized_move_alloc - (this->m_holder.alloc(), finish_n, old_finish, old_finish); - this->m_holder.m_size += n_after; - //Displace the rest of old_end to the new position - boost::move_backward(pos, finish_n, old_finish); - //Now overwrite with new_end - //The new_end part is [first + (n - n_after), last) - insert_range_proxy.copy_n_and_update(this->m_holder.alloc(), pos, n_after); - } - else { - //The raw_mem from end will divide new_end part - // - //Old situation: - // _____________________________________________________________ - //| raw_mem | old_begin | old_end | raw_mem | - //|______________|___________|____________|_____________________| - // - //New situation with do_after(2): - // _____________________________________________________________ - //| old_begin + new_beg | new_end |old_end | raw_mem | - //|__________________________|_______________|________|_________| - // - - const size_type mid_last_dist = n_after - elemsafter; - //First initialize data in raw memory - - //Copy to the old_end part to the uninitialized zone leaving a gap. - ::boost::container::uninitialized_move_alloc - (this->m_holder.alloc(), pos, old_finish, old_finish + mid_last_dist); - - BOOST_TRY{ - //Copy the first part to the already constructed old_end zone - insert_range_proxy.copy_n_and_update(this->m_holder.alloc(), pos, elemsafter); - //Copy the rest to the uninitialized zone filling the gap - insert_range_proxy.uninitialized_copy_n_and_update(this->m_holder.alloc(), old_finish, mid_last_dist); - this->m_holder.m_size += n_after; - } - BOOST_CATCH(...){ - boost::container::destroy_alloc_n(this->get_stored_allocator(), pos, mid_last_dist); - BOOST_RETHROW - } - BOOST_CATCH_END -/* - size_type mid_last_dist = n_after - elemsafter; - //First initialize data in raw memory - - //The new_end part is [first + (n - n_after), last) - insert_range_proxy.uninitialized_copy_last_and_update(old_finish, elemsafter); - this->m_holder.m_size += mid_last_dist; - ::boost::container::uninitialized_move_alloc - (this->m_holder.alloc(), pos, old_finish, old_finish + mid_last_dist); - this->m_holder.m_size += n_after - mid_last_dist; - //Now copy the part of new_end over constructed elements - insert_range_proxy.copy_remaining_to(pos);*/ - } - } - } - } - - void priv_check_range(size_type n) const - { - //If n is out of range, throw an out_of_range exception - if (n >= this->size()){ - throw_out_of_range("vector::at out of range"); - } - } - - #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS - public: - unsigned int num_expand_fwd; - unsigned int num_expand_bwd; - unsigned int num_shrink; - unsigned int num_alloc; - void reset_alloc_stats() - { num_expand_fwd = num_expand_bwd = num_alloc = 0, num_shrink = 0; } - #endif - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED -}; - -}} - -#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -namespace boost { - - -//!has_trivial_destructor_after_move<> == true_type -//!specialization for optimizations -template -struct has_trivial_destructor_after_move > - : public ::boost::has_trivial_destructor_after_move -{}; - - -} - -//#define BOOST_CONTAINER_PUT_SWAP_OVERLOAD_IN_NAMESPACE_STD - -#ifdef BOOST_CONTAINER_PUT_SWAP_OVERLOAD_IN_NAMESPACE_STD - -namespace std { - -template -inline void swap(boost::container::vector& x, boost::container::vector& y) -{ x.swap(y); } - -} //namespace std { - -#endif - -#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -#include - -#endif // #ifndef BOOST_CONTAINER_CONTAINER_VECTOR_HPP diff --git a/bundled/boost-1.56.0/include/boost/core/addressof.hpp b/bundled/boost-1.56.0/include/boost/core/addressof.hpp deleted file mode 100644 index a90fcc3e24..0000000000 --- a/bundled/boost-1.56.0/include/boost/core/addressof.hpp +++ /dev/null @@ -1,162 +0,0 @@ -// Copyright (C) 2002 Brad King (brad.king@kitware.com) -// Douglas Gregor (gregod@cs.rpi.edu) -// -// Copyright (C) 2002, 2008, 2013 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) - -// For more information, see http://www.boost.org - -#ifndef BOOST_CORE_ADDRESSOF_HPP -#define BOOST_CORE_ADDRESSOF_HPP - -# include -# include -# include - -namespace boost -{ - -namespace detail -{ - -template struct addr_impl_ref -{ - T & v_; - - BOOST_FORCEINLINE addr_impl_ref( T & v ): v_( v ) {} - BOOST_FORCEINLINE operator T& () const { return v_; } - -private: - addr_impl_ref & operator=(const addr_impl_ref &); -}; - -template struct addressof_impl -{ - static BOOST_FORCEINLINE T * f( T & v, long ) - { - return reinterpret_cast( - &const_cast(reinterpret_cast(v))); - } - - static BOOST_FORCEINLINE T * f( T * v, int ) - { - return v; - } -}; - -#if !defined( BOOST_NO_CXX11_NULLPTR ) - -#if defined( __clang__ ) && !defined( _LIBCPP_VERSION ) && !defined( BOOST_NO_CXX11_DECLTYPE ) - - typedef decltype(nullptr) addr_nullptr_t; - -#else - - typedef std::nullptr_t addr_nullptr_t; - -#endif - -template<> struct addressof_impl< addr_nullptr_t > -{ - typedef addr_nullptr_t T; - - static BOOST_FORCEINLINE T * f( T & v, int ) - { - return &v; - } -}; - -template<> struct addressof_impl< addr_nullptr_t const > -{ - typedef addr_nullptr_t const T; - - static BOOST_FORCEINLINE T * f( T & v, int ) - { - return &v; - } -}; - -template<> struct addressof_impl< addr_nullptr_t volatile > -{ - typedef addr_nullptr_t volatile T; - - static BOOST_FORCEINLINE T * f( T & v, int ) - { - return &v; - } -}; - -template<> struct addressof_impl< addr_nullptr_t const volatile > -{ - typedef addr_nullptr_t const volatile T; - - static BOOST_FORCEINLINE T * f( T & v, int ) - { - return &v; - } -}; - -#endif - -} // namespace detail - -template -BOOST_FORCEINLINE -T * addressof( T & v ) -{ -#if (defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT( 0x610 ) ) ) || defined( __SUNPRO_CC ) - - return boost::detail::addressof_impl::f( v, 0 ); - -#else - - return boost::detail::addressof_impl::f( boost::detail::addr_impl_ref( v ), 0 ); - -#endif -} - -#if defined( __SUNPRO_CC ) && BOOST_WORKAROUND( __SUNPRO_CC, BOOST_TESTED_AT( 0x590 ) ) - -namespace detail -{ - -template struct addressof_addp -{ - typedef T * type; -}; - -} // namespace detail - -template< class T, std::size_t N > -BOOST_FORCEINLINE -typename detail::addressof_addp< T[N] >::type addressof( T (&t)[N] ) -{ - return &t; -} - -#endif - -// Borland doesn't like casting an array reference to a char reference -// but these overloads work around the problem. -#if defined( __BORLANDC__ ) && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) -template -BOOST_FORCEINLINE -T (*addressof(T (&t)[N]))[N] -{ - return reinterpret_cast(&t); -} - -template -BOOST_FORCEINLINE -const T (*addressof(const T (&t)[N]))[N] -{ - return reinterpret_cast(&t); -} -#endif - -} // namespace boost - -#endif // BOOST_CORE_ADDRESSOF_HPP diff --git a/bundled/boost-1.56.0/include/boost/core/enable_if.hpp b/bundled/boost-1.56.0/include/boost/core/enable_if.hpp deleted file mode 100644 index a3302b18a1..0000000000 --- a/bundled/boost-1.56.0/include/boost/core/enable_if.hpp +++ /dev/null @@ -1,119 +0,0 @@ -// Boost enable_if library - -// Copyright 2003 (c) The Trustees of Indiana University. - -// 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) - -// Authors: Jaakko Jarvi (jajarvi at osl.iu.edu) -// Jeremiah Willcock (jewillco at osl.iu.edu) -// Andrew Lumsdaine (lums at osl.iu.edu) - - -#ifndef BOOST_CORE_ENABLE_IF_HPP -#define BOOST_CORE_ENABLE_IF_HPP - -#include "boost/config.hpp" - -// Even the definition of enable_if causes problems on some compilers, -// so it's macroed out for all compilers that do not support SFINAE - -#ifndef BOOST_NO_SFINAE - -namespace boost -{ - - template - struct enable_if_c { - typedef T type; - }; - - template - struct enable_if_c {}; - - template - struct enable_if : public enable_if_c {}; - - template - struct lazy_enable_if_c { - typedef typename T::type type; - }; - - template - struct lazy_enable_if_c {}; - - template - struct lazy_enable_if : public lazy_enable_if_c {}; - - - template - struct disable_if_c { - typedef T type; - }; - - template - struct disable_if_c {}; - - template - struct disable_if : public disable_if_c {}; - - template - struct lazy_disable_if_c { - typedef typename T::type type; - }; - - template - struct lazy_disable_if_c {}; - - template - struct lazy_disable_if : public lazy_disable_if_c {}; - -} // namespace boost - -#else - -namespace boost { - - namespace detail { typedef void enable_if_default_T; } - - template - struct enable_if_does_not_work_on_this_compiler; - - template - struct enable_if_c : enable_if_does_not_work_on_this_compiler - { }; - - template - struct disable_if_c : enable_if_does_not_work_on_this_compiler - { }; - - template - struct lazy_enable_if_c : enable_if_does_not_work_on_this_compiler - { }; - - template - struct lazy_disable_if_c : enable_if_does_not_work_on_this_compiler - { }; - - template - struct enable_if : enable_if_does_not_work_on_this_compiler - { }; - - template - struct disable_if : enable_if_does_not_work_on_this_compiler - { }; - - template - struct lazy_enable_if : enable_if_does_not_work_on_this_compiler - { }; - - template - struct lazy_disable_if : enable_if_does_not_work_on_this_compiler - { }; - -} // namespace boost - -#endif // BOOST_NO_SFINAE - -#endif diff --git a/bundled/boost-1.56.0/include/boost/core/ignore_unused.hpp b/bundled/boost-1.56.0/include/boost/core/ignore_unused.hpp deleted file mode 100644 index 22047c2e54..0000000000 --- a/bundled/boost-1.56.0/include/boost/core/ignore_unused.hpp +++ /dev/null @@ -1,70 +0,0 @@ -// Copyright (c) 2014 Adam Wulkiewicz, Lodz, Poland. -// -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_CORE_IGNORE_UNUSED_HPP -#define BOOST_CORE_IGNORE_UNUSED_HPP - -#include - -namespace boost { - -#ifndef BOOST_NO_CXX11_VARIADIC_TEMPLATES - -template -inline void ignore_unused(Ts const& ...) -{} - -template -inline void ignore_unused() -{} - -#else - -template -inline void ignore_unused(T1 const&) -{} - -template -inline void ignore_unused(T1 const&, T2 const&) -{} - -template -inline void ignore_unused(T1 const&, T2 const&, T3 const&) -{} - -template -inline void ignore_unused(T1 const&, T2 const&, T3 const&, T4 const&) -{} - -template -inline void ignore_unused(T1 const&, T2 const&, T3 const&, T4 const&, T5 const&) -{} - -template -inline void ignore_unused() -{} - -template -inline void ignore_unused() -{} - -template -inline void ignore_unused() -{} - -template -inline void ignore_unused() -{} - -template -inline void ignore_unused() -{} - -#endif - -} // namespace boost - -#endif // BOOST_CORE_IGNORE_UNUSED_HPP diff --git a/bundled/boost-1.56.0/include/boost/core/scoped_enum.hpp b/bundled/boost-1.56.0/include/boost/core/scoped_enum.hpp deleted file mode 100644 index 78c548bf81..0000000000 --- a/bundled/boost-1.56.0/include/boost/core/scoped_enum.hpp +++ /dev/null @@ -1,192 +0,0 @@ -// scoped_enum.hpp ---------------------------------------------------------// - -// Copyright Beman Dawes, 2009 -// Copyright (C) 2011-2012 Vicente J. Botet Escriba -// Copyright (C) 2012 Anthony Williams - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - -#ifndef BOOST_CORE_SCOPED_ENUM_HPP -#define BOOST_CORE_SCOPED_ENUM_HPP - -#include - -#ifdef BOOST_HAS_PRAGMA_ONCE -#pragma once -#endif - -namespace boost -{ - -#ifdef BOOST_NO_CXX11_SCOPED_ENUMS - - /** - * Meta-function to get the native enum type associated to an enum class or its emulation. - */ - template - struct native_type - { - /** - * The member typedef type names the native enum type associated to the scoped enum, - * which is it self if the compiler supports scoped enums or EnumType::enum_type if it is an emulated scoped enum. - */ - typedef typename EnumType::enum_type type; - }; - - /** - * Casts a scoped enum to its underlying type. - * - * This function is useful when working with scoped enum classes, which doens't implicitly convert to the underlying type. - * @param v A scoped enum. - * @returns The underlying type. - * @throws No-throws. - */ - template - UnderlyingType underlying_cast(EnumType v) - { - return v.get_underlying_value_(); - } - - /** - * Casts a scoped enum to its native enum type. - * - * This function is useful to make programs portable when the scoped enum emulation can not be use where native enums can. - * - * EnumType the scoped enum type - * - * @param v A scoped enum. - * @returns The native enum value. - * @throws No-throws. - */ - template - inline - typename EnumType::enum_type native_value(EnumType e) - { - return e.get_native_value_(); - } - -#else // BOOST_NO_CXX11_SCOPED_ENUMS - - template - struct native_type - { - typedef EnumType type; - }; - - template - UnderlyingType underlying_cast(EnumType v) - { - return static_cast(v); - } - - template - inline - EnumType native_value(EnumType e) - { - return e; - } - -#endif // BOOST_NO_CXX11_SCOPED_ENUMS -} - - -#ifdef BOOST_NO_CXX11_SCOPED_ENUMS - -#ifndef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS - -#define BOOST_SCOPED_ENUM_UT_DECLARE_CONVERSION_OPERATOR \ - explicit operator underlying_type() const BOOST_NOEXCEPT { return get_underlying_value_(); } - -#else - -#define BOOST_SCOPED_ENUM_UT_DECLARE_CONVERSION_OPERATOR - -#endif - -/** - * Start a declaration of a scoped enum. - * - * @param EnumType The new scoped enum. - * @param UnderlyingType The underlying type. - */ -#define BOOST_SCOPED_ENUM_UT_DECLARE_BEGIN(EnumType, UnderlyingType) \ - struct EnumType { \ - typedef void is_boost_scoped_enum_tag; \ - typedef UnderlyingType underlying_type; \ - EnumType() BOOST_NOEXCEPT {} \ - explicit EnumType(underlying_type v) BOOST_NOEXCEPT : v_(v) {} \ - underlying_type get_underlying_value_() const BOOST_NOEXCEPT { return v_; } \ - BOOST_SCOPED_ENUM_UT_DECLARE_CONVERSION_OPERATOR \ - private: \ - underlying_type v_; \ - typedef EnumType self_type; \ - public: \ - enum enum_type - -#define BOOST_SCOPED_ENUM_DECLARE_END2() \ - enum_type get_native_value_() const BOOST_NOEXCEPT { return enum_type(v_); } \ - friend bool operator ==(self_type lhs, self_type rhs) BOOST_NOEXCEPT { return enum_type(lhs.v_)==enum_type(rhs.v_); } \ - friend bool operator ==(self_type lhs, enum_type rhs) BOOST_NOEXCEPT { return enum_type(lhs.v_)==rhs; } \ - friend bool operator ==(enum_type lhs, self_type rhs) BOOST_NOEXCEPT { return lhs==enum_type(rhs.v_); } \ - friend bool operator !=(self_type lhs, self_type rhs) BOOST_NOEXCEPT { return enum_type(lhs.v_)!=enum_type(rhs.v_); } \ - friend bool operator !=(self_type lhs, enum_type rhs) BOOST_NOEXCEPT { return enum_type(lhs.v_)!=rhs; } \ - friend bool operator !=(enum_type lhs, self_type rhs) BOOST_NOEXCEPT { return lhs!=enum_type(rhs.v_); } \ - friend bool operator <(self_type lhs, self_type rhs) BOOST_NOEXCEPT { return enum_type(lhs.v_)(self_type lhs, self_type rhs) BOOST_NOEXCEPT { return enum_type(lhs.v_)>enum_type(rhs.v_); } \ - friend bool operator >(self_type lhs, enum_type rhs) BOOST_NOEXCEPT { return enum_type(lhs.v_)>rhs; } \ - friend bool operator >(enum_type lhs, self_type rhs) BOOST_NOEXCEPT { return lhs>enum_type(rhs.v_); } \ - friend bool operator >=(self_type lhs, self_type rhs) BOOST_NOEXCEPT { return enum_type(lhs.v_)>=enum_type(rhs.v_); } \ - friend bool operator >=(self_type lhs, enum_type rhs) BOOST_NOEXCEPT { return enum_type(lhs.v_)>=rhs; } \ - friend bool operator >=(enum_type lhs, self_type rhs) BOOST_NOEXCEPT { return lhs>=enum_type(rhs.v_); } \ - }; - -#define BOOST_SCOPED_ENUM_DECLARE_END(EnumType) \ - ; \ - EnumType(enum_type v) BOOST_NOEXCEPT : v_(v) {} \ - BOOST_SCOPED_ENUM_DECLARE_END2() - -/** - * Starts a declaration of a scoped enum with the default int underlying type. - * - * @param EnumType The new scoped enum. - */ -#define BOOST_SCOPED_ENUM_DECLARE_BEGIN(EnumType) \ - BOOST_SCOPED_ENUM_UT_DECLARE_BEGIN(EnumType,int) - -/** - * Name of the native enum type. - * - * @param EnumType The new scoped enum. - */ -#define BOOST_SCOPED_ENUM_NATIVE(EnumType) EnumType::enum_type -/** - * Forward declares an scoped enum. - * - * @param EnumType The scoped enum. - */ -#define BOOST_SCOPED_ENUM_FORWARD_DECLARE(EnumType) struct EnumType - -#else // BOOST_NO_CXX11_SCOPED_ENUMS - -#define BOOST_SCOPED_ENUM_UT_DECLARE_BEGIN(EnumType,UnderlyingType) enum class EnumType : UnderlyingType -#define BOOST_SCOPED_ENUM_DECLARE_BEGIN(EnumType) enum class EnumType -#define BOOST_SCOPED_ENUM_DECLARE_END2() -#define BOOST_SCOPED_ENUM_DECLARE_END(EnumType) ; - -#define BOOST_SCOPED_ENUM_NATIVE(EnumType) EnumType -#define BOOST_SCOPED_ENUM_FORWARD_DECLARE(EnumType) enum class EnumType - -#endif // BOOST_NO_CXX11_SCOPED_ENUMS - -// Deprecated macros -#define BOOST_SCOPED_ENUM_START(name) BOOST_SCOPED_ENUM_DECLARE_BEGIN(name) -#define BOOST_SCOPED_ENUM_END BOOST_SCOPED_ENUM_DECLARE_END2() -#define BOOST_SCOPED_ENUM(name) BOOST_SCOPED_ENUM_NATIVE(name) - -#endif // BOOST_CORE_SCOPED_ENUM_HPP diff --git a/bundled/boost-1.56.0/include/boost/date_time/time.hpp b/bundled/boost-1.56.0/include/boost/date_time/time.hpp deleted file mode 100644 index 0a7810a0ef..0000000000 --- a/bundled/boost-1.56.0/include/boost/date_time/time.hpp +++ /dev/null @@ -1,191 +0,0 @@ -#ifndef DATE_TIME_TIME_HPP___ -#define DATE_TIME_TIME_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$ - */ - - -/*! @file time.hpp - This file contains the interface for the time associated classes. -*/ -#include -#include -#include -#include - -namespace boost { -namespace date_time { - - //! Representation of a precise moment in time, including the date. - /*! - This class is a skeleton for the interface of a temporal type - with a resolution that is higher than a day. It is intended that - this class be the base class and that the actual time - class be derived using the BN pattern. In this way, the derived - class can make decisions such as 'should there be a default constructor' - and what should it set its value to, should there be optional constructors - say allowing only an time_durations that generate a time from a clock,etc. - So, in fact multiple time types can be created for a time_system with - different construction policies, and all of them can perform basic - operations by only writing a copy constructor. Finally, compiler - errors are also shorter. - - The real behavior of the time class is provided by the time_system - template parameter. This class must provide all the logic - for addition, subtraction, as well as define all the interface - types. - - */ - - template - class base_time : private - boost::less_than_comparable > - { - public: - typedef T time_type; - typedef typename time_system::time_rep_type time_rep_type; - typedef typename time_system::date_type date_type; - typedef typename time_system::date_duration_type date_duration_type; - typedef typename time_system::time_duration_type time_duration_type; - //typedef typename time_system::hms_type hms_type; - - base_time(const date_type& day, - const time_duration_type& td, - dst_flags dst=not_dst) : - time_(time_system::get_time_rep(day, td, dst)) - {} - base_time(special_values sv) : - time_(time_system::get_time_rep(sv)) - {} - base_time(const time_rep_type& rhs) : - time_(rhs) - {} - date_type date() const - { - return time_system::get_date(time_); - } - time_duration_type time_of_day() const - { - return time_system::get_time_of_day(time_); - } - /*! Optional bool parameter will return time zone as an offset - * (ie "+07:00"). Empty string is returned for classes that do - * not use a time_zone */ - std::string zone_name(bool /*as_offset*/=false) const - { - return time_system::zone_name(time_); - } - /*! Optional bool parameter will return time zone as an offset - * (ie "+07:00"). Empty string is returned for classes that do - * not use a time_zone */ - std::string zone_abbrev(bool /*as_offset*/=false) const - { - return time_system::zone_name(time_); - } - //! An empty string is returned for classes that do not use a time_zone - std::string zone_as_posix_string() const - { - return std::string(); - } - - //! check to see if date is not a value - bool is_not_a_date_time() const - { - return time_.is_not_a_date_time(); - } - //! check to see if date is one of the infinity values - bool is_infinity() const - { - return (is_pos_infinity() || is_neg_infinity()); - } - //! check to see if date is greater than all possible dates - bool is_pos_infinity() const - { - return time_.is_pos_infinity(); - } - //! check to see if date is greater than all possible dates - bool is_neg_infinity() const - { - return time_.is_neg_infinity(); - } - //! check to see if time is a special value - bool is_special() const - { - return(is_not_a_date_time() || is_infinity()); - } - //!Equality operator -- others generated by boost::equality_comparable - bool operator==(const time_type& rhs) const - { - return time_system::is_equal(time_,rhs.time_); - } - //!Equality operator -- others generated by boost::less_than_comparable - bool operator<(const time_type& rhs) const - { - return time_system::is_less(time_,rhs.time_); - } - //! difference between two times - time_duration_type operator-(const time_type& rhs) const - { - return time_system::subtract_times(time_, rhs.time_); - } - //! add date durations - time_type operator+(const date_duration_type& dd) const - { - return time_system::add_days(time_, dd); - } - time_type operator+=(const date_duration_type& dd) - { - time_ = (time_system::get_time_rep(date() + dd, time_of_day())); - return time_type(time_); - } - //! subtract date durations - time_type operator-(const date_duration_type& dd) const - { - return time_system::subtract_days(time_, dd); - } - time_type operator-=(const date_duration_type& dd) - { - time_ = (time_system::get_time_rep(date() - dd, time_of_day())); - return time_type(time_); - } - //! add time durations - time_type operator+(const time_duration_type& td) const - { - return time_type(time_system::add_time_duration(time_, td)); - } - time_type operator+=(const time_duration_type& td) - { - time_ = (time_system::get_time_rep(date(), time_of_day() + td)); - return time_type(time_); - } - //! subtract time durations - time_type operator-(const time_duration_type& rhs) const - { - return time_system::subtract_time_duration(time_, rhs); - } - time_type operator-=(const time_duration_type& td) - { - time_ = (time_system::get_time_rep(date(), time_of_day() - td)); - return time_type(time_); - } - - protected: - time_rep_type time_; - }; - - - - - -} } //namespace date_time::boost - - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/detail/interlocked.hpp b/bundled/boost-1.56.0/include/boost/detail/interlocked.hpp deleted file mode 100644 index 1152f710b1..0000000000 --- a/bundled/boost-1.56.0/include/boost/detail/interlocked.hpp +++ /dev/null @@ -1,210 +0,0 @@ -#ifndef BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED -#define BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED - -// -// boost/detail/interlocked.hpp -// -// Copyright 2005 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) -// - -#include - -// MS compatible compilers support #pragma once -#ifdef BOOST_HAS_PRAGMA_ONCE -#pragma once -#endif - -#if defined( BOOST_USE_WINDOWS_H ) - -# include - -# define BOOST_INTERLOCKED_INCREMENT InterlockedIncrement -# define BOOST_INTERLOCKED_DECREMENT InterlockedDecrement -# define BOOST_INTERLOCKED_COMPARE_EXCHANGE InterlockedCompareExchange -# define BOOST_INTERLOCKED_EXCHANGE InterlockedExchange -# define BOOST_INTERLOCKED_EXCHANGE_ADD InterlockedExchangeAdd -# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER InterlockedCompareExchangePointer -# define BOOST_INTERLOCKED_EXCHANGE_POINTER InterlockedExchangePointer - -#elif defined( BOOST_USE_INTRIN_H ) - -#include - -# define BOOST_INTERLOCKED_INCREMENT _InterlockedIncrement -# define BOOST_INTERLOCKED_DECREMENT _InterlockedDecrement -# define BOOST_INTERLOCKED_COMPARE_EXCHANGE _InterlockedCompareExchange -# define BOOST_INTERLOCKED_EXCHANGE _InterlockedExchange -# define BOOST_INTERLOCKED_EXCHANGE_ADD _InterlockedExchangeAdd - -# if defined(_M_IA64) || defined(_M_AMD64) || defined(__x86_64__) || defined(__x86_64) - -# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER _InterlockedCompareExchangePointer -# define BOOST_INTERLOCKED_EXCHANGE_POINTER _InterlockedExchangePointer - -# else - -# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \ - ((void*)BOOST_INTERLOCKED_COMPARE_EXCHANGE((long volatile*)(dest),(long)(exchange),(long)(compare))) -# define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \ - ((void*)BOOST_INTERLOCKED_EXCHANGE((long volatile*)(dest),(long)(exchange))) - -# endif - -#elif defined(_WIN32_WCE) - -#if _WIN32_WCE >= 0x600 - -extern "C" long __cdecl _InterlockedIncrement( long volatile * ); -extern "C" long __cdecl _InterlockedDecrement( long volatile * ); -extern "C" long __cdecl _InterlockedCompareExchange( long volatile *, long, long ); -extern "C" long __cdecl _InterlockedExchange( long volatile *, long ); -extern "C" long __cdecl _InterlockedExchangeAdd( long volatile *, long ); - -# define BOOST_INTERLOCKED_INCREMENT _InterlockedIncrement -# define BOOST_INTERLOCKED_DECREMENT _InterlockedDecrement -# define BOOST_INTERLOCKED_COMPARE_EXCHANGE _InterlockedCompareExchange -# define BOOST_INTERLOCKED_EXCHANGE _InterlockedExchange -# define BOOST_INTERLOCKED_EXCHANGE_ADD _InterlockedExchangeAdd - -#else -// under Windows CE we still have old-style Interlocked* functions - -extern "C" long __cdecl InterlockedIncrement( long* ); -extern "C" long __cdecl InterlockedDecrement( long* ); -extern "C" long __cdecl InterlockedCompareExchange( long*, long, long ); -extern "C" long __cdecl InterlockedExchange( long*, long ); -extern "C" long __cdecl InterlockedExchangeAdd( long*, long ); - -# define BOOST_INTERLOCKED_INCREMENT InterlockedIncrement -# define BOOST_INTERLOCKED_DECREMENT InterlockedDecrement -# define BOOST_INTERLOCKED_COMPARE_EXCHANGE InterlockedCompareExchange -# define BOOST_INTERLOCKED_EXCHANGE InterlockedExchange -# define BOOST_INTERLOCKED_EXCHANGE_ADD InterlockedExchangeAdd - -#endif - -# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \ - ((void*)BOOST_INTERLOCKED_COMPARE_EXCHANGE((long*)(dest),(long)(exchange),(long)(compare))) -# define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \ - ((void*)BOOST_INTERLOCKED_EXCHANGE((long*)(dest),(long)(exchange))) - -#elif defined( BOOST_MSVC ) || defined( BOOST_INTEL_WIN ) - -#if defined( BOOST_MSVC ) && BOOST_MSVC >= 1500 - -#include - -#elif defined( __CLRCALL_PURE_OR_CDECL ) - -extern "C" long __CLRCALL_PURE_OR_CDECL _InterlockedIncrement( long volatile * ); -extern "C" long __CLRCALL_PURE_OR_CDECL _InterlockedDecrement( long volatile * ); -extern "C" long __CLRCALL_PURE_OR_CDECL _InterlockedCompareExchange( long volatile *, long, long ); -extern "C" long __CLRCALL_PURE_OR_CDECL _InterlockedExchange( long volatile *, long ); -extern "C" long __CLRCALL_PURE_OR_CDECL _InterlockedExchangeAdd( long volatile *, long ); - -#else - -extern "C" long __cdecl _InterlockedIncrement( long volatile * ); -extern "C" long __cdecl _InterlockedDecrement( long volatile * ); -extern "C" long __cdecl _InterlockedCompareExchange( long volatile *, long, long ); -extern "C" long __cdecl _InterlockedExchange( long volatile *, long ); -extern "C" long __cdecl _InterlockedExchangeAdd( long volatile *, long ); - -#endif - -# if defined(_M_IA64) || defined(_M_AMD64) - -extern "C" void* __cdecl _InterlockedCompareExchangePointer( void* volatile *, void*, void* ); -extern "C" void* __cdecl _InterlockedExchangePointer( void* volatile *, void* ); - -# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER _InterlockedCompareExchangePointer -# define BOOST_INTERLOCKED_EXCHANGE_POINTER _InterlockedExchangePointer - -# else - -# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \ - ((void*)BOOST_INTERLOCKED_COMPARE_EXCHANGE((long volatile*)(dest),(long)(exchange),(long)(compare))) -# define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \ - ((void*)BOOST_INTERLOCKED_EXCHANGE((long volatile*)(dest),(long)(exchange))) - -# endif - -# define BOOST_INTERLOCKED_INCREMENT _InterlockedIncrement -# define BOOST_INTERLOCKED_DECREMENT _InterlockedDecrement -# define BOOST_INTERLOCKED_COMPARE_EXCHANGE _InterlockedCompareExchange -# define BOOST_INTERLOCKED_EXCHANGE _InterlockedExchange -# define BOOST_INTERLOCKED_EXCHANGE_ADD _InterlockedExchangeAdd - -// Unlike __MINGW64__, __MINGW64_VERSION_MAJOR is defined by MinGW-w64 for both 32 and 64-bit targets. -#elif defined(__MINGW64_VERSION_MAJOR) - -// MinGW-w64 provides intrin.h for both 32 and 64-bit targets. -#include - -# define BOOST_INTERLOCKED_INCREMENT _InterlockedIncrement -# define BOOST_INTERLOCKED_DECREMENT _InterlockedDecrement -# define BOOST_INTERLOCKED_COMPARE_EXCHANGE _InterlockedCompareExchange -# define BOOST_INTERLOCKED_EXCHANGE _InterlockedExchange -# define BOOST_INTERLOCKED_EXCHANGE_ADD _InterlockedExchangeAdd -# if defined(__x86_64__) || defined(__x86_64) -# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER _InterlockedCompareExchangePointer -# define BOOST_INTERLOCKED_EXCHANGE_POINTER _InterlockedExchangePointer -# else -# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \ - ((void*)BOOST_INTERLOCKED_COMPARE_EXCHANGE((long volatile*)(dest),(long)(exchange),(long)(compare))) -# define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \ - ((void*)BOOST_INTERLOCKED_EXCHANGE((long volatile*)(dest),(long)(exchange))) -# endif - -#elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) || defined( __CYGWIN__ ) - -#define BOOST_INTERLOCKED_IMPORT __declspec(dllimport) - -namespace boost -{ - -namespace detail -{ - -extern "C" BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedIncrement( long volatile * ); -extern "C" BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedDecrement( long volatile * ); -extern "C" BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedCompareExchange( long volatile *, long, long ); -extern "C" BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedExchange( long volatile *, long ); -extern "C" BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedExchangeAdd( long volatile *, long ); - -# if defined(_M_IA64) || defined(_M_AMD64) -extern "C" BOOST_INTERLOCKED_IMPORT void* __stdcall InterlockedCompareExchangePointer( void* volatile *, void*, void* ); -extern "C" BOOST_INTERLOCKED_IMPORT void* __stdcall InterlockedExchangePointer( void* volatile *, void* ); -# endif - -} // namespace detail - -} // namespace boost - -# define BOOST_INTERLOCKED_INCREMENT ::boost::detail::InterlockedIncrement -# define BOOST_INTERLOCKED_DECREMENT ::boost::detail::InterlockedDecrement -# define BOOST_INTERLOCKED_COMPARE_EXCHANGE ::boost::detail::InterlockedCompareExchange -# define BOOST_INTERLOCKED_EXCHANGE ::boost::detail::InterlockedExchange -# define BOOST_INTERLOCKED_EXCHANGE_ADD ::boost::detail::InterlockedExchangeAdd - -# if defined(_M_IA64) || defined(_M_AMD64) -# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER ::boost::detail::InterlockedCompareExchangePointer -# define BOOST_INTERLOCKED_EXCHANGE_POINTER ::boost::detail::InterlockedExchangePointer -# else -# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \ - ((void*)BOOST_INTERLOCKED_COMPARE_EXCHANGE((long volatile*)(dest),(long)(exchange),(long)(compare))) -# define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \ - ((void*)BOOST_INTERLOCKED_EXCHANGE((long volatile*)(dest),(long)(exchange))) -# endif - -#else - -# error "Interlocked intrinsics not available" - -#endif - -#endif // #ifndef BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/detail/iterator.hpp b/bundled/boost-1.56.0/include/boost/detail/iterator.hpp deleted file mode 100644 index c2e8f1e2a5..0000000000 --- a/bundled/boost-1.56.0/include/boost/detail/iterator.hpp +++ /dev/null @@ -1,26 +0,0 @@ -// (C) Copyright David Abrahams 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) - -#ifndef ITERATOR_DWA122600_HPP_ -#define ITERATOR_DWA122600_HPP_ - -// This header is obsolete and will be deprecated. - -#include - -namespace boost -{ - -namespace detail -{ - -using std::iterator_traits; -using std::distance; - -} // namespace detail - -} // namespace boost - -#endif // ITERATOR_DWA122600_HPP_ diff --git a/bundled/boost-1.56.0/include/boost/detail/utf8_codecvt_facet.hpp b/bundled/boost-1.56.0/include/boost/detail/utf8_codecvt_facet.hpp deleted file mode 100644 index 753b339336..0000000000 --- a/bundled/boost-1.56.0/include/boost/detail/utf8_codecvt_facet.hpp +++ /dev/null @@ -1,191 +0,0 @@ -// Copyright (c) 2001 Ronald Garcia, Indiana University (garcia@osl.iu.edu) -// Andrew Lumsdaine, Indiana University (lums@osl.iu.edu). -// Distributed under the Boost Software License, Version 1.0. (See accompany- -// ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_UTF8_CODECVT_FACET_HPP -#define BOOST_UTF8_CODECVT_FACET_HPP - -// MS compatible compilers support #pragma once -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 -// utf8_codecvt_facet.hpp - -// This header defines class utf8_codecvt_facet, derived fro -// std::codecvt, which can be used to convert utf8 data in -// files into wchar_t strings in the application. -// -// The header is NOT STANDALONE, and is not to be included by the USER. -// There are at least two libraries which want to use this functionality, and -// we want to avoid code duplication. It would be possible to create utf8 -// library, but: -// - this requires review process first -// - in the case, when linking the a library which uses utf8 -// (say 'program_options'), user should also link to the utf8 library. -// This seems inconvenient, and asking a user to link to an unrevieved -// library is strange. -// Until the above points are fixed, a library which wants to use utf8 must: -// - include this header from one of it's headers or sources -// - include the corresponding .cpp file from one of the sources -// - before including either file, the library must define -// - BOOST_UTF8_BEGIN_NAMESPACE to the namespace declaration that must be used -// - BOOST_UTF8_END_NAMESPACE to the code to close the previous namespace -// - declaration. -// - BOOST_UTF8_DECL -- to the code which must be used for all 'exportable' -// symbols. -// -// For example, program_options library might contain: -// #define BOOST_UTF8_BEGIN_NAMESPACE -// namespace boost { namespace program_options { -// #define BOOST_UTF8_END_NAMESPACE }} -// #define BOOST_UTF8_DECL BOOST_PROGRAM_OPTIONS_DECL -// #include "../../detail/utf8/utf8_codecvt.cpp" -// -// Essentially, each library will have its own copy of utf8 code, in -// different namespaces. - -// Note:(Robert Ramey). I have made the following alterations in the original -// code. -// a) Rendered utf8_codecvt with using templates -// b) Move longer functions outside class definition to prevent inlining -// and make code smaller -// c) added on a derived class to permit translation to/from current -// locale to utf8 - -// See http://www.boost.org for updates, documentation, and revision history. - -// archives stored as text - note these ar templated on the basic -// stream templates to accommodate wide (and other?) kind of characters -// -// note the fact that on libraries without wide characters, ostream is -// is not a specialization of basic_ostream which in fact is not defined -// in such cases. So we can't use basic_ostream but rather -// use two template parameters -// -// utf8_codecvt_facet -// This is an implementation of a std::codecvt facet for translating -// from UTF-8 externally to UCS-4. Note that this is not tied to -// any specific types in order to allow customization on platforms -// where wchar_t is not big enough. -// -// NOTES: The current implementation jumps through some unpleasant hoops in -// order to deal with signed character types. As a std::codecvt_base::result, -// it is necessary for the ExternType to be convertible to unsigned char. -// I chose not to tie the extern_type explicitly to char. But if any combination -// of types other than is used, then std::codecvt must be -// specialized on those types for this to work. - -#include -#include // for mbstate_t -#include // for std::size_t - -#include -#include - -#if defined(BOOST_NO_STDC_NAMESPACE) -namespace std { - using ::mbstate_t; - using ::size_t; -} -#endif - -#if !defined(__MSL_CPP__) && !defined(__LIBCOMO__) - #define BOOST_CODECVT_DO_LENGTH_CONST const -#else - #define BOOST_CODECVT_DO_LENGTH_CONST -#endif - -// maximum lenght of a multibyte string -#define MB_LENGTH_MAX 8 - -BOOST_UTF8_BEGIN_NAMESPACE - -struct BOOST_UTF8_DECL utf8_codecvt_facet : - public std::codecvt -{ -public: - explicit utf8_codecvt_facet(std::size_t no_locale_manage=0) - : std::codecvt(no_locale_manage) - {} -protected: - virtual std::codecvt_base::result do_in( - std::mbstate_t& state, - const char * from, - const char * from_end, - const char * & from_next, - wchar_t * to, - wchar_t * to_end, - wchar_t*& to_next - ) const; - - virtual std::codecvt_base::result do_out( - std::mbstate_t & state, - const wchar_t * from, - const wchar_t * from_end, - const wchar_t* & from_next, - char * to, - char * to_end, - char * & to_next - ) const; - - bool invalid_continuing_octet(unsigned char octet_1) const { - return (octet_1 < 0x80|| 0xbf< octet_1); - } - - bool invalid_leading_octet(unsigned char octet_1) const { - return (0x7f < octet_1 && octet_1 < 0xc0) || - (octet_1 > 0xfd); - } - - // continuing octets = octets except for the leading octet - static unsigned int get_cont_octet_count(unsigned char lead_octet) { - return get_octet_count(lead_octet) - 1; - } - - static unsigned int get_octet_count(unsigned char lead_octet); - - // How many "continuing octets" will be needed for this word - // == total octets - 1. - int get_cont_octet_out_count(wchar_t word) const ; - - virtual bool do_always_noconv() const BOOST_NOEXCEPT_OR_NOTHROW { - return false; - } - - // UTF-8 isn't really stateful since we rewind on partial conversions - virtual std::codecvt_base::result do_unshift( - std::mbstate_t&, - char * from, - char * /*to*/, - char * & next - ) const { - next = from; - return ok; - } - - virtual int do_encoding() const BOOST_NOEXCEPT_OR_NOTHROW { - const int variable_byte_external_encoding=0; - return variable_byte_external_encoding; - } - - // How many char objects can I process to get <= max_limit - // wchar_t objects? - virtual int do_length( - BOOST_CODECVT_DO_LENGTH_CONST std::mbstate_t &, - const char * from, - const char * from_end, - std::size_t max_limit - ) const; - - // Largest possible value do_length(state,from,from_end,1) could return. - virtual int do_max_length() const BOOST_NOEXCEPT_OR_NOTHROW { - return 6; // largest UTF-8 encoding of a UCS-4 character - } -}; - -BOOST_UTF8_END_NAMESPACE - -#endif // BOOST_UTF8_CODECVT_FACET_HPP diff --git a/bundled/boost-1.56.0/include/boost/detail/winapi/GetCurrentProcess.hpp b/bundled/boost-1.56.0/include/boost/detail/winapi/GetCurrentProcess.hpp deleted file mode 100644 index 51206bb4e8..0000000000 --- a/bundled/boost-1.56.0/include/boost/detail/winapi/GetCurrentProcess.hpp +++ /dev/null @@ -1,29 +0,0 @@ -// GetCurrentProcess.hpp --------------------------------------------------------------// - -// Copyright 2010 Vicente J. Botet Escriba - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - - -#ifndef BOOST_DETAIL_WINAPI_GETCURRENTPROCESS_HPP -#define BOOST_DETAIL_WINAPI_GETCURRENTPROCESS_HPP - -#include - -#ifdef BOOST_HAS_PRAGMA_ONCE -#pragma once -#endif - -namespace boost { -namespace detail { -namespace winapi { -#if defined( BOOST_USE_WINDOWS_H ) - using ::GetCurrentProcess; -#else - extern "C" __declspec(dllimport) HANDLE_ WINAPI GetCurrentProcess(); -#endif -} -} -} -#endif // BOOST_DETAIL_WINAPI_GETCURRENTPROCESS_HPP diff --git a/bundled/boost-1.56.0/include/boost/detail/winapi/GetCurrentThread.hpp b/bundled/boost-1.56.0/include/boost/detail/winapi/GetCurrentThread.hpp deleted file mode 100644 index 595b751d13..0000000000 --- a/bundled/boost-1.56.0/include/boost/detail/winapi/GetCurrentThread.hpp +++ /dev/null @@ -1,38 +0,0 @@ -// GetCurrentThread.hpp --------------------------------------------------------------// - -// Copyright 2010 Vicente J. Botet Escriba - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - - -#ifndef BOOST_DETAIL_WINAPI_GETCURRENTTHREAD_HPP -#define BOOST_DETAIL_WINAPI_GETCURRENTTHREAD_HPP - -#include - -#ifdef BOOST_HAS_PRAGMA_ONCE -#pragma once -#endif - -namespace boost { -namespace detail { -namespace winapi { -#if defined( UNDER_CE ) -// Windows CE define GetCurrentThread as an inline function in kfuncs.h -inline HANDLE_ GetCurrentThread() -{ - return ::GetCurrentThread(); -} -#else -#if defined( BOOST_USE_WINDOWS_H ) - using ::GetCurrentThread; -#else - extern "C" __declspec(dllimport) HANDLE_ WINAPI GetCurrentThread(); -#endif -#endif -} -} -} - -#endif // BOOST_DETAIL_WINAPI_GETCURRENTTHREAD_HPP diff --git a/bundled/boost-1.56.0/include/boost/detail/winapi/GetLastError.hpp b/bundled/boost-1.56.0/include/boost/detail/winapi/GetLastError.hpp deleted file mode 100644 index 6e9e2d998a..0000000000 --- a/bundled/boost-1.56.0/include/boost/detail/winapi/GetLastError.hpp +++ /dev/null @@ -1,31 +0,0 @@ -// GetLastError.hpp --------------------------------------------------------------// - -// Copyright 2010 Vicente J. Botet Escriba - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - - -#ifndef BOOST_DETAIL_WINAPI_GETLASTERROR_HPP -#define BOOST_DETAIL_WINAPI_GETLASTERROR_HPP - -#include - -#ifdef BOOST_HAS_PRAGMA_ONCE -#pragma once -#endif - -namespace boost { -namespace detail { -namespace winapi { -#if defined( BOOST_USE_WINDOWS_H ) - using ::GetLastError; -#else - extern "C" __declspec(dllimport) DWORD_ WINAPI - GetLastError(); -#endif -} -} -} - -#endif // BOOST_DETAIL_WINAPI_GETLASTERROR_HPP diff --git a/bundled/boost-1.56.0/include/boost/detail/winapi/GetProcessTimes.hpp b/bundled/boost-1.56.0/include/boost/detail/winapi/GetProcessTimes.hpp deleted file mode 100644 index f2860b06bd..0000000000 --- a/bundled/boost-1.56.0/include/boost/detail/winapi/GetProcessTimes.hpp +++ /dev/null @@ -1,39 +0,0 @@ -// GetProcessTimes.hpp --------------------------------------------------------------// - -// Copyright 2010 Vicente J. Botet Escriba - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - - -#ifndef BOOST_DETAIL_WINAPI_GETPROCESSTIMES_HPP -#define BOOST_DETAIL_WINAPI_GETPROCESSTIMES_HPP - -#include - -#ifdef BOOST_HAS_PRAGMA_ONCE -#pragma once -#endif - -namespace boost { -namespace detail { -namespace winapi { -#if !defined(UNDER_CE) // Windows CE does not define GetProcessTimes -#if defined( BOOST_USE_WINDOWS_H ) - using ::GetProcessTimes; -#else - extern "C" __declspec(dllimport) BOOL_ WINAPI - GetProcessTimes( - HANDLE_ hProcess, - LPFILETIME_ lpCreationTime, - LPFILETIME_ lpExitTime, - LPFILETIME_ lpKernelTime, - LPFILETIME_ lpUserTime - ); -#endif -#endif -} -} -} - -#endif // BOOST_DETAIL_WINAPI_GETPROCESSTIMES_HPP diff --git a/bundled/boost-1.56.0/include/boost/detail/winapi/GetThreadTimes.hpp b/bundled/boost-1.56.0/include/boost/detail/winapi/GetThreadTimes.hpp deleted file mode 100644 index 3428edad22..0000000000 --- a/bundled/boost-1.56.0/include/boost/detail/winapi/GetThreadTimes.hpp +++ /dev/null @@ -1,37 +0,0 @@ -// GetThreadTimes.hpp --------------------------------------------------------------// - -// Copyright 2010 Vicente J. Botet Escriba - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - - -#ifndef BOOST_DETAIL_WINAPI_GETTHREADTIMES_HPP -#define BOOST_DETAIL_WINAPI_GETTHREADTIMES_HPP - -#include - -#ifdef BOOST_HAS_PRAGMA_ONCE -#pragma once -#endif - -namespace boost { -namespace detail { -namespace winapi { -#if defined( BOOST_USE_WINDOWS_H ) - using ::GetThreadTimes; -#else - extern "C" __declspec(dllimport) BOOL_ WINAPI - GetThreadTimes( - HANDLE_ hThread, - LPFILETIME_ lpCreationTime, - LPFILETIME_ lpExitTime, - LPFILETIME_ lpKernelTime, - LPFILETIME_ lpUserTime - ); -#endif -} -} -} - -#endif // BOOST_DETAIL_WINAPI_GETTHREADTIMES_HPP diff --git a/bundled/boost-1.56.0/include/boost/detail/winapi/basic_types.hpp b/bundled/boost-1.56.0/include/boost/detail/winapi/basic_types.hpp deleted file mode 100644 index 09d907bdc2..0000000000 --- a/bundled/boost-1.56.0/include/boost/detail/winapi/basic_types.hpp +++ /dev/null @@ -1,134 +0,0 @@ -// basic_types.hpp --------------------------------------------------------------// - -// Copyright 2010 Vicente J. Botet Escriba - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - - -#ifndef BOOST_DETAIL_WINAPI_BASIC_TYPES_HPP -#define BOOST_DETAIL_WINAPI_BASIC_TYPES_HPP - -#include -#include -#include - -#if defined( BOOST_USE_WINDOWS_H ) -# include -#elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) || defined(__CYGWIN__) -# include -// @FIXME Which condition must be tested -# ifdef UNDER_CE -# ifndef WINAPI -# ifndef _WIN32_WCE_EMULATION -# define WINAPI __cdecl // Note this doesn't match the desktop definition -# else -# define WINAPI __stdcall -# endif -# endif -# else -# ifndef WINAPI -# define WINAPI __stdcall -# endif -# endif -# ifndef NTAPI -# define NTAPI __stdcall -# endif -#else -# error "Win32 functions not available" -#endif - -#ifdef BOOST_HAS_PRAGMA_ONCE -#pragma once -#endif - -namespace boost { -namespace detail { -namespace winapi { -#if defined( BOOST_USE_WINDOWS_H ) - typedef ::BOOL BOOL_; - typedef ::BOOLEAN BOOLEAN_; - typedef ::PBOOLEAN PBOOLEAN_; - typedef ::BYTE BYTE_; - typedef ::WORD WORD_; - typedef ::DWORD DWORD_; - typedef ::HANDLE HANDLE_; - typedef ::HMODULE HMODULE_; - typedef ::LONG LONG_; - typedef ::ULONG ULONG_; - typedef ::LONGLONG LONGLONG_; - typedef ::ULONGLONG ULONGLONG_; - typedef ::INT_PTR INT_PTR_; - typedef ::UINT_PTR UINT_PTR_; - typedef ::LONG_PTR LONG_PTR_; - typedef ::ULONG_PTR ULONG_PTR_; - typedef ::LARGE_INTEGER LARGE_INTEGER_; - typedef ::PLARGE_INTEGER PLARGE_INTEGER_; - typedef ::PVOID PVOID_; - typedef ::LPVOID LPVOID_; - typedef ::CHAR CHAR_; - typedef ::LPSTR LPSTR_; - typedef ::LPCSTR LPCSTR_; - typedef ::WCHAR WCHAR_; - typedef ::LPWSTR LPWSTR_; - typedef ::LPCWSTR LPCWSTR_; -#else -extern "C" { - typedef int BOOL_; - typedef unsigned char BYTE_; - typedef BYTE_ BOOLEAN_; - typedef BOOLEAN_* PBOOLEAN_; - typedef unsigned short WORD_; - typedef unsigned long DWORD_; - typedef void* HANDLE_; - typedef void* HMODULE_; - - typedef long LONG_; - typedef unsigned long ULONG_; - - typedef boost::int64_t LONGLONG_; - typedef boost::uint64_t ULONGLONG_; - -// @FIXME Which condition must be tested -# ifdef _WIN64 -#if defined(__CYGWIN__) - typedef long INT_PTR_; - typedef unsigned long UINT_PTR_; - typedef long LONG_PTR_; - typedef unsigned long ULONG_PTR_; -#else - typedef __int64 INT_PTR_; - typedef unsigned __int64 UINT_PTR_; - typedef __int64 LONG_PTR_; - typedef unsigned __int64 ULONG_PTR_; -#endif -# else - typedef int INT_PTR_; - typedef unsigned int UINT_PTR_; - typedef long LONG_PTR_; - typedef unsigned long ULONG_PTR_; -# endif - - typedef struct _LARGE_INTEGER { - LONGLONG_ QuadPart; - } LARGE_INTEGER_; - typedef LARGE_INTEGER_ *PLARGE_INTEGER_; - - typedef void *PVOID_; - typedef void *LPVOID_; - typedef const void *LPCVOID_; - - typedef char CHAR_; - typedef CHAR_ *LPSTR_; - typedef const CHAR_ *LPCSTR_; - - typedef wchar_t WCHAR_; - typedef WCHAR_ *LPWSTR_; - typedef const WCHAR_ *LPCWSTR_; -} -#endif -} -} -} - -#endif // BOOST_DETAIL_WINAPI_BASIC_TYPES_HPP diff --git a/bundled/boost-1.56.0/include/boost/detail/winapi/config.hpp b/bundled/boost-1.56.0/include/boost/detail/winapi/config.hpp deleted file mode 100644 index 2b0cdfbada..0000000000 --- a/bundled/boost-1.56.0/include/boost/detail/winapi/config.hpp +++ /dev/null @@ -1,53 +0,0 @@ -// config.hpp --------------------------------------------------------------// - -// Copyright 2013 Andrey Semashev - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - - -#ifndef BOOST_DETAIL_WINAPI_CONFIG_HPP_INCLUDED_ -#define BOOST_DETAIL_WINAPI_CONFIG_HPP_INCLUDED_ - -#include - -#ifdef BOOST_HAS_PRAGMA_ONCE -#pragma once -#endif - -// These constants reflect _WIN32_WINNT_* macros from sdkddkver.h -// See also: http://msdn.microsoft.com/en-us/library/windows/desktop/aa383745%28v=vs.85%29.aspx#setting_winver_or__win32_winnt -#define BOOST_WINAPI_VERSION_NT4 0x0400 -#define BOOST_WINAPI_VERSION_WIN2K 0x0500 -#define BOOST_WINAPI_VERSION_WINXP 0x0501 -#define BOOST_WINAPI_VERSION_WS03 0x0502 -#define BOOST_WINAPI_VERSION_WIN6 0x0600 -#define BOOST_WINAPI_VERSION_VISTA 0x0600 -#define BOOST_WINAPI_VERSION_WS08 0x0600 -#define BOOST_WINAPI_VERSION_LONGHORN 0x0600 -#define BOOST_WINAPI_VERSION_WIN7 0x0601 -#define BOOST_WINAPI_VERSION_WIN8 0x0602 -#define BOOST_WINAPI_VERSION_WINBLUE 0x0603 - -#if !defined(BOOST_USE_WINAPI_VERSION) -#if defined(_WIN32_WINNT) -#define BOOST_USE_WINAPI_VERSION _WIN32_WINNT -#elif defined(WINVER) -#define BOOST_USE_WINAPI_VERSION WINVER -#else -// By default use Windows XP API -#define BOOST_USE_WINAPI_VERSION BOOST_WINAPI_VERSION_WINXP -#endif -#endif - -#if defined(BOOST_USE_WINDOWS_H) -// We have to define the version macros so that windows.h provides the necessary symbols -#if !defined(_WIN32_WINNT) -#define _WIN32_WINNT BOOST_USE_WINAPI_VERSION -#endif -#if !defined(WINVER) -#define WINVER BOOST_USE_WINAPI_VERSION -#endif -#endif - -#endif // BOOST_DETAIL_WINAPI_CONFIG_HPP_INCLUDED_ diff --git a/bundled/boost-1.56.0/include/boost/detail/winapi/directory_management.hpp b/bundled/boost-1.56.0/include/boost/detail/winapi/directory_management.hpp deleted file mode 100644 index 19af1ee4ea..0000000000 --- a/bundled/boost-1.56.0/include/boost/detail/winapi/directory_management.hpp +++ /dev/null @@ -1,46 +0,0 @@ -// directory_management.hpp --------------------------------------------------------------// - -// Copyright 2010 Vicente J. Botet Escriba - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - - -#ifndef BOOST_DETAIL_WINAPI_DIRECTORY_MANAGEMENT_HPP -#define BOOST_DETAIL_WINAPI_DIRECTORY_MANAGEMENT_HPP - -#include -#include - -#ifdef BOOST_HAS_PRAGMA_ONCE -#pragma once -#endif - -namespace boost -{ -namespace detail -{ -namespace winapi -{ -#if defined( BOOST_USE_WINDOWS_H ) - using ::CreateDirectory; - using ::CreateDirectoryA; - using ::GetTempPathA; - using ::RemoveDirectoryA; -#else -extern "C" { - __declspec(dllimport) int __stdcall - CreateDirectory(LPCTSTR_, LPSECURITY_ATTRIBUTES_*); - __declspec(dllimport) int __stdcall - CreateDirectoryA(LPCTSTR_, interprocess_security_attributes*); - __declspec(dllimport) int __stdcall - GetTempPathA(unsigned long length, char *buffer); - __declspec(dllimport) int __stdcall - RemoveDirectoryA(LPCTSTR_); -} -#endif -} -} -} - -#endif // BOOST_DETAIL_WINAPI_THREAD_HPP diff --git a/bundled/boost-1.56.0/include/boost/detail/winapi/dll.hpp b/bundled/boost-1.56.0/include/boost/detail/winapi/dll.hpp deleted file mode 100644 index 2ec5a73bc9..0000000000 --- a/bundled/boost-1.56.0/include/boost/detail/winapi/dll.hpp +++ /dev/null @@ -1,86 +0,0 @@ -// dll.hpp --------------------------------------------------------------// - -// Copyright 2010 Vicente J. Botet Escriba - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - - -#ifndef BOOST_DETAIL_WINAPI_DLL_HPP -#define BOOST_DETAIL_WINAPI_DLL_HPP - -#include -#include - -#ifdef BOOST_HAS_PRAGMA_ONCE -#pragma once -#endif - -namespace boost -{ -namespace detail -{ -namespace winapi -{ -#if defined( BOOST_USE_WINDOWS_H ) - typedef ::FARPROC FARPROC_; - typedef ::NEARPROC NEARPROC_; - typedef ::PROC PROC_; - -# ifdef BOOST_NO_ANSI_APIS - using ::LoadLibraryW; - using ::GetModuleHandleW; -# else - using ::LoadLibraryA; - using ::GetModuleHandleA; -# endif - using ::FreeLibrary; - using ::GetProcAddress; -#else -extern "C" { -# ifdef _WIN64 - typedef INT_PTR_ (WINAPI *FARPROC_)(); - typedef INT_PTR_ (WINAPI *NEARPROC_)(); - typedef INT_PTR_ (WINAPI *PROC_)(); -# else - typedef int (WINAPI *FARPROC_)(); - typedef int (WINAPI *NEARPROC_)(); - typedef int (WINAPI *PROC_)(); -# endif // _WIN64 - -# ifdef BOOST_NO_ANSI_APIS - __declspec(dllimport) HMODULE_ WINAPI - LoadLibraryW( - LPCWSTR_ lpFileName - ); - __declspec(dllimport) HMODULE_ WINAPI - GetModuleHandleW( - LPCWSTR_ lpFileName - ); -# else - __declspec(dllimport) HMODULE_ WINAPI - LoadLibraryA( - LPCSTR_ lpFileName - ); - __declspec(dllimport) HMODULE_ WINAPI - GetModuleHandleA( - LPCSTR_ lpFileName - ); -# endif - - __declspec(dllimport) BOOL_ WINAPI - FreeLibrary( - HMODULE_ hModule - ); - __declspec(dllimport) FARPROC_ WINAPI - GetProcAddress( - HMODULE_ hModule, - LPCSTR_ lpProcName - ); -} -#endif -} -} -} - -#endif // BOOST_DETAIL_WINAPI_DLL_HPP diff --git a/bundled/boost-1.56.0/include/boost/detail/winapi/error_handling.hpp b/bundled/boost-1.56.0/include/boost/detail/winapi/error_handling.hpp deleted file mode 100644 index fbe9924b25..0000000000 --- a/bundled/boost-1.56.0/include/boost/detail/winapi/error_handling.hpp +++ /dev/null @@ -1,93 +0,0 @@ -// error_handling.hpp --------------------------------------------------------------// - -// Copyright 2010 Vicente J. Botet Escriba - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - - -#ifndef BOOST_DETAIL_WINAPI_ERROR_HANDLING_HPP -#define BOOST_DETAIL_WINAPI_ERROR_HANDLING_HPP - -#include -#include - -#ifdef BOOST_HAS_PRAGMA_ONCE -#pragma once -#endif - -namespace boost { -namespace detail { -namespace winapi { - -#if defined( BOOST_USE_WINDOWS_H ) - using ::FormatMessageA; - using ::FormatMessageW; - - const int FORMAT_MESSAGE_ALLOCATE_BUFFER_= FORMAT_MESSAGE_ALLOCATE_BUFFER; - const int FORMAT_MESSAGE_IGNORE_INSERTS_= FORMAT_MESSAGE_IGNORE_INSERTS; - const int FORMAT_MESSAGE_FROM_STRING_= FORMAT_MESSAGE_FROM_STRING; - const int FORMAT_MESSAGE_FROM_HMODULE_= FORMAT_MESSAGE_FROM_HMODULE; - const int FORMAT_MESSAGE_FROM_SYSTEM_= FORMAT_MESSAGE_FROM_SYSTEM; - const int FORMAT_MESSAGE_ARGUMENT_ARRAY_= FORMAT_MESSAGE_ARGUMENT_ARRAY; - const int FORMAT_MESSAGE_MAX_WIDTH_MASK_= FORMAT_MESSAGE_MAX_WIDTH_MASK; - - const char LANG_NEUTRAL_= LANG_NEUTRAL; - const char LANG_INVARIANT_= LANG_INVARIANT; - - const char SUBLANG_DEFAULT_= SUBLANG_DEFAULT; // user default - inline WORD_ MAKELANGID_(WORD_ p, WORD_ s) { - return MAKELANGID(p,s); - } -#else -extern "C" { - // using ::FormatMessageA; - __declspec(dllimport) - DWORD_ - WINAPI - FormatMessageA( - DWORD_ dwFlags, - LPCVOID_ lpSource, - DWORD_ dwMessageId, - DWORD_ dwLanguageId, - LPSTR_ lpBuffer, - DWORD_ nSize, - va_list *Arguments - ); - - // using ::FormatMessageW; - __declspec(dllimport) - DWORD_ - WINAPI - FormatMessageW( - DWORD_ dwFlags, - LPCVOID_ lpSource, - DWORD_ dwMessageId, - DWORD_ dwLanguageId, - LPWSTR_ lpBuffer, - DWORD_ nSize, - va_list *Arguments - ); - - const int FORMAT_MESSAGE_ALLOCATE_BUFFER_= 0x00000100; - const int FORMAT_MESSAGE_IGNORE_INSERTS_= 0x00000200; - const int FORMAT_MESSAGE_FROM_STRING_= 0x00000400; - const int FORMAT_MESSAGE_FROM_HMODULE_= 0x00000800; - const int FORMAT_MESSAGE_FROM_SYSTEM_= 0x00001000; - const int FORMAT_MESSAGE_ARGUMENT_ARRAY_= 0x00002000; - const int FORMAT_MESSAGE_MAX_WIDTH_MASK_= 0x000000FF; - - const char LANG_NEUTRAL_= 0x00; - const char LANG_INVARIANT_= 0x7f; - - const char SUBLANG_DEFAULT_= 0x01; // user default - inline WORD_ MAKELANGID_(WORD_ p, WORD_ s) { - return ((((WORD_ )(s)) << 10) | (WORD_ )(p)); - } - -} -#endif -} -} -} -#endif // BOOST_DETAIL_WINAPI_ERROR_HANDLING_HPP diff --git a/bundled/boost-1.56.0/include/boost/detail/winapi/file_management.hpp b/bundled/boost-1.56.0/include/boost/detail/winapi/file_management.hpp deleted file mode 100644 index c1d5978ba7..0000000000 --- a/bundled/boost-1.56.0/include/boost/detail/winapi/file_management.hpp +++ /dev/null @@ -1,130 +0,0 @@ -// thread.hpp --------------------------------------------------------------// - -// Copyright 2010 Vicente J. Botet Escriba - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - - -#ifndef BOOST_DETAIL_WINAPI_FILE_MANAGEMENT_HPP -#define BOOST_DETAIL_WINAPI_FILE_MANAGEMENT_HPP - -#include -#include - -#ifdef BOOST_HAS_PRAGMA_ONCE -#pragma once -#endif - -namespace boost -{ -namespace detail -{ -namespace winapi -{ -#if defined( BOOST_USE_WINDOWS_H ) - using ::CreateFileA; - using ::DeleteFileA; - using ::FindFirstFileA; - using ::FindNextFileA; - using ::FindClose; - using ::GetFileSizeEx; - using ::MoveFileExA; - using ::SetFileValidData; -#else -extern "C" { - typedef struct _OVERLAPPED { - ULONG_PTR Internal; - ULONG_PTR InternalHigh; - union { - struct { - DWORD Offset; - DWORD OffsetHigh; - } ; - PVOID Pointer; - } ; - HANDLE hEvent; - } OVERLAPPED, *LPOVERLAPPED; - - - __declspec(dllimport) void * __stdcall - CreateFileA (const char *, unsigned long, unsigned long, struct SECURITY_ATTRIBUTES_*, unsigned long, unsigned long, void *); - __declspec(dllimport) int __stdcall - DeleteFileA (const char *); - __declspec(dllimport) void *__stdcall - FindFirstFileA(const char *lpFileName, win32_find_data_t *lpFindFileData); - __declspec(dllimport) int __stdcall - FindNextFileA(void *hFindFile, win32_find_data_t *lpFindFileData); - __declspec(dllimport) int __stdcall - FindClose(void *hFindFile); - __declspec(dllimport) BOOL __stdcall - GetFileSizeEx( - HANDLE_ hFile, - PLARGE_INTEGER_ lpFileSize - ); - __declspec(dllimport) int __stdcall - MoveFileExA (const char *, const char *, unsigned long); - __declspec(dllimport) BOOL_ __stdcall - SetFileValidData( - HANDLE_ hFile, - LONGLONG_ ValidDataLength - ); - __declspec(dllimport) BOOL_ __stdcall - SetEndOfFile( - HANDLE_ hFile - ); - __declspec(dllimport) BOOL_ __stdcall - SetFilePointerEx( - HANDLE_ hFile, - LARGE_INTEGER_ liDistanceToMove, - PLARGE_INTEGER_ lpNewFilePointer, - DWORD_ dwMoveMethod - ); - __declspec(dllimport) BOOL_ __stdcall - LockFile( - HANDLE_ hFile, - DWORD_ dwFileOffsetLow, - DWORD_ dwFileOffsetHigh, - DWORD_ nNumberOfBytesToLockLow, - DWORD_ nNumberOfBytesToLockHigh - ); - __declspec(dllimport) BOOL_ __stdcall - UnlockFile( - HANDLE_ hFile, - DWORD_ dwFileOffsetLow, - DWORD_ dwFileOffsetHigh, - DWORD_ nNumberOfBytesToUnlockLow, - DWORD_ nNumberOfBytesToUnlockHigh - ); - __declspec(dllimport) BOOL_ __stdcall - LockFileEx( - HANDLE_ hFile, - DWORD_ dwFlags, - DWORD_ dwReserved, - DWORD_ nNumberOfBytesToLockLow, - DWORD_ nNumberOfBytesToLockHigh, - LPOVERLAPPED_ lpOverlapped - ); - __declspec(dllimport) BOOL_ __stdcall - UnlockFileEx( - HANDLE_ hFile, - DWORD_ dwReserved, - DWORD_ nNumberOfBytesToUnlockLow, - DWORD_ nNumberOfBytesToUnlockHigh, - LPOVERLAPPED_ lpOverlapped - ); - __declspec(dllimport) BOOL_ __stdcall - WriteFile( - HANDLE_ hFile, - LPCVOID_ lpBuffer, - DWORD_ nNumberOfBytesToWrite, - LPDWORD_ lpNumberOfBytesWritten, - LPOVERLAPPED_ lpOverlapped - ); -} -#endif -} -} -} - -#endif // BOOST_DETAIL_WINAPI_THREAD_HPP diff --git a/bundled/boost-1.56.0/include/boost/detail/winapi/handles.hpp b/bundled/boost-1.56.0/include/boost/detail/winapi/handles.hpp deleted file mode 100644 index 7108daa10b..0000000000 --- a/bundled/boost-1.56.0/include/boost/detail/winapi/handles.hpp +++ /dev/null @@ -1,46 +0,0 @@ -// memory.hpp --------------------------------------------------------------// - -// Copyright 2010 Vicente J. Botet Escriba - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - - -#ifndef BOOST_DETAIL_WINAPI_HANDLES_HPP -#define BOOST_DETAIL_WINAPI_HANDLES_HPP - -#include - -#ifdef BOOST_HAS_PRAGMA_ONCE -#pragma once -#endif - -namespace boost -{ -namespace detail -{ -namespace winapi -{ -#if defined( BOOST_USE_WINDOWS_H ) - using ::CloseHandle; - using ::DuplicateHandle; - - const DWORD_ duplicate_close_source = DUPLICATE_CLOSE_SOURCE; - const DWORD_ duplicate_same_access = DUPLICATE_SAME_ACCESS; - const HANDLE_ invalid_handle_value = INVALID_HANDLE_VALUE; -#else -extern "C" { - __declspec(dllimport) int __stdcall - CloseHandle(void*); - __declspec(dllimport) int __stdcall - DuplicateHandle(void*,void*,void*,void**,unsigned long,int,unsigned long); -} - const DWORD_ duplicate_close_source = 1; - const DWORD_ duplicate_same_access = 2; - const HANDLE_ invalid_handle_value = (HANDLE_)(-1); -#endif -} -} -} - -#endif // BOOST_DETAIL_WINAPI_HANDLES_HPP diff --git a/bundled/boost-1.56.0/include/boost/detail/winapi/memory.hpp b/bundled/boost-1.56.0/include/boost/detail/winapi/memory.hpp deleted file mode 100644 index b5316e09e0..0000000000 --- a/bundled/boost-1.56.0/include/boost/detail/winapi/memory.hpp +++ /dev/null @@ -1,60 +0,0 @@ -// memory.hpp --------------------------------------------------------------// - -// Copyright 2010 Vicente J. Botet Escriba - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - - -#ifndef BOOST_DETAIL_WINAPI_MEMORY_HPP -#define BOOST_DETAIL_WINAPI_MEMORY_HPP - -#include -#include -#include - -#ifdef BOOST_HAS_PRAGMA_ONCE -#pragma once -#endif - -namespace boost -{ -namespace detail -{ -namespace winapi -{ -#if defined( BOOST_USE_WINDOWS_H ) - using ::CreateFileMappingA; - using ::FlushViewOfFile; - using ::GetProcessHeap; - using ::HeapAlloc; - using ::HeapFree; - using ::MapViewOfFileEx; - using ::OpenFileMappingA; - using ::UnmapViewOfFile; -#else -#undef HeapAlloc -extern "C" { - __declspec(dllimport) void * __stdcall - CreateFileMappingA (void *, SECURITY_ATTRIBUTES_*, unsigned long, unsigned long, unsigned long, const char *); - __declspec(dllimport) int __stdcall - FlushViewOfFile (void *, std::size_t); - __declspec(dllimport) HANDLE_ __stdcall - GetProcessHeap(); - __declspec(dllimport) void* __stdcall - HeapAlloc(HANDLE_,DWORD_,SIZE_T_); - __declspec(dllimport) BOOL_ __stdcall - HeapFree(HANDLE_,DWORD_,LPVOID_); - __declspec(dllimport) void * __stdcall - MapViewOfFileEx (void *, unsigned long, unsigned long, unsigned long, std::size_t, void*); - __declspec(dllimport) void * __stdcall - OpenFileMappingA (unsigned long, int, const char *); - __declspec(dllimport) int __stdcall - UnmapViewOfFile(void *); -} -#endif -} -} -} - -#endif // BOOST_DETAIL_WINAPI_MEMORY_HPP diff --git a/bundled/boost-1.56.0/include/boost/detail/winapi/process.hpp b/bundled/boost-1.56.0/include/boost/detail/winapi/process.hpp deleted file mode 100644 index de287b15fc..0000000000 --- a/bundled/boost-1.56.0/include/boost/detail/winapi/process.hpp +++ /dev/null @@ -1,36 +0,0 @@ -// process.hpp --------------------------------------------------------------// - -// Copyright 2010 Vicente J. Botet Escriba - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - - -#ifndef BOOST_DETAIL_WINAPI_PROCESS_HPP -#define BOOST_DETAIL_WINAPI_PROCESS_HPP - -#include -#include - -#ifdef BOOST_HAS_PRAGMA_ONCE -#pragma once -#endif - -namespace boost { -namespace detail { -namespace winapi { -#if defined( BOOST_USE_WINDOWS_H ) - using ::GetCurrentProcessId; -#else -# ifndef UNDER_CE -extern "C" { - __declspec(dllimport) DWORD_ WINAPI GetCurrentProcessId(void); -} -# else - using ::GetCurrentProcessId; -# endif -#endif -} -} -} -#endif // BOOST_DETAIL_WINAPI_PROCESS_HPP diff --git a/bundled/boost-1.56.0/include/boost/detail/winapi/security.hpp b/bundled/boost-1.56.0/include/boost/detail/winapi/security.hpp deleted file mode 100644 index 79925c6c67..0000000000 --- a/bundled/boost-1.56.0/include/boost/detail/winapi/security.hpp +++ /dev/null @@ -1,65 +0,0 @@ -// security.hpp --------------------------------------------------------------// - -// Copyright 2010 Vicente J. Botet Escriba - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - - -#ifndef BOOST_DETAIL_WINAPI_SECURITY_HPP -#define BOOST_DETAIL_WINAPI_SECURITY_HPP - -#include - -#ifdef BOOST_HAS_PRAGMA_ONCE -#pragma once -#endif - -namespace boost -{ -namespace detail -{ -namespace winapi -{ -#if defined( BOOST_USE_WINDOWS_H ) -typedef ::SECURITY_ATTRIBUTES SECURITY_ATTRIBUTES_; -typedef ::PSECURITY_ATTRIBUTES PSECURITY_ATTRIBUTES_; -typedef ::LPSECURITY_ATTRIBUTES LPSECURITY_ATTRIBUTES_; - -#else -extern "C" { - struct SECURITY_DESCRIPTOR_; - typedef SECURITY_DESCRIPTOR_* PSECURITY_DESCRIPTOR_; - typedef struct _ACL { - BYTE_ AclRevision; - BYTE_ Sbz1; - WORD_ AclSize; - WORD_ AceCount; - WORD_ Sbz2; - } ACL_, *PACL_; - - typedef struct _SECURITY_ATTRIBUTES { - DWORD_ nLength; - LPVOID_ lpSecurityDescriptor; - BOOL_ bInheritHandle; - } SECURITY_ATTRIBUTES_, *PSECURITY_ATTRIBUTES_, *LPSECURITY_ATTRIBUTES_; - - __declspec(dllimport) BOOL_ __stdcall - InitializeSecurityDescriptor( - PSECURITY_DESCRIPTOR_ pSecurityDescriptor, - DWORD_ dwRevision - ); - __declspec(dllimport) BOOL_ __stdcall - SetSecurityDescriptorDacl( - PSECURITY_DESCRIPTOR_ pSecurityDescriptor, - BOOL_ bDaclPresent, - PACL_ pDacl, - BOOL_ bDaclDefaulted - ); -} -#endif -} -} -} - -#endif // BOOST_DETAIL_WINAPI_SECURITY_HPP diff --git a/bundled/boost-1.56.0/include/boost/detail/winapi/synchronization.hpp b/bundled/boost-1.56.0/include/boost/detail/winapi/synchronization.hpp deleted file mode 100644 index b9497cbf7c..0000000000 --- a/bundled/boost-1.56.0/include/boost/detail/winapi/synchronization.hpp +++ /dev/null @@ -1,293 +0,0 @@ -// synchronizaion.hpp --------------------------------------------------------------// - -// Copyright 2010 Vicente J. Botet Escriba - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - - -#ifndef BOOST_DETAIL_WINAPI_SYNCHRONIZATION_HPP -#define BOOST_DETAIL_WINAPI_SYNCHRONIZATION_HPP - -#include - -#ifdef BOOST_HAS_PRAGMA_ONCE -#pragma once -#endif - -namespace boost -{ -namespace detail -{ -namespace winapi -{ -#if defined( BOOST_USE_WINDOWS_H ) - typedef ::CRITICAL_SECTION CRITICAL_SECTION_; - typedef ::PAPCFUNC PAPCFUNC_; - -#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6 - typedef ::INIT_ONCE INIT_ONCE_; - typedef ::PINIT_ONCE PINIT_ONCE_; - typedef ::LPINIT_ONCE LPINIT_ONCE_; - #define BOOST_DETAIL_WINAPI_INIT_ONCE_STATIC_INIT INIT_ONCE_STATIC_INIT - typedef ::PINIT_ONCE_FN PINIT_ONCE_FN_; - - typedef ::SRWLOCK SRWLOCK_; - typedef ::PSRWLOCK PSRWLOCK_; - #define BOOST_DETAIL_WINAPI_SRWLOCK_INIT SRWLOCK_INIT - - typedef ::CONDITION_VARIABLE CONDITION_VARIABLE_; - typedef ::PCONDITION_VARIABLE PCONDITION_VARIABLE_; - #define BOOST_DETAIL_WINAPI_CONDITION_VARIABLE_INIT CONDITION_VARIABLE_INIT -#endif - - using ::InitializeCriticalSection; -#if BOOST_USE_WINAPI_VERSION >= 0x0403 - using ::InitializeCriticalSectionAndSpinCount; -#endif - using ::EnterCriticalSection; - using ::TryEnterCriticalSection; - using ::LeaveCriticalSection; - using ::DeleteCriticalSection; - -# ifdef BOOST_NO_ANSI_APIS - using ::CreateMutexW; - using ::OpenMutexW; - using ::CreateEventW; - using ::OpenEventW; - using ::CreateSemaphoreW; - using ::OpenSemaphoreW; -# else - using ::CreateMutexA; - using ::OpenMutexA; - using ::CreateEventA; - using ::OpenEventA; - using ::CreateSemaphoreA; - using ::OpenSemaphoreA; -# endif - using ::ReleaseMutex; - using ::ReleaseSemaphore; - using ::SetEvent; - using ::ResetEvent; - using ::WaitForMultipleObjects; - using ::WaitForSingleObject; - using ::QueueUserAPC; - -#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6 - using ::InitOnceInitialize; - using ::InitOnceExecuteOnce; - using ::InitOnceBeginInitialize; - using ::InitOnceComplete; - - using ::InitializeSRWLock; - using ::AcquireSRWLockExclusive; - using ::TryAcquireSRWLockExclusive; - using ::ReleaseSRWLockExclusive; - using ::AcquireSRWLockShared; - using ::TryAcquireSRWLockShared; - using ::ReleaseSRWLockShared; - - using ::InitializeConditionVariable; - using ::WakeConditionVariable; - using ::WakeAllConditionVariable; - using ::SleepConditionVariableCS; - using ::SleepConditionVariableSRW; -#endif - - const DWORD_ infinite = INFINITE; - const DWORD_ wait_abandoned = WAIT_ABANDONED; - const DWORD_ wait_object_0 = WAIT_OBJECT_0; - const DWORD_ wait_timeout = WAIT_TIMEOUT; - const DWORD_ wait_failed = WAIT_FAILED; - -#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6 - const DWORD_ init_once_async = INIT_ONCE_ASYNC; - const DWORD_ init_once_check_only = INIT_ONCE_CHECK_ONLY; - const DWORD_ init_once_init_failed = INIT_ONCE_INIT_FAILED; - const DWORD_ init_once_ctx_reserved_bits = INIT_ONCE_CTX_RESERVED_BITS; - - const ULONG_ condition_variable_lockmode_shared = CONDITION_VARIABLE_LOCKMODE_SHARED; -#endif - -#else // defined( BOOST_USE_WINDOWS_H ) - -extern "C" { - - typedef struct CRITICAL_SECTION_ - { - struct critical_section_debug * DebugInfo; - long LockCount; - long RecursionCount; - void * OwningThread; - void * LockSemaphore; - #if defined(_WIN64) - unsigned __int64 SpinCount; - #else - unsigned long SpinCount; - #endif - } - *PCRITICAL_SECTION_; - -#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6 - typedef union INIT_ONCE_ - { - PVOID_ Ptr; - } - *PINIT_ONCE_, *LPINIT_ONCE_; - #define BOOST_DETAIL_WINAPI_INIT_ONCE_STATIC_INIT {0} - typedef BOOL_ (WINAPI *PINIT_ONCE_FN_)(PINIT_ONCE_ InitOnce, PVOID_ Parameter, PVOID_ *Context); - - typedef struct SRWLOCK_ - { - PVOID_ Ptr; - } - * PSRWLOCK_; - #define BOOST_DETAIL_WINAPI_SRWLOCK_INIT {0} - - typedef struct CONDITION_VARIABLE_ - { - PVOID_ Ptr; - } - * PCONDITION_VARIABLE_; - #define BOOST_DETAIL_WINAPI_CONDITION_VARIABLE_INIT {0} - -#endif - - __declspec(dllimport) void WINAPI - InitializeCriticalSection(PCRITICAL_SECTION_); -#if BOOST_USE_WINAPI_VERSION >= 0x0403 - __declspec(dllimport) BOOL_ WINAPI - InitializeCriticalSectionAndSpinCount(CRITICAL_SECTION_* lpCS, DWORD_ dwSpinCount); -#endif - __declspec(dllimport) void WINAPI - EnterCriticalSection(PCRITICAL_SECTION_); - __declspec(dllimport) BOOL_ WINAPI - TryEnterCriticalSection(PCRITICAL_SECTION_); - __declspec(dllimport) void WINAPI - LeaveCriticalSection(PCRITICAL_SECTION_); - __declspec(dllimport) void WINAPI - DeleteCriticalSection(PCRITICAL_SECTION_); - - struct _SECURITY_ATTRIBUTES; -# ifdef BOOST_NO_ANSI_APIS - __declspec(dllimport) HANDLE_ WINAPI - CreateMutexW(_SECURITY_ATTRIBUTES*, BOOL_, LPCWSTR_); - __declspec(dllimport) HANDLE_ WINAPI - OpenMutexW(DWORD_ dwDesiredAccess, BOOL_ bInheritHandle, LPCWSTR_ lpName); - __declspec(dllimport) HANDLE_ WINAPI - CreateSemaphoreW(_SECURITY_ATTRIBUTES*, LONG_, LONG_, LPCWSTR_); - __declspec(dllimport) HANDLE_ WINAPI - OpenSemaphoreW(DWORD_ dwDesiredAccess, BOOL_ bInheritHandle, LPCWSTR_ lpName); - __declspec(dllimport) HANDLE_ WINAPI - CreateEventW(_SECURITY_ATTRIBUTES*, BOOL_, BOOL_, LPCWSTR_); - __declspec(dllimport) HANDLE_ WINAPI - OpenEventW(DWORD_, BOOL_, LPCWSTR_); -# else - __declspec(dllimport) HANDLE_ WINAPI - CreateMutexA(_SECURITY_ATTRIBUTES*, BOOL_, LPCSTR_); - __declspec(dllimport) HANDLE_ WINAPI - OpenMutexA(DWORD_ dwDesiredAccess, BOOL_ bInheritHandle, LPCSTR_ lpName); - __declspec(dllimport) HANDLE_ WINAPI - CreateSemaphoreA(_SECURITY_ATTRIBUTES*, LONG_, LONG_, LPCSTR_); - __declspec(dllimport) HANDLE_ WINAPI - OpenSemaphoreA(DWORD_ dwDesiredAccess, BOOL_ bInheritHandle, LPCSTR_ lpName); - __declspec(dllimport) HANDLE_ WINAPI - CreateEventA(_SECURITY_ATTRIBUTES*, BOOL_, BOOL_, LPCSTR_); - __declspec(dllimport) HANDLE_ WINAPI - OpenEventA(DWORD_, BOOL_, LPCSTR_); -# endif - __declspec(dllimport) BOOL_ WINAPI - ReleaseMutex(HANDLE_); - __declspec(dllimport) DWORD_ WINAPI - WaitForSingleObject(HANDLE_, DWORD_); - __declspec(dllimport) DWORD_ WINAPI - WaitForMultipleObjects(DWORD_ nCount, - HANDLE_ const * lpHandles, - BOOL_ bWaitAll, - DWORD_ dwMilliseconds); - __declspec(dllimport) BOOL_ WINAPI - ReleaseSemaphore(HANDLE_, LONG_, LONG_*); - __declspec(dllimport) BOOL_ WINAPI - SetEvent(HANDLE_); - __declspec(dllimport) BOOL_ WINAPI - ResetEvent(HANDLE_); - - typedef void (__stdcall *PAPCFUNC_)(ULONG_PTR_); - __declspec(dllimport) DWORD_ WINAPI - QueueUserAPC(PAPCFUNC_, HANDLE_, ULONG_PTR_); - -#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6 - __declspec(dllimport) void WINAPI InitOnceInitialize(PINIT_ONCE_); - __declspec(dllimport) BOOL_ WINAPI InitOnceExecuteOnce(PINIT_ONCE_ InitOnce, PINIT_ONCE_FN_ InitFn, PVOID_ Parameter, LPVOID_* Context); - __declspec(dllimport) BOOL_ WINAPI InitOnceBeginInitialize(LPINIT_ONCE_ lpInitOnce, DWORD_ dwFlags, BOOL_* fPending, LPVOID_* lpContext); - __declspec(dllimport) BOOL_ WINAPI InitOnceComplete(LPINIT_ONCE_ lpInitOnce, DWORD_ dwFlags, LPVOID_* lpContext); - - - __declspec(dllimport) void WINAPI InitializeSRWLock(PSRWLOCK_ SRWLock); - __declspec(dllimport) void WINAPI AcquireSRWLockExclusive(PSRWLOCK_ SRWLock); - __declspec(dllimport) BOOLEAN_ WINAPI TryAcquireSRWLockExclusive(PSRWLOCK_ SRWLock); - __declspec(dllimport) void WINAPI ReleaseSRWLockExclusive(PSRWLOCK_ SRWLock); - __declspec(dllimport) void WINAPI AcquireSRWLockShared(PSRWLOCK_ SRWLock); - __declspec(dllimport) BOOLEAN_ WINAPI TryAcquireSRWLockShared(PSRWLOCK_ SRWLock); - __declspec(dllimport) void WINAPI ReleaseSRWLockShared(PSRWLOCK_ SRWLock); - - __declspec(dllimport) void WINAPI InitializeConditionVariable(PCONDITION_VARIABLE_ ConditionVariable); - __declspec(dllimport) void WINAPI WakeConditionVariable(PCONDITION_VARIABLE_ ConditionVariable); - __declspec(dllimport) void WINAPI WakeAllConditionVariable(PCONDITION_VARIABLE_ ConditionVariable); - __declspec(dllimport) BOOL_ WINAPI SleepConditionVariableCS(PCONDITION_VARIABLE_ ConditionVariable, PCRITICAL_SECTION_ CriticalSection, DWORD_ dwMilliseconds); - __declspec(dllimport) BOOL_ WINAPI SleepConditionVariableSRW(PCONDITION_VARIABLE_ ConditionVariable, PSRWLOCK_ SRWLock, DWORD_ dwMilliseconds, ULONG_ Flags); -#endif - -} // extern "C" - -const DWORD_ infinite = (DWORD_)0xFFFFFFFF; -const DWORD_ wait_abandoned = 0x00000080L; -const DWORD_ wait_object_0 = 0x00000000L; -const DWORD_ wait_timeout = 0x00000102L; -const DWORD_ wait_failed = (DWORD_)0xFFFFFFFF; - -#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6 -const DWORD_ init_once_async = 0x00000002UL; -const DWORD_ init_once_check_only = 0x00000001UL; -const DWORD_ init_once_init_failed = 0x00000004UL; -const DWORD_ init_once_ctx_reserved_bits = 2; - -const ULONG_ condition_variable_lockmode_shared = 0x00000001; -#endif - -#endif // defined( BOOST_USE_WINDOWS_H ) - -const DWORD_ max_non_infinite_wait = (DWORD_)0xFFFFFFFE; - -BOOST_FORCEINLINE HANDLE_ create_anonymous_mutex(_SECURITY_ATTRIBUTES* lpAttributes, BOOL_ bInitialOwner) -{ -#ifdef BOOST_NO_ANSI_APIS - return CreateMutexW(lpAttributes, bInitialOwner, 0); -#else - return CreateMutexA(lpAttributes, bInitialOwner, 0); -#endif -} - -BOOST_FORCEINLINE HANDLE_ create_anonymous_semaphore(_SECURITY_ATTRIBUTES* lpAttributes, LONG_ lInitialCount, LONG_ lMaximumCount) -{ -#ifdef BOOST_NO_ANSI_APIS - return CreateSemaphoreW(lpAttributes, lInitialCount, lMaximumCount, 0); -#else - return CreateSemaphoreA(lpAttributes, lInitialCount, lMaximumCount, 0); -#endif -} - -BOOST_FORCEINLINE HANDLE_ create_anonymous_event(_SECURITY_ATTRIBUTES* lpAttributes, BOOL_ bManualReset, BOOL_ bInitialState) -{ -#ifdef BOOST_NO_ANSI_APIS - return CreateEventW(lpAttributes, bManualReset, bInitialState, 0); -#else - return CreateEventA(lpAttributes, bManualReset, bInitialState, 0); -#endif -} - -} -} -} - -#endif // BOOST_DETAIL_WINAPI_SYNCHRONIZATION_HPP diff --git a/bundled/boost-1.56.0/include/boost/detail/winapi/system.hpp b/bundled/boost-1.56.0/include/boost/detail/winapi/system.hpp deleted file mode 100644 index 2c2d82a8a9..0000000000 --- a/bundled/boost-1.56.0/include/boost/detail/winapi/system.hpp +++ /dev/null @@ -1,62 +0,0 @@ -// system.hpp --------------------------------------------------------------// - -// Copyright 2010 Vicente J. Botet Escriba -// Copyright (c) Microsoft Corporation 2014 - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - - -#ifndef BOOST_DETAIL_WINAPI_SYSTEM_HPP -#define BOOST_DETAIL_WINAPI_SYSTEM_HPP - -#include - -#ifdef BOOST_HAS_PRAGMA_ONCE -#pragma once -#endif - -namespace boost { -namespace detail { -namespace winapi { -#if defined( BOOST_USE_WINDOWS_H ) - typedef ::SYSTEM_INFO SYSTEM_INFO_; -# if BOOST_USE_WINAPI_VERSION < BOOST_WINAPI_VERSION_WINXP -extern "C" __declspec(dllimport) void __stdcall GetSystemInfo (struct system_info *); -# else -extern "C" __declspec(dllimport) void __stdcall GetNativeSystemInfo (struct system_info *); -# endif -#else -extern "C" { - typedef struct _SYSTEM_INFO { - union { - DWORD_ dwOemId; - struct { - WORD_ wProcessorArchitecture; - WORD_ wReserved; - } dummy; - } ; - DWORD_ dwPageSize; - LPVOID_ lpMinimumApplicationAddress; - LPVOID_ lpMaximumApplicationAddress; - DWORD_PTR_ dwActiveProcessorMask; - DWORD_ dwNumberOfProcessors; - DWORD_ dwProcessorType; - DWORD_ dwAllocationGranularity; - WORD_ wProcessorLevel; - WORD_ wProcessorRevision; - } SYSTEM_INFO_; - -# if BOOST_USE_WINAPI_VERSION < BOOST_WINAPI_VERSION_WINXP - __declspec(dllimport) void __stdcall - GetSystemInfo (struct system_info *); -# else - __declspec(dllimport) void __stdcall - GetNativeSystemInfo (struct system_info *); -# endif -} -#endif -} -} -} -#endif // BOOST_DETAIL_WINAPI_SYSTEM_HPP diff --git a/bundled/boost-1.56.0/include/boost/detail/winapi/thread.hpp b/bundled/boost-1.56.0/include/boost/detail/winapi/thread.hpp deleted file mode 100644 index ee0dac6242..0000000000 --- a/bundled/boost-1.56.0/include/boost/detail/winapi/thread.hpp +++ /dev/null @@ -1,49 +0,0 @@ -// thread.hpp --------------------------------------------------------------// - -// Copyright 2010 Vicente J. Botet Escriba - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - - -#ifndef BOOST_DETAIL_WINAPI_THREAD_HPP -#define BOOST_DETAIL_WINAPI_THREAD_HPP - -#include -#include - -#ifdef BOOST_HAS_PRAGMA_ONCE -#pragma once -#endif - -namespace boost -{ -namespace detail -{ -namespace winapi -{ -#if defined( BOOST_USE_WINDOWS_H ) - using ::GetCurrentThreadId; - using ::SleepEx; - using ::Sleep; - using ::SwitchToThread; -#else -extern "C" { -# ifndef UNDER_CE - __declspec(dllimport) DWORD_ WINAPI GetCurrentThreadId(void); - __declspec(dllimport) DWORD_ WINAPI SleepEx(DWORD_, BOOL_); - __declspec(dllimport) void WINAPI Sleep(DWORD_); - __declspec(dllimport) BOOL_ WINAPI SwitchToThread(void); -#else - using ::GetCurrentThreadId; - using ::SleepEx; - using ::Sleep; - using ::SwitchToThread; -#endif -} -#endif -} -} -} - -#endif // BOOST_DETAIL_WINAPI_THREAD_HPP diff --git a/bundled/boost-1.56.0/include/boost/detail/winapi/thread_pool.hpp b/bundled/boost-1.56.0/include/boost/detail/winapi/thread_pool.hpp deleted file mode 100644 index 57059dc1b2..0000000000 --- a/bundled/boost-1.56.0/include/boost/detail/winapi/thread_pool.hpp +++ /dev/null @@ -1,96 +0,0 @@ -// thread_pool.hpp --------------------------------------------------------------// - -// Copyright 2013 Andrey Semashev - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - - -#ifndef BOOST_DETAIL_WINAPI_THREAD_POOL_HPP -#define BOOST_DETAIL_WINAPI_THREAD_POOL_HPP - -#include - -#ifdef BOOST_HAS_PRAGMA_ONCE -#pragma once -#endif - -#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN2K - -namespace boost -{ -namespace detail -{ -namespace winapi -{ -#if defined( BOOST_USE_WINDOWS_H ) - -typedef ::WAITORTIMERCALLBACKFUNC WAITORTIMERCALLBACKFUNC_; -typedef ::WAITORTIMERCALLBACK WAITORTIMERCALLBACK_; - -using ::RegisterWaitForSingleObject; -using ::UnregisterWait; -using ::UnregisterWaitEx; - -const ULONG_ wt_execute_default = WT_EXECUTEDEFAULT; -const ULONG_ wt_execute_in_io_thread = WT_EXECUTEINIOTHREAD; -const ULONG_ wt_execute_in_ui_thread = WT_EXECUTEINUITHREAD; -const ULONG_ wt_execute_in_wait_thread = WT_EXECUTEINWAITTHREAD; -const ULONG_ wt_execute_only_once = WT_EXECUTEONLYONCE; -const ULONG_ wt_execute_in_timer_thread = WT_EXECUTEINTIMERTHREAD; -const ULONG_ wt_execute_long_function = WT_EXECUTELONGFUNCTION; -const ULONG_ wt_execute_in_persistent_io_thread = WT_EXECUTEINPERSISTENTIOTHREAD; -const ULONG_ wt_execute_in_persistent_thread = WT_EXECUTEINPERSISTENTTHREAD; -const ULONG_ wt_transfer_impersonation = WT_TRANSFER_IMPERSONATION; - -inline ULONG_ wt_set_max_threadpool_threads(ULONG_ flags, ULONG_ limit) -{ - return WT_SET_MAX_THREADPOOL_THREADS(flags, limit); -} - -#else - -extern "C" { - -typedef void (NTAPI* WAITORTIMERCALLBACKFUNC_) (PVOID_, BOOLEAN_); -typedef WAITORTIMERCALLBACKFUNC_ WAITORTIMERCALLBACK_; - -__declspec(dllimport) BOOL_ WINAPI RegisterWaitForSingleObject -( - HANDLE_* phNewWaitObject, - HANDLE_ hObject, - WAITORTIMERCALLBACK_ Callback, - PVOID_ Context, - ULONG_ dwMilliseconds, - ULONG_ dwFlags -); - -__declspec(dllimport) BOOL_ WINAPI UnregisterWait(HANDLE_ WaitHandle); -__declspec(dllimport) BOOL_ WINAPI UnregisterWaitEx(HANDLE_ WaitHandle, HANDLE_ CompletionEvent); - -} // extern "C" - -const ULONG_ wt_execute_default = 0x00000000; -const ULONG_ wt_execute_in_io_thread = 0x00000001; -const ULONG_ wt_execute_in_ui_thread = 0x00000002; -const ULONG_ wt_execute_in_wait_thread = 0x00000004; -const ULONG_ wt_execute_only_once = 0x00000008; -const ULONG_ wt_execute_in_timer_thread = 0x00000020; -const ULONG_ wt_execute_long_function = 0x00000010; -const ULONG_ wt_execute_in_persistent_io_thread = 0x00000040; -const ULONG_ wt_execute_in_persistent_thread = 0x00000080; -const ULONG_ wt_transfer_impersonation = 0x00000100; - -inline ULONG_ wt_set_max_threadpool_threads(ULONG_ flags, ULONG_ limit) -{ - return flags | (limit << 16); -} - -#endif -} -} -} - -#endif // BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN2K - -#endif // BOOST_DETAIL_WINAPI_THREAD_POOL_HPP diff --git a/bundled/boost-1.56.0/include/boost/detail/winapi/time.hpp b/bundled/boost-1.56.0/include/boost/detail/winapi/time.hpp deleted file mode 100644 index 6a6b447117..0000000000 --- a/bundled/boost-1.56.0/include/boost/detail/winapi/time.hpp +++ /dev/null @@ -1,105 +0,0 @@ -// time.hpp --------------------------------------------------------------// - -// Copyright 2010 Vicente J. Botet Escriba -// Copyright (c) Microsoft Corporation 2014 - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - - -#ifndef BOOST_DETAIL_WINAPI_TIME_HPP -#define BOOST_DETAIL_WINAPI_TIME_HPP - -#include -#include - -#ifdef BOOST_HAS_PRAGMA_ONCE -#pragma once -#endif - -namespace boost { -namespace detail { -namespace winapi { - -#if defined( BOOST_USE_WINDOWS_H ) - - typedef FILETIME FILETIME_; - typedef PFILETIME PFILETIME_; - typedef LPFILETIME LPFILETIME_; - - typedef SYSTEMTIME SYSTEMTIME_; - typedef SYSTEMTIME* PSYSTEMTIME_; - - #ifdef BOOST_HAS_GETSYSTEMTIMEASFILETIME // Windows CE does not define GetSystemTimeAsFileTime - using ::GetSystemTimeAsFileTime; - #endif - #if BOOST_PLAT_WINDOWS_DESKTOP - using ::FileTimeToLocalFileTime; - #endif - using ::GetSystemTime; - using ::SystemTimeToFileTime; - - #if BOOST_PLAT_WINDOWS_DESKTOP - using ::GetTickCount; - #endif - #if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6 - using ::GetTickCount64; - #endif - -#else - -extern "C" { - typedef struct _FILETIME { - DWORD_ dwLowDateTime; - DWORD_ dwHighDateTime; - } FILETIME_, *PFILETIME_, *LPFILETIME_; - - typedef struct _SYSTEMTIME { - WORD_ wYear; - WORD_ wMonth; - WORD_ wDayOfWeek; - WORD_ wDay; - WORD_ wHour; - WORD_ wMinute; - WORD_ wSecond; - WORD_ wMilliseconds; - } SYSTEMTIME_, *PSYSTEMTIME_; - - #ifdef BOOST_HAS_GETSYSTEMTIMEASFILETIME // Windows CE does not define GetSystemTimeAsFileTime - __declspec(dllimport) void WINAPI - GetSystemTimeAsFileTime(FILETIME_* lpFileTime); - #endif - __declspec(dllimport) int WINAPI - FileTimeToLocalFileTime(const FILETIME_* lpFileTime, - FILETIME_* lpLocalFileTime); - __declspec(dllimport) void WINAPI - GetSystemTime(SYSTEMTIME_* lpSystemTime); - __declspec(dllimport) int WINAPI - SystemTimeToFileTime(const SYSTEMTIME_* lpSystemTime, - FILETIME_* lpFileTime); - #if BOOST_PLAT_WINDOWS_DESKTOP - __declspec(dllimport) DWORD_ WINAPI - GetTickCount(); - #endif - #if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6 - __declspec(dllimport) ULONGLONG_ WINAPI - GetTickCount64(); - #endif -} - -#endif - -#ifndef BOOST_HAS_GETSYSTEMTIMEASFILETIME -inline void WINAPI GetSystemTimeAsFileTime(FILETIME_* lpFileTime) -{ - SYSTEMTIME_ st; - GetSystemTime(&st); - SystemTimeToFileTime(&st, lpFileTime); -} -#endif - -} -} -} - -#endif // BOOST_DETAIL_WINAPI_TIME_HPP diff --git a/bundled/boost-1.56.0/include/boost/detail/winapi/timers.hpp b/bundled/boost-1.56.0/include/boost/detail/winapi/timers.hpp deleted file mode 100644 index 04c6dfbc41..0000000000 --- a/bundled/boost-1.56.0/include/boost/detail/winapi/timers.hpp +++ /dev/null @@ -1,44 +0,0 @@ -// timers.hpp --------------------------------------------------------------// - -// Copyright 2010 Vicente J. Botet Escriba - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - - -#ifndef BOOST_DETAIL_WINAPI_TIMERS_HPP -#define BOOST_DETAIL_WINAPI_TIMERS_HPP - -#include - -#ifdef BOOST_HAS_PRAGMA_ONCE -#pragma once -#endif - -namespace boost -{ -namespace detail -{ -namespace winapi -{ -#if defined( BOOST_USE_WINDOWS_H ) - using ::QueryPerformanceCounter; - using ::QueryPerformanceFrequency; -#else -extern "C" { - __declspec(dllimport) BOOL_ WINAPI - QueryPerformanceCounter( - LARGE_INTEGER_ *lpPerformanceCount - ); - - __declspec(dllimport) BOOL_ WINAPI - QueryPerformanceFrequency( - LARGE_INTEGER_ *lpFrequency - ); -} -#endif -} -} -} - -#endif // BOOST_DETAIL_WINAPI_TIMERS_HPP diff --git a/bundled/boost-1.56.0/include/boost/detail/winapi/tls.hpp b/bundled/boost-1.56.0/include/boost/detail/winapi/tls.hpp deleted file mode 100644 index d948693cc9..0000000000 --- a/bundled/boost-1.56.0/include/boost/detail/winapi/tls.hpp +++ /dev/null @@ -1,49 +0,0 @@ -// tls.hpp --------------------------------------------------------------// - -// Copyright 2013 Andrey Semashev - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - - -#ifndef BOOST_DETAIL_WINAPI_TLS_HPP -#define BOOST_DETAIL_WINAPI_TLS_HPP - -#include - -#ifdef BOOST_HAS_PRAGMA_ONCE -#pragma once -#endif - -namespace boost -{ -namespace detail -{ -namespace winapi -{ -#if defined( BOOST_USE_WINDOWS_H ) - -using ::TlsAlloc; -using ::TlsGetValue; -using ::TlsSetValue; -using ::TlsFree; - -const DWORD_ tls_out_of_indexes = TLS_OUT_OF_INDEXES; - -#else - -extern "C" { -__declspec(dllimport) DWORD_ WINAPI TlsAlloc(void); -__declspec(dllimport) LPVOID_ WINAPI TlsGetValue(DWORD_ dwTlsIndex); -__declspec(dllimport) BOOL_ WINAPI TlsSetValue(DWORD_ dwTlsIndex, LPVOID_ lpTlsValue); -__declspec(dllimport) BOOL_ WINAPI TlsFree(DWORD_ dwTlsIndex); -} - -const DWORD_ tls_out_of_indexes = 0xFFFFFFFF; - -#endif -} -} -} - -#endif // BOOST_DETAIL_WINAPI_TLS_HPP diff --git a/bundled/boost-1.56.0/include/boost/detail/winapi/waitable_timer.hpp b/bundled/boost-1.56.0/include/boost/detail/winapi/waitable_timer.hpp deleted file mode 100644 index 52a7338a20..0000000000 --- a/bundled/boost-1.56.0/include/boost/detail/winapi/waitable_timer.hpp +++ /dev/null @@ -1,110 +0,0 @@ -// waitable_timer.hpp --------------------------------------------------------------// - -// Copyright 2013 Andrey Semashev - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - - -#ifndef BOOST_DETAIL_WINAPI_WAITABLE_TIMER_HPP -#define BOOST_DETAIL_WINAPI_WAITABLE_TIMER_HPP - -#include - -#ifdef BOOST_HAS_PRAGMA_ONCE -#pragma once -#endif - -namespace boost -{ -namespace detail -{ -namespace winapi -{ -#if defined( BOOST_USE_WINDOWS_H ) - -typedef ::PTIMERAPCROUTINE PTIMERAPCROUTINE_; - -# ifdef BOOST_NO_ANSI_APIS -using ::CreateWaitableTimerW; -using ::OpenWaitableTimerW; -# else -using ::CreateWaitableTimerA; -using ::OpenWaitableTimerA; -# endif -using ::SetWaitableTimer; -using ::CancelWaitableTimer; - -#else - -extern "C" { - -struct _SECURITY_ATTRIBUTES; - -typedef void (WINAPI* PTIMERAPCROUTINE_) -( - LPVOID_ lpArgToCompletionRoutine, - DWORD_ dwTimerLowValue, - DWORD_ dwTimerHighValue -); - -# ifdef BOOST_NO_ANSI_APIS -__declspec(dllimport) HANDLE_ WINAPI CreateWaitableTimerW -( - _SECURITY_ATTRIBUTES* lpTimerAttributes, - BOOL_ bManualReset, - LPCWSTR_ lpTimerName -); - -__declspec(dllimport) HANDLE_ WINAPI OpenWaitableTimerW -( - DWORD_ dwDesiredAccess, - BOOL_ bInheritHandle, - LPCWSTR_ lpTimerName -); -# else -__declspec(dllimport) HANDLE_ WINAPI CreateWaitableTimerA -( - _SECURITY_ATTRIBUTES* lpTimerAttributes, - BOOL_ bManualReset, - LPCSTR_ lpTimerName -); - -__declspec(dllimport) HANDLE_ WINAPI OpenWaitableTimerA -( - DWORD_ dwDesiredAccess, - BOOL_ bInheritHandle, - LPCSTR_ lpTimerName -); -# endif - -__declspec(dllimport) BOOL_ WINAPI SetWaitableTimer -( - HANDLE_ hTimer, - const LARGE_INTEGER_ *lpDueTime, - LONG_ lPeriod, - PTIMERAPCROUTINE_ pfnCompletionRoutine, - LPVOID_ lpArgToCompletionRoutine, - BOOL_ fResume -); - -__declspec(dllimport) BOOL_ WINAPI CancelWaitableTimer(HANDLE_ hTimer); - -} - -#endif - -BOOST_FORCEINLINE HANDLE_ create_anonymous_waitable_timer(_SECURITY_ATTRIBUTES* lpTimerAttributes, BOOL_ bManualReset) -{ -#ifdef BOOST_NO_ANSI_APIS - return CreateWaitableTimerW(lpTimerAttributes, bManualReset, 0); -#else - return CreateWaitableTimerA(lpTimerAttributes, bManualReset, 0); -#endif -} - -} -} -} - -#endif // BOOST_DETAIL_WINAPI_WAITABLE_TIMER_HPP diff --git a/bundled/boost-1.56.0/include/boost/exception/detail/error_info_impl.hpp b/bundled/boost-1.56.0/include/boost/exception/detail/error_info_impl.hpp deleted file mode 100644 index 12e601b556..0000000000 --- a/bundled/boost-1.56.0/include/boost/exception/detail/error_info_impl.hpp +++ /dev/null @@ -1,74 +0,0 @@ -//Copyright (c) 2006-2010 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_CE6983AC753411DDA764247956D89593 -#define UUID_CE6983AC753411DDA764247956D89593 -#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) -#pragma GCC system_header -#endif -#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) -#pragma warning(push,1) -#endif - -#include - -namespace -boost - { - namespace - exception_detail - { - class - error_info_base - { - public: - - virtual std::string name_value_string() const = 0; - - protected: - - virtual - ~error_info_base() throw() - { - } - }; - } - - template - class - error_info: - public exception_detail::error_info_base - { - public: - - typedef T value_type; - - error_info( value_type const & value ); - ~error_info() throw(); - - value_type const & - value() const - { - return value_; - } - - value_type & - value() - { - return value_; - } - - private: - - std::string name_value_string() const; - - value_type value_; - }; - } - -#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) -#pragma warning(pop) -#endif -#endif diff --git a/bundled/boost-1.56.0/include/boost/exception/info.hpp b/bundled/boost-1.56.0/include/boost/exception/info.hpp deleted file mode 100644 index 762a950f86..0000000000 --- a/bundled/boost-1.56.0/include/boost/exception/info.hpp +++ /dev/null @@ -1,198 +0,0 @@ -//Copyright (c) 2006-2010 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_8D22C4CA9CC811DCAA9133D256D89593 -#define UUID_8D22C4CA9CC811DCAA9133D256D89593 -#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) -#pragma GCC system_header -#endif -#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) -#pragma warning(push,1) -#endif - -#include -#include -#include -#include -#include -#include - -namespace -boost - { - template - inline - std::string - error_info_name( error_info const & x ) - { - return tag_type_name(); - } - - template - inline - std::string - to_string( error_info const & x ) - { - return '[' + error_info_name(x) + "] = " + to_string_stub(x.value()) + '\n'; - } - - template - inline - error_info:: - error_info( value_type const & value ): - value_(value) - { - } - - template - inline - error_info:: - ~error_info() throw() - { - } - - template - inline - std::string - error_info:: - name_value_string() const - { - return to_string_stub(*this); - } - - namespace - exception_detail - { - class - error_info_container_impl: - public error_info_container - { - public: - - error_info_container_impl(): - count_(0) - { - } - - ~error_info_container_impl() throw() - { - } - - void - set( shared_ptr const & x, type_info_ const & typeid_ ) - { - BOOST_ASSERT(x); - info_[typeid_] = x; - diagnostic_info_str_.clear(); - } - - shared_ptr - get( type_info_ const & ti ) const - { - error_info_map::const_iterator i=info_.find(ti); - if( info_.end()!=i ) - { - shared_ptr const & p = i->second; -#ifndef BOOST_NO_RTTI - BOOST_ASSERT( *BOOST_EXCEPTION_DYNAMIC_TYPEID(*p).type_==*ti.type_ ); -#endif - return p; - } - return shared_ptr(); - } - - char const * - diagnostic_information( char const * header ) const - { - if( header ) - { - std::ostringstream tmp; - tmp << header; - for( error_info_map::const_iterator i=info_.begin(),end=info_.end(); i!=end; ++i ) - { - error_info_base const & x = *i->second; - tmp << x.name_value_string(); - } - tmp.str().swap(diagnostic_info_str_); - } - return diagnostic_info_str_.c_str(); - } - - private: - - friend class boost::exception; - - typedef std::map< type_info_, shared_ptr > error_info_map; - error_info_map info_; - mutable std::string diagnostic_info_str_; - mutable int count_; - - error_info_container_impl( error_info_container_impl const & ); - error_info_container_impl & operator=( error_info_container const & ); - - void - add_ref() const - { - ++count_; - } - - bool - release() const - { - if( --count_ ) - return false; - else - { - delete this; - return true; - } - } - - refcount_ptr - clone() const - { - refcount_ptr p; - error_info_container_impl * c=new error_info_container_impl; - p.adopt(c); - c->info_ = info_; - return p; - } - }; - - template - inline - E const & - set_info( E const & x, error_info const & v ) - { - typedef error_info error_info_tag_t; - shared_ptr p( new error_info_tag_t(v) ); - exception_detail::error_info_container * c=x.data_.get(); - if( !c ) - x.data_.adopt(c=new exception_detail::error_info_container_impl); - c->set(p,BOOST_EXCEPTION_STATIC_TYPEID(error_info_tag_t)); - return x; - } - - template - struct - derives_boost_exception - { - enum e { value = (sizeof(dispatch_boost_exception((T*)0))==sizeof(large_size)) }; - }; - } - - template - inline - typename enable_if,E const &>::type - operator<<( E const & x, error_info const & v ) - { - return exception_detail::set_info(x,v); - } - } - -#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) -#pragma warning(pop) -#endif -#endif diff --git a/bundled/boost-1.56.0/include/boost/function_types/is_function.hpp b/bundled/boost-1.56.0/include/boost/function_types/is_function.hpp deleted file mode 100644 index d29229bb69..0000000000 --- a/bundled/boost-1.56.0/include/boost/function_types/is_function.hpp +++ /dev/null @@ -1,34 +0,0 @@ - -// (C) Copyright Tobias Schwinger -// -// Use modification and distribution are subject to the boost Software License, -// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). -//------------------------------------------------------------------------------ - -#ifndef BOOST_FT_IS_FUNCTION_HPP_INCLUDED -#define BOOST_FT_IS_FUNCTION_HPP_INCLUDED - -#include -#include - -#include - -namespace boost -{ - namespace function_types - { - template< typename T, typename Tag = null_tag > - struct is_function - : function_types::represents - < function_types::components - , function_types::tag - > - { - BOOST_MPL_AUX_LAMBDA_SUPPORT(2,is_function,(T,Tag)) - }; - } - BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,function_types::is_function) -} - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/function_types/is_member_function_pointer.hpp b/bundled/boost-1.56.0/include/boost/function_types/is_member_function_pointer.hpp deleted file mode 100644 index a51903520b..0000000000 --- a/bundled/boost-1.56.0/include/boost/function_types/is_member_function_pointer.hpp +++ /dev/null @@ -1,33 +0,0 @@ - -// (C) Copyright Tobias Schwinger -// -// Use modification and distribution are subject to the boost Software License, -// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). - -//------------------------------------------------------------------------------ - -#ifndef BOOST_FT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED -#define BOOST_FT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED - -#include -#include - -#include - -namespace boost -{ - namespace function_types - { - template< typename T, typename Tag = null_tag > - struct is_member_function_pointer - : function_types::represents - < function_types::components - , function_types::tag > - { - BOOST_MPL_AUX_LAMBDA_SUPPORT(2,is_member_function_pointer,(T,Tag)) - }; - } - BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,function_types::is_member_function_pointer) -} -#endif - diff --git a/bundled/boost-1.56.0/include/boost/function_types/is_member_object_pointer.hpp b/bundled/boost-1.56.0/include/boost/function_types/is_member_object_pointer.hpp deleted file mode 100644 index 77527d9a3d..0000000000 --- a/bundled/boost-1.56.0/include/boost/function_types/is_member_object_pointer.hpp +++ /dev/null @@ -1,34 +0,0 @@ - -// (C) Copyright Tobias Schwinger -// -// Use modification and distribution are subject to the boost Software License, -// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). - -//------------------------------------------------------------------------------ - -#ifndef BOOST_FT_IS_MEMBER_OBJECT_POINTER_HPP_INCLUDED -#define BOOST_FT_IS_MEMBER_OBJECT_POINTER_HPP_INCLUDED - -#include -#include - -#include - -namespace boost -{ - namespace function_types - { - template< typename T > - struct is_member_object_pointer - : function_types::detail::represents_impl - < function_types::components - , detail::member_object_pointer_tag > - { - BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_member_object_pointer,(T)) - }; - } - BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,function_types::is_member_object_pointer) -} - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/function_types/is_member_pointer.hpp b/bundled/boost-1.56.0/include/boost/function_types/is_member_pointer.hpp deleted file mode 100644 index f53e0beb71..0000000000 --- a/bundled/boost-1.56.0/include/boost/function_types/is_member_pointer.hpp +++ /dev/null @@ -1,34 +0,0 @@ - -// (C) Copyright Tobias Schwinger -// -// Use modification and distribution are subject to the boost Software License, -// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). -//------------------------------------------------------------------------------ - -#ifndef BOOST_FT_IS_MEMBER_POINTER_HPP_INCLUDED -#define BOOST_FT_IS_MEMBER_POINTER_HPP_INCLUDED - -#include -#include - -#include - -namespace boost -{ - namespace function_types - { - template< typename T, typename Tag = null_tag > - struct is_member_pointer - : function_types::represents - < function_types::components - , function_types::tag - > - { - BOOST_MPL_AUX_LAMBDA_SUPPORT(2,is_member_pointer,(T,Tag)) - }; - } - BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,function_types::is_member_pointer) -} - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/functional/factory.hpp b/bundled/boost-1.56.0/include/boost/functional/factory.hpp deleted file mode 100644 index 4aa4267b6a..0000000000 --- a/bundled/boost-1.56.0/include/boost/functional/factory.hpp +++ /dev/null @@ -1,163 +0,0 @@ -/*============================================================================= - Copyright (c) 2007 Tobias Schwinger - - Use modification and distribution are subject to the Boost Software - License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt). -==============================================================================*/ - -#ifndef BOOST_FUNCTIONAL_FACTORY_HPP_INCLUDED -# ifndef BOOST_PP_IS_ITERATING - -# include -# include -# include - -# include -# include -# include -# include -# include -# include - -# ifndef BOOST_FUNCTIONAL_FACTORY_MAX_ARITY -# define BOOST_FUNCTIONAL_FACTORY_MAX_ARITY 10 -# elif BOOST_FUNCTIONAL_FACTORY_MAX_ARITY < 3 -# undef BOOST_FUNCTIONAL_FACTORY_MAX_ARITY -# define BOOST_FUNCTIONAL_FACTORY_MAX_ARITY 3 -# endif - -namespace boost -{ - enum factory_alloc_propagation - { - factory_alloc_for_pointee_and_deleter, - factory_passes_alloc_to_smart_pointer - }; - - template< typename Pointer, class Allocator = boost::none_t, - factory_alloc_propagation AP = factory_alloc_for_pointee_and_deleter > - class factory; - - //----- ---- --- -- - - - - - - template< typename Pointer, factory_alloc_propagation AP > - class factory - { - public: - typedef typename boost::remove_cv::type result_type; - typedef typename boost::pointee::type value_type; - - factory() - { } - -# define BOOST_PP_FILENAME_1 -# define BOOST_PP_ITERATION_LIMITS (0,BOOST_FUNCTIONAL_FACTORY_MAX_ARITY) -# include BOOST_PP_ITERATE() - }; - - template< class Pointer, class Allocator, factory_alloc_propagation AP > - class factory - : private Allocator::template rebind< typename boost::pointee< - typename boost::remove_cv::type >::type >::other - { - public: - typedef typename boost::remove_cv::type result_type; - typedef typename boost::pointee::type value_type; - - typedef typename Allocator::template rebind::other - allocator_type; - - explicit factory(allocator_type const & a = allocator_type()) - : allocator_type(a) - { } - - private: - - struct deleter - : allocator_type - { - inline deleter(allocator_type const& that) - : allocator_type(that) - { } - - allocator_type& get_allocator() const - { - return *const_cast( - static_cast(this)); - } - - void operator()(value_type* ptr) const - { - if (!! ptr) ptr->~value_type(); - const_cast(static_cast( - this))->deallocate(ptr,1); - } - }; - - inline allocator_type& get_allocator() const - { - return *const_cast( - static_cast(this)); - } - - inline result_type make_pointer(value_type* ptr, boost::non_type< - factory_alloc_propagation,factory_passes_alloc_to_smart_pointer>) - const - { - return result_type(ptr,deleter(this->get_allocator())); - } - inline result_type make_pointer(value_type* ptr, boost::non_type< - factory_alloc_propagation,factory_alloc_for_pointee_and_deleter>) - const - { - return result_type(ptr,deleter(this->get_allocator()), - this->get_allocator()); - } - - public: - -# define BOOST_TMP_MACRO -# define BOOST_PP_FILENAME_1 -# define BOOST_PP_ITERATION_LIMITS (0,BOOST_FUNCTIONAL_FACTORY_MAX_ARITY) -# include BOOST_PP_ITERATE() -# undef BOOST_TMP_MACRO - }; - - template< typename Pointer, class Allocator, factory_alloc_propagation AP > - class factory; - // forbidden, would create a dangling reference -} - -# define BOOST_FUNCTIONAL_FACTORY_HPP_INCLUDED -# else // defined(BOOST_PP_IS_ITERATING) -# define N BOOST_PP_ITERATION() -# if !defined(BOOST_TMP_MACRO) -# if N > 0 - template< BOOST_PP_ENUM_PARAMS(N, typename T) > -# endif - inline result_type operator()(BOOST_PP_ENUM_BINARY_PARAMS(N,T,& a)) const - { - return result_type( new value_type(BOOST_PP_ENUM_PARAMS(N,a)) ); - } -# else // defined(BOOST_TMP_MACRO) -# if N > 0 - template< BOOST_PP_ENUM_PARAMS(N, typename T) > -# endif - inline result_type operator()(BOOST_PP_ENUM_BINARY_PARAMS(N,T,& a)) const - { - value_type* memory = this->get_allocator().allocate(1); - try - { - return make_pointer( - new(memory) value_type(BOOST_PP_ENUM_PARAMS(N,a)), - boost::non_type() ); - } - catch (...) { this->get_allocator().deallocate(memory,1); throw; } - } -# endif -# undef N -# endif // defined(BOOST_PP_IS_ITERATING) - -#endif // include guard - diff --git a/bundled/boost-1.56.0/include/boost/functional/hash/hash.hpp b/bundled/boost-1.56.0/include/boost/functional/hash/hash.hpp deleted file mode 100644 index 3e5ab5bcf9..0000000000 --- a/bundled/boost-1.56.0/include/boost/functional/hash/hash.hpp +++ /dev/null @@ -1,559 +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. - -#if !defined(BOOST_FUNCTIONAL_HASH_HASH_HPP) -#define BOOST_FUNCTIONAL_HASH_HASH_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) -#include -#endif - -#if !defined(BOOST_NO_CXX11_HDR_TYPEINDEX) -#include -#endif - -#if defined(BOOST_MSVC) -#pragma warning(push) - -#if BOOST_MSVC >= 1400 -#pragma warning(disable:6295) // Ill-defined for-loop : 'unsigned int' values - // are always of range '0' to '4294967295'. - // Loop executes infinitely. -#endif - -#endif - -#if BOOST_WORKAROUND(__GNUC__, < 3) \ - && !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION) -#define BOOST_HASH_CHAR_TRAITS string_char_traits -#else -#define BOOST_HASH_CHAR_TRAITS char_traits -#endif - -#if defined(_MSC_VER) -# define BOOST_FUNCTIONAL_HASH_ROTL32(x, r) _rotl(x,r) -#else -# define BOOST_FUNCTIONAL_HASH_ROTL32(x, r) (x << r) | (x >> (32 - r)) -#endif - -namespace boost -{ - namespace hash_detail - { - struct enable_hash_value { typedef std::size_t type; }; - - template struct basic_numbers {}; - template struct long_numbers; - template struct ulong_numbers; - template struct float_numbers {}; - - template <> struct basic_numbers : - boost::hash_detail::enable_hash_value {}; - template <> struct basic_numbers : - boost::hash_detail::enable_hash_value {}; - template <> struct basic_numbers : - boost::hash_detail::enable_hash_value {}; - template <> struct basic_numbers : - boost::hash_detail::enable_hash_value {}; - template <> struct basic_numbers : - boost::hash_detail::enable_hash_value {}; - template <> struct basic_numbers : - boost::hash_detail::enable_hash_value {}; - template <> struct basic_numbers : - boost::hash_detail::enable_hash_value {}; - template <> struct basic_numbers : - boost::hash_detail::enable_hash_value {}; - template <> struct basic_numbers : - boost::hash_detail::enable_hash_value {}; - template <> struct basic_numbers : - boost::hash_detail::enable_hash_value {}; - -#if !defined(BOOST_NO_INTRINSIC_WCHAR_T) - template <> struct basic_numbers : - boost::hash_detail::enable_hash_value {}; -#endif - - // long_numbers is defined like this to allow for separate - // specialization for long_long and int128_type, in case - // they conflict. - template struct long_numbers2 {}; - template struct ulong_numbers2 {}; - template struct long_numbers : long_numbers2 {}; - template struct ulong_numbers : ulong_numbers2 {}; - -#if !defined(BOOST_NO_LONG_LONG) - template <> struct long_numbers : - boost::hash_detail::enable_hash_value {}; - template <> struct ulong_numbers : - boost::hash_detail::enable_hash_value {}; -#endif - -#if defined(BOOST_HAS_INT128) - template <> struct long_numbers2 : - boost::hash_detail::enable_hash_value {}; - template <> struct ulong_numbers2 : - boost::hash_detail::enable_hash_value {}; -#endif - - template <> struct float_numbers : - boost::hash_detail::enable_hash_value {}; - template <> struct float_numbers : - boost::hash_detail::enable_hash_value {}; - template <> struct float_numbers : - boost::hash_detail::enable_hash_value {}; - } - - template - typename boost::hash_detail::basic_numbers::type hash_value(T); - template - typename boost::hash_detail::long_numbers::type hash_value(T); - template - typename boost::hash_detail::ulong_numbers::type hash_value(T); - - template - typename boost::enable_if, std::size_t>::type - hash_value(T); - -#if !BOOST_WORKAROUND(__DMC__, <= 0x848) - template std::size_t hash_value(T* const&); -#else - template std::size_t hash_value(T*); -#endif - -#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) - template< class T, unsigned N > - std::size_t hash_value(const T (&x)[N]); - - template< class T, unsigned N > - std::size_t hash_value(T (&x)[N]); -#endif - - template - std::size_t hash_value( - std::basic_string, A> const&); - - template - typename boost::hash_detail::float_numbers::type hash_value(T); - -#if !defined(BOOST_NO_CXX11_HDR_TYPEINDEX) - std::size_t hash_value(std::type_index); -#endif - - // Implementation - - namespace hash_detail - { - template - inline std::size_t hash_value_signed(T val) - { - const int size_t_bits = std::numeric_limits::digits; - // ceiling(std::numeric_limits::digits / size_t_bits) - 1 - const int length = (std::numeric_limits::digits - 1) - / size_t_bits; - - std::size_t seed = 0; - T positive = val < 0 ? -1 - val : val; - - // Hopefully, this loop can be unrolled. - for(unsigned int i = length * size_t_bits; i > 0; i -= size_t_bits) - { - seed ^= (std::size_t) (positive >> i) + (seed<<6) + (seed>>2); - } - seed ^= (std::size_t) val + (seed<<6) + (seed>>2); - - return seed; - } - - template - inline std::size_t hash_value_unsigned(T val) - { - const int size_t_bits = std::numeric_limits::digits; - // ceiling(std::numeric_limits::digits / size_t_bits) - 1 - const int length = (std::numeric_limits::digits - 1) - / size_t_bits; - - std::size_t seed = 0; - - // Hopefully, this loop can be unrolled. - for(unsigned int i = length * size_t_bits; i > 0; i -= size_t_bits) - { - seed ^= (std::size_t) (val >> i) + (seed<<6) + (seed>>2); - } - seed ^= (std::size_t) val + (seed<<6) + (seed>>2); - - return seed; - } - - template - inline void hash_combine_impl(SizeT& seed, SizeT value) - { - seed ^= value + 0x9e3779b9 + (seed<<6) + (seed>>2); - } - - template - inline void hash_combine_impl(boost::uint32_t& h1, - boost::uint32_t k1) - { - const uint32_t c1 = 0xcc9e2d51; - const uint32_t c2 = 0x1b873593; - - k1 *= c1; - k1 = BOOST_FUNCTIONAL_HASH_ROTL32(k1,15); - k1 *= c2; - - h1 ^= k1; - h1 = BOOST_FUNCTIONAL_HASH_ROTL32(h1,13); - h1 = h1*5+0xe6546b64; - } - - -// Don't define 64-bit hash combine on platforms with 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) - - template - inline void hash_combine_impl(boost::uint64_t& h, - boost::uint64_t k) - { - const uint64_t m = UINT64_C(0xc6a4a7935bd1e995); - const int r = 47; - - k *= m; - k ^= k >> r; - k *= m; - - h ^= k; - h *= m; - } - -#endif // BOOST_NO_INT64_T - } - - template - typename boost::hash_detail::basic_numbers::type hash_value(T v) - { - return static_cast(v); - } - - template - typename boost::hash_detail::long_numbers::type hash_value(T v) - { - return hash_detail::hash_value_signed(v); - } - - template - typename boost::hash_detail::ulong_numbers::type hash_value(T v) - { - return hash_detail::hash_value_unsigned(v); - } - - template - typename boost::enable_if, std::size_t>::type - hash_value(T v) - { - return static_cast(v); - } - - // Implementation by Alberto Barbati and Dave Harris. -#if !BOOST_WORKAROUND(__DMC__, <= 0x848) - template std::size_t hash_value(T* const& v) -#else - template std::size_t hash_value(T* v) -#endif - { -#if defined(__VMS) && __INITIAL_POINTER_SIZE == 64 - // for some reason ptrdiff_t on OpenVMS compiler with - // 64 bit is not 64 bit !!! - std::size_t x = static_cast( - reinterpret_cast(v)); -#else - std::size_t x = static_cast( - reinterpret_cast(v)); -#endif - return x + (x >> 3); - } - -#if defined(BOOST_MSVC) -#pragma warning(push) -#if BOOST_MSVC <= 1400 -#pragma warning(disable:4267) // 'argument' : conversion from 'size_t' to - // 'unsigned int', possible loss of data - // A misguided attempt to detect 64-bit - // incompatability. -#endif -#endif - - template - inline void hash_combine(std::size_t& seed, T const& v) - { - boost::hash hasher; - return boost::hash_detail::hash_combine_impl(seed, hasher(v)); - } - -#if defined(BOOST_MSVC) -#pragma warning(pop) -#endif - - template - inline std::size_t hash_range(It first, It last) - { - std::size_t seed = 0; - - for(; first != last; ++first) - { - hash_combine(seed, *first); - } - - return seed; - } - - template - inline void hash_range(std::size_t& seed, It first, It last) - { - for(; first != last; ++first) - { - hash_combine(seed, *first); - } - } - -#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551)) - template - inline std::size_t hash_range(T* first, T* last) - { - std::size_t seed = 0; - - for(; first != last; ++first) - { - boost::hash hasher; - seed ^= hasher(*first) + 0x9e3779b9 + (seed<<6) + (seed>>2); - } - - return seed; - } - - template - inline void hash_range(std::size_t& seed, T* first, T* last) - { - for(; first != last; ++first) - { - boost::hash hasher; - seed ^= hasher(*first) + 0x9e3779b9 + (seed<<6) + (seed>>2); - } - } -#endif - -#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) - template< class T, unsigned N > - inline std::size_t hash_value(const T (&x)[N]) - { - return hash_range(x, x + N); - } - - template< class T, unsigned N > - inline std::size_t hash_value(T (&x)[N]) - { - return hash_range(x, x + N); - } -#endif - - template - inline std::size_t hash_value( - std::basic_string, A> const& v) - { - return hash_range(v.begin(), v.end()); - } - - template - typename boost::hash_detail::float_numbers::type hash_value(T v) - { - return boost::hash_detail::float_hash_value(v); - } - -#if !defined(BOOST_NO_CXX11_HDR_TYPEINDEX) - inline std::size_t hash_value(std::type_index v) - { - return v.hash_code(); - } -#endif - - // - // boost::hash - // - - // Define the specializations required by the standard. The general purpose - // boost::hash is defined later in extensions.hpp if - // BOOST_HASH_NO_EXTENSIONS is not defined. - - // BOOST_HASH_SPECIALIZE - define a specialization for a type which is - // passed by copy. - // - // BOOST_HASH_SPECIALIZE_REF - define a specialization for a type which is - // passed by copy. - // - // These are undefined later. - -#define BOOST_HASH_SPECIALIZE(type) \ - template <> struct hash \ - : public std::unary_function \ - { \ - std::size_t operator()(type v) const \ - { \ - return boost::hash_value(v); \ - } \ - }; - -#define BOOST_HASH_SPECIALIZE_REF(type) \ - template <> struct hash \ - : public std::unary_function \ - { \ - std::size_t operator()(type const& v) const \ - { \ - return boost::hash_value(v); \ - } \ - }; - - BOOST_HASH_SPECIALIZE(bool) - BOOST_HASH_SPECIALIZE(char) - BOOST_HASH_SPECIALIZE(signed char) - BOOST_HASH_SPECIALIZE(unsigned char) -#if !defined(BOOST_NO_INTRINSIC_WCHAR_T) - BOOST_HASH_SPECIALIZE(wchar_t) -#endif - BOOST_HASH_SPECIALIZE(short) - BOOST_HASH_SPECIALIZE(unsigned short) - BOOST_HASH_SPECIALIZE(int) - BOOST_HASH_SPECIALIZE(unsigned int) - BOOST_HASH_SPECIALIZE(long) - BOOST_HASH_SPECIALIZE(unsigned long) - - BOOST_HASH_SPECIALIZE(float) - BOOST_HASH_SPECIALIZE(double) - BOOST_HASH_SPECIALIZE(long double) - - BOOST_HASH_SPECIALIZE_REF(std::string) -#if !defined(BOOST_NO_STD_WSTRING) - BOOST_HASH_SPECIALIZE_REF(std::wstring) -#endif - -#if !defined(BOOST_NO_LONG_LONG) - BOOST_HASH_SPECIALIZE(boost::long_long_type) - BOOST_HASH_SPECIALIZE(boost::ulong_long_type) -#endif - -#if defined(BOOST_HAS_INT128) - BOOST_HASH_SPECIALIZE(boost::int128_type) - BOOST_HASH_SPECIALIZE(boost::uint128_type) -#endif - -#if !defined(BOOST_NO_CXX11_HDR_TYPEINDEX) - BOOST_HASH_SPECIALIZE(std::type_index) -#endif - -#undef BOOST_HASH_SPECIALIZE -#undef BOOST_HASH_SPECIALIZE_REF - -// Specializing boost::hash for pointers. - -#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) - - template - struct hash - : public std::unary_function - { - std::size_t operator()(T* v) const - { -#if !BOOST_WORKAROUND(__SUNPRO_CC, <= 0x590) - return boost::hash_value(v); -#else - std::size_t x = static_cast( - reinterpret_cast(v)); - - return x + (x >> 3); -#endif - } - }; - -#else - - // For compilers without partial specialization, we define a - // boost::hash for all remaining types. But hash_impl is only defined - // for pointers in 'extensions.hpp' - so when BOOST_HASH_NO_EXTENSIONS - // is defined there will still be a compile error for types not supported - // in the standard. - - namespace hash_detail - { - template - struct hash_impl; - - template <> - struct hash_impl - { - template - struct inner - : public std::unary_function - { - std::size_t operator()(T val) const - { -#if !BOOST_WORKAROUND(__SUNPRO_CC, <= 590) - return boost::hash_value(val); -#else - std::size_t x = static_cast( - reinterpret_cast(val)); - - return x + (x >> 3); -#endif - } - }; - }; - } - - template struct hash - : public boost::hash_detail::hash_impl::value> - ::BOOST_NESTED_TEMPLATE inner - { - }; - -#endif -} - -#undef BOOST_HASH_CHAR_TRAITS -#undef BOOST_FUNCTIONAL_HASH_ROTL32 - -#if defined(BOOST_MSVC) -#pragma warning(pop) -#endif - -#endif // BOOST_FUNCTIONAL_HASH_HASH_HPP - -// Include this outside of the include guards in case the file is included -// twice - once with BOOST_HASH_NO_EXTENSIONS defined, and then with it -// undefined. - -#if !defined(BOOST_HASH_NO_EXTENSIONS) \ - && !defined(BOOST_FUNCTIONAL_HASH_EXTENSIONS_HPP) -#include -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/adapted/adt/detail/adapt_base.hpp b/bundled/boost-1.56.0/include/boost/fusion/adapted/adt/detail/adapt_base.hpp deleted file mode 100644 index 3de396dd6b..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/adapted/adt/detail/adapt_base.hpp +++ /dev/null @@ -1,193 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2009 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - Copyright (c) 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_ADT_DETAIL_ADAPT_BASE_HPP -#define BOOST_FUSION_ADAPTED_ADT_DETAIL_ADAPT_BASE_HPP - -#include -#include -#include -#include -#include -#include - -#define BOOST_FUSION_ADAPT_ADT_GET_IDENTITY_TEMPLATE_IMPL(TEMPLATE_PARAMS_SEQ) \ - typename detail::get_identity< \ - lvalue \ - , BOOST_PP_SEQ_ELEM(1,TEMPLATE_PARAMS_SEQ) \ - >::type - -#define BOOST_FUSION_ADAPT_ADT_GET_IDENTITY_NON_TEMPLATE_IMPL( \ - TEMPLATE_PARAMS_SEQ) \ - \ - boost::remove_const::type>::type - -#define BOOST_FUSION_ADAPT_ADT_C_BASE( \ - TEMPLATE_PARAMS_SEQ,NAME_SEQ,I,ATTRIBUTE,ATTRIBUTE_TUPEL_SIZE) \ - \ - template< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ - > \ - struct access::adt_attribute_access< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ - , I \ - > \ - { \ - template \ - BOOST_FUSION_GPU_ENABLED \ - static void \ - boost_fusion_adapt_adt_impl_set( \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)& obj, \ - Val const& val) \ - { \ - BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, 3, ATTRIBUTE); \ - } \ - \ - BOOST_FUSION_GPU_ENABLED \ - static BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, 0, ATTRIBUTE) \ - boost_fusion_adapt_adt_impl_get( \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)& obj) \ - { \ - return BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, 2, ATTRIBUTE); \ - } \ - \ - BOOST_FUSION_GPU_ENABLED \ - static BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, 1, ATTRIBUTE) \ - boost_fusion_adapt_adt_impl_get( \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) const& obj) \ - { \ - return BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, 2, ATTRIBUTE); \ - } \ - }; \ - \ - template< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ - > \ - struct adt_attribute_proxy< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ - , I \ - , true \ - > \ - { \ - typedef BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, 1, ATTRIBUTE) type; \ - \ - BOOST_FUSION_GPU_ENABLED \ - explicit \ - adt_attribute_proxy( \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) const& o) \ - : obj(&o) \ - {} \ - \ - BOOST_FUSION_GPU_ENABLED \ - type get() const \ - { \ - return access::adt_attribute_access< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ - , I \ - >::boost_fusion_adapt_adt_impl_get(*obj); \ - } \ - \ - BOOST_FUSION_GPU_ENABLED \ - operator type() const \ - { \ - return get(); \ - } \ - \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) const* obj; \ - }; \ - \ - template< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ - > \ - struct adt_attribute_proxy< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ - , I \ - , false \ - > \ - { \ - typedef BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, 0, ATTRIBUTE) type; \ - \ - BOOST_FUSION_GPU_ENABLED \ - explicit \ - adt_attribute_proxy( \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)& o) \ - : obj(&o) \ - {} \ - \ - template \ - BOOST_FUSION_GPU_ENABLED \ - adt_attribute_proxy& \ - operator=(Val const& val) \ - { \ - access::adt_attribute_access< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ - , I \ - >::boost_fusion_adapt_adt_impl_set(*obj, val); \ - return *this; \ - } \ - \ - BOOST_FUSION_GPU_ENABLED \ - type get() const \ - { \ - return access::adt_attribute_access< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ - , I \ - >::boost_fusion_adapt_adt_impl_get(*obj); \ - } \ - \ - BOOST_FUSION_GPU_ENABLED \ - operator type() const \ - { \ - return get(); \ - } \ - \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)* obj; \ - }; \ - \ - template< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ - > \ - struct access::struct_member< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ - , I \ - > \ - { \ - typedef BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, 0, ATTRIBUTE) lvalue; \ - BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS( \ - TEMPLATE_PARAMS_SEQ) \ - \ - typedef \ - BOOST_PP_IF( \ - BOOST_PP_SEQ_HEAD(TEMPLATE_PARAMS_SEQ), \ - BOOST_FUSION_ADAPT_ADT_GET_IDENTITY_TEMPLATE_IMPL, \ - BOOST_FUSION_ADAPT_ADT_GET_IDENTITY_NON_TEMPLATE_IMPL)( \ - TEMPLATE_PARAMS_SEQ) \ - type; \ - \ - template \ - struct apply \ - { \ - typedef \ - adt_attribute_proxy< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ - , I \ - , is_const::value \ - > \ - type; \ - \ - BOOST_FUSION_GPU_ENABLED \ - static type \ - call(Seq& obj) \ - { \ - return type(obj); \ - } \ - }; \ - }; - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/adapted/array/at_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/adapted/array/at_impl.hpp deleted file mode 100644 index 084fffc208..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/adapted/array/at_impl.hpp +++ /dev/null @@ -1,40 +0,0 @@ -/*============================================================================= - Copyright (c) 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_ARRAY_AT_IMPL_HPP -#define BOOST_FUSION_ADAPTED_ARRAY_AT_IMPL_HPP - -#include -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct at_impl; - - template<> - struct at_impl - { - template - struct apply - { - typedef typename - add_reference::type>::type - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Seq& seq) - { - return seq[N::value]; - } - }; - }; -}}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/adapted/array/begin_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/adapted/array/begin_impl.hpp deleted file mode 100644 index 4ffaba01f1..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/adapted/array/begin_impl.hpp +++ /dev/null @@ -1,44 +0,0 @@ -/*============================================================================= - Copyright (c) 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_ARRAY_BEGIN_IMPL_HPP -#define BOOST_FUSION_ADAPTED_ARRAY_BEGIN_IMPL_HPP - -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct begin_impl; - - template <> - struct begin_impl - { - template - struct apply - { - typedef - basic_iterator< - po_array_iterator_tag - , random_access_traversal_tag - , Seq - , 0 - > - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Seq& seq) - { - return type(seq,0); - } - }; - }; -}}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/adapted/array/deref_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/adapted/array/deref_impl.hpp deleted file mode 100644 index a7dc7cb9ca..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/adapted/array/deref_impl.hpp +++ /dev/null @@ -1,42 +0,0 @@ -/*============================================================================= - Copyright (c) 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_ARRAY_DEREF_IMPL_HPP -#define BOOST_FUSION_ADAPTED_ARRAY_DEREF_IMPL_HPP - -#include -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct deref_impl; - - template <> - struct deref_impl - { - template - struct apply - { - typedef typename - add_reference< - typename remove_extent::type - >::type - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(It const& it) - { - return (*it.seq)[It::index::value]; - } - }; - }; -}}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/adapted/array/end_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/adapted/array/end_impl.hpp deleted file mode 100644 index d36c6b81b3..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/adapted/array/end_impl.hpp +++ /dev/null @@ -1,46 +0,0 @@ -/*============================================================================= - Copyright (c) 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_ARRAY_END_IMPL_HPP -#define BOOST_FUSION_ADAPTED_ARRAY_END_IMPL_HPP - -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct end_impl; - - template <> - struct end_impl - { - template - struct apply - { - typedef - basic_iterator< - po_array_iterator_tag - , random_access_traversal_tag - , Seq - , extent::value-1>::value - > - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Seq& seq) - { - return type(seq,0); - } - }; - }; -}}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/adapted/boost_array/detail/at_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/adapted/boost_array/detail/at_impl.hpp deleted file mode 100644 index 15235e8e57..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/adapted/boost_array/detail/at_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(BOOST_FUSION_AT_IMPL_27122005_1241) -#define BOOST_FUSION_AT_IMPL_27122005_1241 - -#include -#include - -#include - -namespace boost { namespace fusion { - - struct boost_array_tag; - - namespace extension - { - template - struct at_impl; - - template<> - struct at_impl - { - template - struct apply - { - typedef typename mpl::if_< - is_const, - typename Sequence::const_reference, - typename Sequence::reference>::type type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& seq) - { - return seq[N::value]; - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/adapted/boost_array/detail/begin_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/adapted/boost_array/detail/begin_impl.hpp deleted file mode 100644 index 5e0752c145..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/adapted/boost_array/detail/begin_impl.hpp +++ /dev/null @@ -1,42 +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(BOOST_FUSION_BEGIN_IMPL_27122005_1117) -#define BOOST_FUSION_BEGIN_IMPL_27122005_1117 - -#include -#include - -namespace boost { namespace fusion { - - struct boost_array_tag; - - namespace extension - { - template - struct begin_impl; - - template <> - struct begin_impl - { - template - struct apply - { - typedef array_iterator type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& v) - { - return type(v); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/adapted/boost_array/detail/end_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/adapted/boost_array/detail/end_impl.hpp deleted file mode 100644 index 13ed1e3e3d..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/adapted/boost_array/detail/end_impl.hpp +++ /dev/null @@ -1,42 +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(BOOST_FUSION_END_IMPL_27122005_1120) -#define BOOST_FUSION_END_IMPL_27122005_1120 - -#include -#include - -namespace boost { namespace fusion { - - struct boost_array_tag; - - namespace extension - { - template - struct end_impl; - - template <> - struct end_impl - { - template - struct apply - { - typedef array_iterator type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& v) - { - return type(v); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/adapted/mpl/detail/at_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/adapted/mpl/detail/at_impl.hpp deleted file mode 100644 index 3fcafaac1d..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/adapted/mpl/detail/at_impl.hpp +++ /dev/null @@ -1,42 +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(BOOST_FUSION_AT_IMPL_31122005_1642) -#define BOOST_FUSION_AT_IMPL_31122005_1642 - -#include -#include - -namespace boost { namespace fusion -{ - struct mpl_sequence_tag; - - namespace extension - { - template - struct at_impl; - - template <> - struct at_impl - { - template - struct apply - { - typedef typename mpl::at::type type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence) - { - return type(); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/adapted/mpl/detail/begin_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/adapted/mpl/detail/begin_impl.hpp deleted file mode 100644 index c64e2828f4..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/adapted/mpl/detail/begin_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(BOOST_FUSION_BEGIN_IMPL_31122005_1209) -#define BOOST_FUSION_BEGIN_IMPL_31122005_1209 - -#include -#include -#include -#include - -namespace boost { namespace fusion { - - struct mpl_sequence_tag; - - namespace extension - { - template - struct begin_impl; - - template <> - struct begin_impl - { - template - struct apply - { - typedef typename mpl::begin< - typename remove_const::type - >::type iterator; - typedef mpl_iterator type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence) - { - return type(); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/adapted/mpl/detail/end_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/adapted/mpl/detail/end_impl.hpp deleted file mode 100644 index 579e5a69e0..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/adapted/mpl/detail/end_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(BOOST_FUSION_END_IMPL_31122005_1237) -#define BOOST_FUSION_END_IMPL_31122005_1237 - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct mpl_sequence_tag; - - namespace extension - { - template - struct end_impl; - - template <> - struct end_impl - { - template - struct apply - { - typedef typename mpl::end< - typename remove_const::type - >::type iterator; - typedef mpl_iterator type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence) - { - return type(); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/adapted/std_tuple.hpp b/bundled/boost-1.56.0/include/boost/fusion/adapted/std_tuple.hpp deleted file mode 100644 index 984a4df478..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/adapted/std_tuple.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) -==============================================================================*/ -#if !defined(BOOST_FUSION_BOOST_TUPLE_09242011_1744) -#define BOOST_FUSION_BOOST_TUPLE_09242011_1744 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/adapted/std_tuple/detail/at_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/adapted/std_tuple/detail/at_impl.hpp deleted file mode 100644 index cffd442885..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/adapted/std_tuple/detail/at_impl.hpp +++ /dev/null @@ -1,54 +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_FUSION_AT_IMPL_09242011_1744) -#define BOOST_FUSION_AT_IMPL_09242011_1744 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct std_tuple_tag; - - namespace extension - { - template - struct at_impl; - - template <> - struct at_impl - { - template - struct apply - { - typedef typename remove_const::type seq_type; - typedef typename std::tuple_element::type element; - - typedef typename - mpl::if_< - is_const - , typename fusion::detail::cref_result::type - , typename fusion::detail::ref_result::type - >::type - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& seq) - { - return std::get(seq); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/adapted/std_tuple/detail/begin_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/adapted/std_tuple/detail/begin_impl.hpp deleted file mode 100644 index 33613c20b1..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/adapted/std_tuple/detail/begin_impl.hpp +++ /dev/null @@ -1,41 +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_FUSION_BEGIN_IMPL_09242011_1744) -#define BOOST_FUSION_BEGIN_IMPL_09242011_1744 - -#include -#include - -namespace boost { namespace fusion -{ - struct std_tuple_tag; - - namespace extension - { - template - struct begin_impl; - - template <> - struct begin_impl - { - template - struct apply - { - typedef std_tuple_iterator type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& v) - { - return type(v); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/adapted/std_tuple/detail/end_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/adapted/std_tuple/detail/end_impl.hpp deleted file mode 100644 index 77048698a1..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/adapted/std_tuple/detail/end_impl.hpp +++ /dev/null @@ -1,45 +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_FUSION_END_IMPL_09242011_1744) -#define BOOST_FUSION_END_IMPL_09242011_1744 - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct std_tuple_tag; - - namespace extension - { - template - struct end_impl; - - template <> - struct end_impl - { - template - struct apply - { - typedef typename remove_const::type seq_type; - static int const size = std::tuple_size::value; - typedef std_tuple_iterator type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& v) - { - return type(v); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/adapted/struct/adapt_assoc_struct_named.hpp b/bundled/boost-1.56.0/include/boost/fusion/adapted/struct/adapt_assoc_struct_named.hpp deleted file mode 100644 index 2f1a9a3037..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/adapted/struct/adapt_assoc_struct_named.hpp +++ /dev/null @@ -1,38 +0,0 @@ -/*============================================================================= - Copyright (c) 2010-2011 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_ADAPT_ASSOC_STRUCT_NAMED_HPP -#define BOOST_FUSION_ADAPTED_STRUCT_ADAPT_ASSOC_STRUCT_NAMED_HPP - -#include -#include -#include - -#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_FILLER_0(X, Y, Z) \ - (X, obj.Y, Z) BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_FILLER_1 -#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_FILLER_1(X, Y, Z) \ - (X, obj.Y, Z) BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_FILLER_0 -#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_FILLER_0_END -#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_FILLER_1_END - -#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_NS( \ - WRAPPED_TYPE, NAMESPACE_SEQ, NAME, ATTRIBUTES) \ - \ - BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \ - WRAPPED_TYPE,(0)NAMESPACE_SEQ,NAME) \ - \ - BOOST_FUSION_ADAPT_ASSOC_STRUCT_AS_VIEW( \ - BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION((0)NAMESPACE_SEQ)NAME, \ - BOOST_PP_CAT( \ - BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_FILLER_0 ATTRIBUTES, \ - _END)) - -#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED(WRAPPED_TYPE, NAME, ATTRIBUTES) \ - BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_NS( \ - WRAPPED_TYPE,(boost)(fusion)(adapted),NAME,ATTRIBUTES) - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/adapted/struct/adapt_struct.hpp b/bundled/boost-1.56.0/include/boost/fusion/adapted/struct/adapt_struct.hpp deleted file mode 100644 index f60ca03e19..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/adapted/struct/adapt_struct.hpp +++ /dev/null @@ -1,72 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - Copyright (c) 2009-2011 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_ADAPT_STRUCT_HPP -#define BOOST_FUSION_ADAPTED_STRUCT_ADAPT_STRUCT_HPP - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define BOOST_FUSION_ADAPT_STRUCT_FILLER_0(X, Y) \ - ((X, Y)) BOOST_FUSION_ADAPT_STRUCT_FILLER_1 -#define BOOST_FUSION_ADAPT_STRUCT_FILLER_1(X, Y) \ - ((X, Y)) BOOST_FUSION_ADAPT_STRUCT_FILLER_0 -#define BOOST_FUSION_ADAPT_STRUCT_FILLER_0_END -#define BOOST_FUSION_ADAPT_STRUCT_FILLER_1_END - -#define BOOST_FUSION_ADAPT_STRUCT_C(TEMPLATE_PARAMS_SEQ, NAME_SEQ, I, ATTRIBUTE)\ - BOOST_FUSION_ADAPT_STRUCT_C_BASE( \ - TEMPLATE_PARAMS_SEQ,NAME_SEQ,I,BOOST_PP_EMPTY,ATTRIBUTE,2) - -#define BOOST_FUSION_ADAPT_TPL_STRUCT(TEMPLATE_PARAMS_SEQ,NAME_SEQ, ATTRIBUTES) \ - BOOST_FUSION_ADAPT_STRUCT_BASE( \ - (1)TEMPLATE_PARAMS_SEQ, \ - (1)NAME_SEQ, \ - struct_tag, \ - 0, \ - ((0,0)) BOOST_PP_CAT( \ - BOOST_FUSION_ADAPT_STRUCT_FILLER_0 ATTRIBUTES,_END), \ - BOOST_FUSION_ADAPT_STRUCT_C) - -#define BOOST_FUSION_ADAPT_STRUCT(NAME, ATTRIBUTES) \ - BOOST_FUSION_ADAPT_STRUCT_BASE( \ - (0), \ - (0)(NAME), \ - struct_tag, \ - 0, \ - BOOST_PP_CAT(BOOST_FUSION_ADAPT_STRUCT_FILLER_0(0,0)ATTRIBUTES,_END), \ - BOOST_FUSION_ADAPT_STRUCT_C) - -#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 diff --git a/bundled/boost-1.56.0/include/boost/fusion/adapted/struct/adapt_struct_named.hpp b/bundled/boost-1.56.0/include/boost/fusion/adapted/struct/adapt_struct_named.hpp deleted file mode 100644 index 3f29f3a39e..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/adapted/struct/adapt_struct_named.hpp +++ /dev/null @@ -1,40 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - Copyright (c) 2009-2010 Hartmut Kaiser - Copyright (c) 2010-2011 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_ADAPT_STRUCT_NAMED_HPP -#define BOOST_FUSION_ADAPTED_STRUCT_ADAPT_STRUCT_NAMED_HPP - -#include -#include -#include -#include - -#define BOOST_FUSION_ADAPT_STRUCT_NAMED_FILLER_0(X, Y) \ - (X, obj.Y) BOOST_FUSION_ADAPT_STRUCT_NAMED_FILLER_1 -#define BOOST_FUSION_ADAPT_STRUCT_NAMED_FILLER_1(X, Y) \ - (X, obj.Y) BOOST_FUSION_ADAPT_STRUCT_NAMED_FILLER_0 -#define BOOST_FUSION_ADAPT_STRUCT_NAMED_FILLER_0_END -#define BOOST_FUSION_ADAPT_STRUCT_NAMED_FILLER_1_END - -#define BOOST_FUSION_ADAPT_STRUCT_NAMED_NS( \ - WRAPPED_TYPE, NAMESPACE_SEQ, NAME, ATTRIBUTES) \ - \ - BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \ - WRAPPED_TYPE,(0)NAMESPACE_SEQ,NAME) \ - \ - BOOST_FUSION_ADAPT_STRUCT_AS_VIEW( \ - BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION((0)NAMESPACE_SEQ)NAME, \ - BOOST_PP_CAT( \ - BOOST_FUSION_ADAPT_STRUCT_NAMED_FILLER_0 ATTRIBUTES,_END)) - -#define BOOST_FUSION_ADAPT_STRUCT_NAMED(WRAPPED_TYPE, NAME, ATTRIBUTES) \ - BOOST_FUSION_ADAPT_STRUCT_NAMED_NS( \ - WRAPPED_TYPE,(boost)(fusion)(adapted),NAME,ATTRIBUTES) - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/adapted/struct/define_struct.hpp b/bundled/boost-1.56.0/include/boost/fusion/adapted/struct/define_struct.hpp deleted file mode 100644 index fa1f549f91..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/adapted/struct/define_struct.hpp +++ /dev/null @@ -1,42 +0,0 @@ -/*============================================================================= - Copyright (c) 2010-2011 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_DEFINE_STRUCT_HPP -#define BOOST_FUSION_ADAPTED_STRUCT_DEFINE_STRUCT_HPP - -#include -#include -#include - -#define BOOST_FUSION_DEFINE_TPL_STRUCT( \ - TEMPLATE_PARAMS_SEQ, NAMESPACE_SEQ, NAME, ATTRIBUTES) \ - \ - BOOST_FUSION_DEFINE_TPL_STRUCT_IMPL( \ - TEMPLATE_PARAMS_SEQ, \ - (0)NAMESPACE_SEQ, \ - NAME, \ - BOOST_PP_CAT(BOOST_FUSION_ADAPT_STRUCT_FILLER_0(0,0)ATTRIBUTES,_END), \ - 2) \ - \ - BOOST_FUSION_ADAPT_TPL_STRUCT( \ - TEMPLATE_PARAMS_SEQ, \ - (BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION((0)NAMESPACE_SEQ) NAME)\ - TEMPLATE_PARAMS_SEQ, \ - ATTRIBUTES) - -#define BOOST_FUSION_DEFINE_STRUCT(NAMESPACE_SEQ, NAME, ATTRIBUTES) \ - BOOST_FUSION_DEFINE_STRUCT_IMPL( \ - (0)NAMESPACE_SEQ, \ - NAME, \ - BOOST_PP_CAT(BOOST_FUSION_ADAPT_STRUCT_FILLER_0(0,0)ATTRIBUTES,_END), \ - 2) \ - \ - BOOST_FUSION_ADAPT_STRUCT( \ - BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION((0)NAMESPACE_SEQ) NAME, \ - ATTRIBUTES) - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/adapted/struct/detail/adapt_base.hpp b/bundled/boost-1.56.0/include/boost/fusion/adapted/struct/detail/adapt_base.hpp deleted file mode 100644 index db702ae155..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/adapted/struct/detail/adapt_base.hpp +++ /dev/null @@ -1,248 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2009 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - Copyright (c) 2009-2011 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_ADAPT_BASE_HPP -#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_BASE_HPP - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME_TEMPLATE_PARAMS(SEQ) \ - BOOST_PP_SEQ_HEAD(SEQ) \ - BOOST_PP_EMPTY() - -#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_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 \ - { \ - typedef TAG type; \ - }; -#endif - -#define BOOST_FUSION_ADAPT_STRUCT_BASE_UNPACK_AND_CALL(R,DATA,I,ATTRIBUTE) \ - BOOST_PP_TUPLE_ELEM(3,0,DATA)( \ - BOOST_PP_TUPLE_ELEM(3,1,DATA), \ - BOOST_PP_TUPLE_ELEM(3,2,DATA), \ - 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,I,PREFIX,ATTRIBUTE,ATTRIBUTE_TUPEL_SIZE) \ - \ - template< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ - > \ - struct access::struct_member< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ - , I \ - > \ - { \ - typedef \ - BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, 0, ATTRIBUTE) \ - attribute_type; \ - BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS( \ - TEMPLATE_PARAMS_SEQ) \ - \ - typedef attribute_type type; \ - \ - template \ - struct apply \ - { \ - typedef typename \ - add_reference< \ - typename mpl::eval_if< \ - is_const \ - , add_const \ - , mpl::identity \ - >::type \ - >::type \ - type; \ - \ - BOOST_FUSION_GPU_ENABLED \ - static type \ - call(Seq& seq) \ - { \ - return seq.PREFIX() \ - BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, 1, 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_FUSION_GPU_ENABLED \ - static type \ - call() \ - { \ - return BOOST_PP_STRINGIZE( \ - BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE,1,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), \ - BOOST_PP_SEQ_TAIL(ATTRIBUTES_SEQ)) \ - \ - template< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS( \ - TEMPLATE_PARAMS_SEQ) \ - > \ - struct struct_size \ - : mpl::int_ \ - {}; \ - \ - 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_IF(IS_VIEW,true_,false_) \ - {}; \ - } \ - } \ - \ - namespace mpl \ - { \ - template \ - struct sequence_tag; \ - \ - template< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS( \ - TEMPLATE_PARAMS_SEQ) \ - > \ - struct sequence_tag \ - { \ - 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/bundled/boost-1.56.0/include/boost/fusion/adapted/struct/detail/begin_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/adapted/struct/detail/begin_impl.hpp deleted file mode 100644 index 9cb68719a9..0000000000 --- a/bundled/boost-1.56.0/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 -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct begin_impl; - - template <> - struct begin_impl - { - template - struct apply - { - typedef - basic_iterator< - struct_iterator_tag - , random_access_traversal_tag - , Seq - , 0 - > - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Seq& seq) - { - return type(seq,0); - } - }; - }; - - template <> - struct begin_impl - { - template - struct apply - { - typedef - basic_iterator< - struct_iterator_tag - , assoc_struct_category - , Seq - , 0 - > - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Seq& seq) - { - return type(seq,0); - } - }; - }; -}}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/adapted/struct/detail/define_struct.hpp b/bundled/boost-1.56.0/include/boost/fusion/adapted/struct/detail/define_struct.hpp deleted file mode 100644 index 44d99f06b4..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/adapted/struct/detail/define_struct.hpp +++ /dev/null @@ -1,364 +0,0 @@ -/*============================================================================= - Copyright (c) 2010-2011 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_DETAIL_STRUCT_DEFINE_STRUCT_HPP -#define BOOST_FUSION_ADAPTED_DETAIL_STRUCT_DEFINE_STRUCT_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define BOOST_FUSION_DEFINE_STRUCT_COPY_CTOR_FILLER_I( \ - R, ATTRIBUTE_TUPEL_SIZE, I, ATTRIBUTE) \ - \ - BOOST_PP_COMMA_IF(I) \ - BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE,1,ATTRIBUTE)( \ - other_self.BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE,1,ATTRIBUTE)) - -#define BOOST_FUSION_DEFINE_STRUCT_ASSIGN_FILLER_I( \ - R, ATTRIBUTE_TUPEL_SIZE, I_, ATTRIBUTE) \ - \ - BOOST_PP_EXPR_IF( \ - I_, \ - typedef typename \ - boost::fusion::result_of::next< \ - BOOST_PP_CAT(I,BOOST_PP_DEC(I_)) \ - >::type \ - BOOST_PP_CAT(I,I_); \ - BOOST_PP_CAT(I,I_) BOOST_PP_CAT(i,I_)= \ - boost::fusion::next(BOOST_PP_CAT(i,BOOST_PP_DEC(I_))); \ - ) \ - \ - BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE,1,ATTRIBUTE)= \ - boost::fusion::deref(BOOST_PP_CAT(i,I_)); - -#define BOOST_FUSION_DEFINE_STRUCT_ASSIGN_OP( \ - ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ - \ - template \ - BOOST_FUSION_GPU_ENABLED \ - self_type& \ - operator=(Seq const& seq) \ - { \ - typedef typename \ - boost::fusion::result_of::begin::type \ - I0; \ - I0 i0=boost::fusion::begin(seq); \ - \ - BOOST_PP_SEQ_FOR_EACH_I_R( \ - 1, \ - BOOST_FUSION_DEFINE_STRUCT_ASSIGN_FILLER_I, \ - ATTRIBUTE_TUPEL_SIZE, \ - ATTRIBUTES_SEQ) \ - \ - return *this; \ - } - -#define BOOST_FUSION_DEFINE_STRUCT_ATTR_I(R, ATTRIBUTE_TUPEL_SIZE, ATTRIBUTE) \ - \ - BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE,0,ATTRIBUTE) \ - BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE,1,ATTRIBUTE); - -#define BOOST_FUSION_DEFINE_STRUCT_SEQ_CTOR_FILLER_I( \ - R, ATTRIBUTE_TUPEL_SIZE, I, ATTRIBUTE) \ - \ - BOOST_PP_COMMA_IF(I) \ - BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE,1,ATTRIBUTE)( \ - boost::fusion::deref(boost::fusion::advance_c(boost::fusion::begin( \ - seq)))) - -#define BOOST_FUSION_DEFINE_STRUCT_SEQ_CTOR_DISABLER( \ - ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ - \ - , typename boost::disable_if< \ - boost::is_convertible< \ - Seq const& \ - , BOOST_PP_TUPLE_ELEM( \ - ATTRIBUTE_TUPEL_SIZE, \ - 0, \ - BOOST_PP_SEQ_HEAD(ATTRIBUTES_SEQ)) \ - > \ - >::type* =0 - -#define BOOST_FUSION_DEFINE_STRUCT_SEQ_DEFAULT_CTOR_FILLER_I( \ - R, ATTRIBUTE_TUPEL_SIZE, I, ATTRIBUTE) \ - \ - BOOST_PP_COMMA_IF(I) \ - BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE,1,ATTRIBUTE)() - -#define BOOST_FUSION_DEFINE_STRUCT_IMPL_IMPL( \ - NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ - \ - BOOST_PP_SEQ_FOR_EACH_R( \ - 1, \ - BOOST_FUSION_DEFINE_STRUCT_ATTR_I, \ - ATTRIBUTE_TUPEL_SIZE, \ - ATTRIBUTES_SEQ) \ - \ - BOOST_FUSION_GPU_ENABLED \ - NAME() \ - : BOOST_PP_SEQ_FOR_EACH_I_R( \ - 1, \ - BOOST_FUSION_DEFINE_STRUCT_SEQ_DEFAULT_CTOR_FILLER_I, \ - ATTRIBUTE_TUPEL_SIZE, \ - ATTRIBUTES_SEQ) \ - {} \ - \ - BOOST_FUSION_GPU_ENABLED \ - NAME(self_type const& other_self) \ - : BOOST_PP_SEQ_FOR_EACH_I_R( \ - 1, \ - BOOST_FUSION_DEFINE_STRUCT_COPY_CTOR_FILLER_I, \ - ATTRIBUTE_TUPEL_SIZE, \ - ATTRIBUTES_SEQ) \ - {} \ - \ - template \ - BOOST_FUSION_GPU_ENABLED \ - NAME(Seq const& seq \ - BOOST_PP_IF( \ - BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ)), \ - BOOST_PP_TUPLE_EAT(2), \ - BOOST_FUSION_DEFINE_STRUCT_SEQ_CTOR_DISABLER)( \ - ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ - ) \ - : BOOST_PP_SEQ_FOR_EACH_I_R( \ - 1, \ - BOOST_FUSION_DEFINE_STRUCT_SEQ_CTOR_FILLER_I, \ - ATTRIBUTE_TUPEL_SIZE, \ - ATTRIBUTES_SEQ) \ - {} \ - \ - BOOST_FUSION_DEFINE_STRUCT_ASSIGN_OP(ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) - -#define BOOST_FUSION_DEFINE_STRUCT_CTOR_1( \ - NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ - \ - BOOST_FUSION_GPU_ENABLED \ - explicit \ - NAME(boost::call_traits< \ - BOOST_PP_TUPLE_ELEM( \ - ATTRIBUTE_TUPEL_SIZE,0,BOOST_PP_SEQ_HEAD(ATTRIBUTES_SEQ)) \ - >::param_type arg) \ - : BOOST_PP_TUPLE_ELEM( \ - ATTRIBUTE_TUPEL_SIZE,1,BOOST_PP_SEQ_HEAD(ATTRIBUTES_SEQ))(arg) \ - {} - -#define BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_1( \ - TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ - \ - BOOST_FUSION_GPU_ENABLED \ - explicit \ - NAME(typename boost::call_traits< \ - typename boost::fusion::detail::get_first_arg< \ - BOOST_PP_TUPLE_ELEM( \ - ATTRIBUTE_TUPEL_SIZE, \ - 0, \ - BOOST_PP_SEQ_HEAD(ATTRIBUTES_SEQ)) \ - , BOOST_PP_SEQ_HEAD(TEMPLATE_PARAMS_SEQ) \ - >::type \ - >::param_type arg) \ - : BOOST_PP_TUPLE_ELEM( \ - ATTRIBUTE_TUPEL_SIZE,1,BOOST_PP_SEQ_HEAD(ATTRIBUTES_SEQ))(arg) \ - {} - -#define BOOST_FUSION_DEFINE_STRUCT_CTOR_FILLER_I( \ - R, ATTRIBUTE_TUPEL_SIZE, I, ATTRIBUTE) \ - \ - BOOST_PP_COMMA_IF(I) \ - BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE,1,ATTRIBUTE)(BOOST_PP_CAT(_,I)) - -#define BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_ARG_I(R, DATA, I, ATTRIBUTE) \ - \ - BOOST_PP_COMMA_IF(I) \ - typename boost::call_traits< \ - typename boost::fusion::detail::get_first_arg< \ - BOOST_PP_TUPLE_ELEM( \ - BOOST_PP_TUPLE_ELEM(3,0,DATA), \ - 0, \ - ATTRIBUTE) \ - , BOOST_PP_TUPLE_ELEM(3,2,DATA) \ - >::type \ - >::param_type BOOST_PP_CAT(_,I) - -#define BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_N( \ - TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ - \ - BOOST_FUSION_GPU_ENABLED \ - NAME(BOOST_PP_SEQ_FOR_EACH_I_R( \ - 1, \ - BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_ARG_I, \ - ( \ - ATTRIBUTE_TUPEL_SIZE, \ - BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ), \ - BOOST_PP_SEQ_HEAD(TEMPLATE_PARAMS_SEQ) \ - ), \ - ATTRIBUTES_SEQ)) \ - : BOOST_PP_SEQ_FOR_EACH_I_R( \ - 1, \ - BOOST_FUSION_DEFINE_STRUCT_CTOR_FILLER_I, \ - ATTRIBUTE_TUPEL_SIZE, \ - ATTRIBUTES_SEQ) \ - {} - -#define BOOST_FUSION_DEFINE_STRUCT_CTOR_ARG_I( \ - R, ATTRIBUTE_TUPEL_SIZE, I, ATTRIBUTE) \ - \ - BOOST_PP_COMMA_IF(I) \ - boost::call_traits< \ - BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE,0,ATTRIBUTE) \ - >::param_type BOOST_PP_CAT(_,I) - -#define BOOST_FUSION_DEFINE_STRUCT_CTOR_N( \ - NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ - \ - BOOST_FUSION_GPU_ENABLED \ - NAME(BOOST_PP_SEQ_FOR_EACH_I_R( \ - 1, \ - BOOST_FUSION_DEFINE_STRUCT_CTOR_ARG_I, \ - ATTRIBUTE_TUPEL_SIZE, \ - ATTRIBUTES_SEQ)) \ - : BOOST_PP_SEQ_FOR_EACH_I_R( \ - 1, \ - BOOST_FUSION_DEFINE_STRUCT_CTOR_FILLER_I, \ - ATTRIBUTE_TUPEL_SIZE, \ - ATTRIBUTES_SEQ) \ - {} - -#define BOOST_FUSION_DEFINE_STRUCT_CTOR( \ - NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ - \ - BOOST_PP_IF(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ)), \ - BOOST_FUSION_DEFINE_STRUCT_CTOR_N, \ - BOOST_FUSION_DEFINE_STRUCT_CTOR_1)( \ - NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) - -#define BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR( \ - TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ - \ - BOOST_PP_IF(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ)), \ - BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_N, \ - BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_1)( \ - TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) - -#define BOOST_FUSION_DEFINE_NONEMPTY_STRUCT_IMPL( \ - NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ - \ - BOOST_FUSION_DEFINE_STRUCT_IMPL_IMPL( \ - NAME, BOOST_PP_SEQ_TAIL(ATTRIBUTES_SEQ), ATTRIBUTE_TUPEL_SIZE) \ - \ - BOOST_FUSION_DEFINE_STRUCT_CTOR( \ - NAME, BOOST_PP_SEQ_TAIL(ATTRIBUTES_SEQ), ATTRIBUTE_TUPEL_SIZE) - -#define BOOST_FUSION_DEFINE_EMPTY_STRUCT_IMPL( \ - NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ - \ - template \ - BOOST_FUSION_GPU_ENABLED \ - NAME(Seq const&) \ - {} \ - \ - template \ - BOOST_FUSION_GPU_ENABLED \ - self_type& \ - operator=(Seq const& seq) \ - { \ - return *this; \ - } - -#define BOOST_FUSION_DEFINE_STRUCT_IMPL( \ - NAMESPACE_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ - \ - BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DEFINITION_BEGIN(NAMESPACE_SEQ) \ - \ - struct NAME \ - { \ - typedef NAME self_type; \ - \ - BOOST_PP_IF(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ)), \ - BOOST_FUSION_DEFINE_NONEMPTY_STRUCT_IMPL, \ - BOOST_FUSION_DEFINE_EMPTY_STRUCT_IMPL)( \ - NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ - }; \ - \ - BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DEFINITION_END(NAMESPACE_SEQ) - -#define BOOST_FUSION_DEFINE_NONEMPTY_TPL_STRUCT_IMPL( \ - TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ - \ - BOOST_FUSION_DEFINE_STRUCT_IMPL_IMPL( \ - NAME, BOOST_PP_SEQ_TAIL(ATTRIBUTES_SEQ), ATTRIBUTE_TUPEL_SIZE) \ - \ - BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR( \ - TEMPLATE_PARAMS_SEQ, \ - NAME, \ - BOOST_PP_SEQ_TAIL(ATTRIBUTES_SEQ), \ - ATTRIBUTE_TUPEL_SIZE) - -#define BOOST_FUSION_DEFINE_EMPTY_TPL_STRUCT_IMPL( \ - TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ - \ - BOOST_FUSION_DEFINE_EMPTY_STRUCT_IMPL( \ - NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) - -#define BOOST_FUSION_DEFINE_TPL_STRUCT_IMPL( \ - TEMPLATE_PARAMS_SEQ, \ - NAMESPACE_SEQ, \ - NAME, \ - ATTRIBUTES_SEQ, \ - ATTRIBUTE_TUPEL_SIZE) \ - \ - BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DEFINITION_BEGIN(NAMESPACE_SEQ) \ - \ - template< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS_IMPL( \ - (0)TEMPLATE_PARAMS_SEQ) \ - > \ - struct NAME \ - { \ - typedef NAME self_type; \ - \ - BOOST_PP_IF(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ)), \ - BOOST_FUSION_DEFINE_NONEMPTY_TPL_STRUCT_IMPL, \ - BOOST_FUSION_DEFINE_EMPTY_TPL_STRUCT_IMPL)( \ - TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE)\ - }; \ - \ - BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DEFINITION_END(NAMESPACE_SEQ) - -namespace boost { namespace fusion { namespace detail -{ - template - struct get_first_arg - { - typedef A1 type; - }; -}}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/adapted/struct/detail/deref_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/adapted/struct/detail/deref_impl.hpp deleted file mode 100644 index a3bc9f3e19..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/adapted/struct/detail/deref_impl.hpp +++ /dev/null @@ -1,42 +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 - struct deref_impl; - - template <> - struct deref_impl - { - template - struct apply - { - typedef typename - access::struct_member< - typename remove_const::type - , It::index::value - >::template apply - impl; - - typedef typename impl::type type; - - BOOST_FUSION_GPU_ENABLED - static - type - call(It const& it) - { - return impl::call(*it.seq); - } - }; - }; -}}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/adapted/struct/detail/end_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/adapted/struct/detail/end_impl.hpp deleted file mode 100644 index b17eba7139..0000000000 --- a/bundled/boost-1.56.0/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 -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct end_impl; - - template <> - struct end_impl - { - template - struct apply - { - typedef - basic_iterator< - struct_iterator_tag - , random_access_traversal_tag - , Seq - , struct_size::type>::value - > - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Seq& seq) - { - return type(seq,0); - } - }; - }; - - template <> - struct end_impl - { - template - struct apply - { - typedef - basic_iterator< - struct_iterator_tag - , assoc_struct_category - , Seq - , struct_size::type>::value - > - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Seq& seq) - { - return type(seq,0); - } - }; - }; -}}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/algorithm/auxiliary.hpp b/bundled/boost-1.56.0/include/boost/fusion/algorithm/auxiliary.hpp deleted file mode 100644 index ec327a0bdb..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/algorithm/auxiliary.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_ALGORITHM_AUXILIARY_02192011_0907) -#define FUSION_ALGORITHM_AUXILIARY_02192011_0907 - -#include -#include - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/algorithm/auxiliary/copy.hpp b/bundled/boost-1.56.0/include/boost/fusion/algorithm/auxiliary/copy.hpp deleted file mode 100644 index 7ac8e6f589..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/algorithm/auxiliary/copy.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(FUSION_COPY_02162011_2308) -#define FUSION_COPY_02162011_2308 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if defined (BOOST_MSVC) -# pragma warning(push) -# pragma warning (disable: 4100) // unreferenced formal parameter -#endif - -namespace boost { namespace fusion -{ - namespace detail - { - template - struct sequence_copy - { - typedef typename result_of::end::type end1_type; - typedef typename result_of::end::type end2_type; - - template - BOOST_FUSION_GPU_ENABLED - static void - call(I1 const&, I2 const&, mpl::true_) - { - } - - template - 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 - BOOST_FUSION_GPU_ENABLED - static void - call(I1 const& src, I2 const& dest) - { - typename result_of::equal_to::type eq; - return call(src, dest, eq); - } - }; - } - - template - BOOST_FUSION_GPU_ENABLED - inline - typename - enable_if_c< - type_traits::ice_and< - traits::is_sequence::value - , traits::is_sequence::value - >::value, - void - >::type - copy(Seq1 const& src, Seq2& dest) - { - BOOST_STATIC_ASSERT( - result_of::size::value <= result_of::size::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/bundled/boost-1.56.0/include/boost/fusion/algorithm/auxiliary/move.hpp b/bundled/boost-1.56.0/include/boost/fusion/algorithm/auxiliary/move.hpp deleted file mode 100644 index 688f54a9f2..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/algorithm/auxiliary/move.hpp +++ /dev/null @@ -1,89 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2013 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_MOVE_01192013_2225) -#define FUSION_MOVE_01192013_2225 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if defined (BOOST_MSVC) -# pragma warning(push) -# pragma warning (disable: 4100) // unreferenced formal parameter -#endif - -namespace boost { namespace fusion -{ - namespace detail - { - template - struct sequence_move - { - typedef typename result_of::end::type end1_type; - typedef typename result_of::end::type end2_type; - - template - BOOST_FUSION_GPU_ENABLED - static void - call(I1 const&, I2 const&, mpl::true_) - { - } - - template - BOOST_FUSION_GPU_ENABLED - static void - call(I1 const& src, I2 const& dest, mpl::false_) - { - *dest = std::move(*src); - call(fusion::next(src), fusion::next(dest)); - } - - template - BOOST_FUSION_GPU_ENABLED - static void - call(I1 const& src, I2 const& dest) - { - typename result_of::equal_to::type eq; - return call(src, dest, eq); - } - }; - } - - template - BOOST_FUSION_GPU_ENABLED - inline - typename - enable_if_c< - type_traits::ice_and< - traits::is_sequence::value - , traits::is_sequence::value - >::value, - void - >::type - move(Seq1&& src, Seq2& dest) - { - BOOST_STATIC_ASSERT( - result_of::size::value <= result_of::size::value); - - detail::sequence_move< - Seq1, Seq2>:: - call(fusion::begin(src), fusion::begin(dest)); - } -}} - -#if defined (BOOST_MSVC) -# pragma warning(pop) -#endif - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/accumulate.hpp b/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/accumulate.hpp deleted file mode 100644 index 430f9eb546..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/accumulate.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(FUSION_ACCUMULATE_09172005_1032) -#define FUSION_ACCUMULATE_09172005_1032 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct void_; - - namespace result_of - { - template - struct accumulate - : result_of::fold - {}; - } - - template - BOOST_FUSION_GPU_ENABLED - inline - typename - lazy_enable_if< - traits::is_sequence - , result_of::accumulate - >::type - accumulate(Sequence& seq, State const& state, F f) - { - return fusion::fold(seq, state, f); - } - - template - BOOST_FUSION_GPU_ENABLED - inline - typename - lazy_enable_if< - traits::is_sequence - , result_of::accumulate - >::type - accumulate(Sequence const& seq, State const& state, F f) - { - return fusion::fold(seq, state, f); - } -}} - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/accumulate_fwd.hpp b/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/accumulate_fwd.hpp deleted file mode 100644 index 0633349825..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/accumulate_fwd.hpp +++ /dev/null @@ -1,42 +0,0 @@ -/*============================================================================= - Copyright (c) 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) -==============================================================================*/ -#if !defined(BOOST_FUSION_ACCUMULATE_FWD_HPP_INCLUDED) -#define BOOST_FUSION_ACCUMULATE_FWD_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct accumulate; - } - - template - BOOST_FUSION_GPU_ENABLED - typename - lazy_enable_if< - traits::is_sequence - , result_of::accumulate - >::type - accumulate(Sequence& seq, State const& state, F f); - - template - BOOST_FUSION_GPU_ENABLED - typename - lazy_enable_if< - traits::is_sequence - , result_of::accumulate - >::type - accumulate(Sequence const& seq, State const& state, F f); -}} - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/detail/fold.hpp b/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/detail/fold.hpp deleted file mode 100644 index 71f60a7c63..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/detail/fold.hpp +++ /dev/null @@ -1,473 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 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) -==============================================================================*/ -#include - -#ifdef BOOST_FUSION_REVERSE_FOLD -# ifdef BOOST_FUSION_ITER_FOLD -# define BOOST_FUSION_FOLD_NAME reverse_iter_fold -# else -# define BOOST_FUSION_FOLD_NAME reverse_fold -# endif - -# define BOOST_FUSION_FOLD_IMPL_FIRST_IT_FUNCTION end -# define BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION prior -# define BOOST_FUSION_FOLD_IMPL_FIRST_IT_META_TRANSFORM(IT) \ - typename fusion::result_of::prior::type -# define BOOST_FUSION_FOLD_IMPL_FIRST_IT_TRANSFORM(IT) fusion::prior(IT) -#else -# ifdef BOOST_FUSION_ITER_FOLD -# define BOOST_FUSION_FOLD_NAME iter_fold -# else -# define BOOST_FUSION_FOLD_NAME fold -# endif - -# define BOOST_FUSION_FOLD_IMPL_FIRST_IT_FUNCTION begin -# define BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION next -# define BOOST_FUSION_FOLD_IMPL_FIRST_IT_META_TRANSFORM(IT) IT -# define BOOST_FUSION_FOLD_IMPL_FIRST_IT_TRANSFORM(IT) IT -#endif -#ifdef BOOST_FUSION_ITER_FOLD -# define BOOST_FUSION_FOLD_IMPL_INVOKE_IT_META_TRANSFORM(IT) IT& -# define BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(IT) IT -#else -# define BOOST_FUSION_FOLD_IMPL_INVOKE_IT_META_TRANSFORM(IT) \ - typename fusion::result_of::deref::type -# define BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(IT) fusion::deref(IT) -#endif - -namespace boost { namespace fusion -{ - namespace detail - { - template - struct BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME, _lvalue_state) - : boost::result_of< - F( - typename add_reference::type>::type, - BOOST_FUSION_FOLD_IMPL_INVOKE_IT_META_TRANSFORM(It)) - > - {}; - - template - struct BOOST_PP_CAT(unrolled_,BOOST_FUSION_FOLD_NAME) - { - template - BOOST_FUSION_GPU_ENABLED - static Result - call(State const& state,It0 const& it0,F f) - { - typedef typename - result_of::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION< - It0 const - >::type - It1; - It1 it1 = fusion::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION(it0); - typedef typename - result_of::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION< - It1 - >::type - It2; - It2 it2 = fusion::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION(it1); - typedef typename - result_of::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION< - It2 - >::type - It3; - It3 it3 = fusion::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION(it2); - - typedef typename BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME, _lvalue_state)::type State1; - State1 const state1=f(state,BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(it0)); - - typedef typename BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME, _lvalue_state)::type State2; - State2 const state2=f(state1,BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(it1)); - - typedef typename BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME, _lvalue_state)::type State3; - State3 const state3=f(state2,BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(it2)); - - return BOOST_PP_CAT(unrolled_,BOOST_FUSION_FOLD_NAME)< - Result - , N-4 - >::call( - f(state3,BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(it3)), - fusion::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION(it3), - f); - } - }; - - template - struct BOOST_PP_CAT(unrolled_,BOOST_FUSION_FOLD_NAME) - { - template - BOOST_FUSION_GPU_ENABLED - static Result - call(State const& state,It0 const& it0,F f) - { - typedef typename - result_of::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION< - It0 const - >::type - It1; - It1 it1 = fusion::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION(it0); - typedef typename - result_of::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION< - It1 - >::type - It2; - It2 it2 = fusion::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION(it1); - - typedef typename BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME, _lvalue_state)::type State1; - State1 const state1=f(state,BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(it0)); - - typedef typename BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME, _lvalue_state)::type State2; - State2 const state2=f(state1,BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(it1)); - - return f(state2,BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(it2)); - } - }; - - template - struct BOOST_PP_CAT(unrolled_,BOOST_FUSION_FOLD_NAME) - { - template - BOOST_FUSION_GPU_ENABLED - static Result - call(State const& state,It0 const& it0,F f) - { - typedef typename BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME, _lvalue_state)::type State1; - State1 const state1=f(state,BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(it0)); - - return f( - state1, - BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM( - fusion::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION(it0))); - } - }; - - template - struct BOOST_PP_CAT(unrolled_,BOOST_FUSION_FOLD_NAME) - { - template - BOOST_FUSION_GPU_ENABLED - static Result - call(State const& state,It0 const& it0,F f) - { - return f(state, - BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(it0)); - } - }; - - template - struct BOOST_PP_CAT(unrolled_,BOOST_FUSION_FOLD_NAME) - { - template - BOOST_FUSION_GPU_ENABLED - static Result - call(State const& state,It0 const&, F) - { - return static_cast(state); - } - }; - - template - struct BOOST_PP_CAT(result_of_unrolled_,BOOST_FUSION_FOLD_NAME) - { - typedef typename - BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME, _lvalue_state)< - StateRef - , It0 const - , F - >::type - rest1; - typedef typename - result_of::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION< - It0 const - >::type - it1; - typedef typename - BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME, _lvalue_state)< - rest1 - , it1 - , F - >::type - rest2; - typedef typename - result_of::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION::type - it2; - typedef typename - BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME, _lvalue_state)< - rest2 - , it2 - , F - >::type - rest3; - typedef typename - result_of::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION::type - it3; - - typedef typename - BOOST_PP_CAT(result_of_unrolled_,BOOST_FUSION_FOLD_NAME)< - typename BOOST_PP_CAT( - BOOST_FUSION_FOLD_NAME, _lvalue_state)< - rest3 - , it3 - , F - >::type - , typename result_of::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION< - it3 - >::type - , F - , N-4 - >::type - type; - }; - - template - struct BOOST_PP_CAT(result_of_unrolled_,BOOST_FUSION_FOLD_NAME)< - StateRef - , It0 - , F - , 3 - > - { - typedef typename - BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME, _lvalue_state)< - StateRef - , It0 const - , F - >::type - rest1; - typedef typename - result_of::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION< - It0 const - >::type - it1; - - typedef typename - BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME, _lvalue_state)< - typename BOOST_PP_CAT( - BOOST_FUSION_FOLD_NAME, _lvalue_state)< - rest1 - , it1 - , F - >::type - , typename result_of::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION< - it1 const - >::type const - , F - >::type - type; - }; - - template - struct BOOST_PP_CAT(result_of_unrolled_,BOOST_FUSION_FOLD_NAME)< - StateRef - , It0 - , F - , 2 - > - : BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME, _lvalue_state)< - typename BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME, _lvalue_state)< - StateRef - , It0 const - , F - >::type - , typename result_of::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION< - It0 const - >::type const - , F - > - {}; - - template - struct BOOST_PP_CAT(result_of_unrolled_,BOOST_FUSION_FOLD_NAME)< - StateRef - , It0 - , F - , 1 - > - : BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME, _lvalue_state)< - StateRef - , It0 const - , F - > - {}; - - template - struct BOOST_PP_CAT(result_of_unrolled_,BOOST_FUSION_FOLD_NAME)< - StateRef - , It0 - , F - , 0 - > - { - typedef StateRef type; - }; - - template - struct BOOST_PP_CAT(result_of_first_unrolled,BOOST_FUSION_FOLD_NAME) - { - typedef typename - BOOST_PP_CAT(result_of_unrolled_,BOOST_FUSION_FOLD_NAME)< - typename boost::result_of< - F( - StateRef, - BOOST_FUSION_FOLD_IMPL_INVOKE_IT_META_TRANSFORM( - It0 const) - ) - >::type - , typename result_of::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION< - It0 const - >::type - , F - , SeqSize-1 - >::type - type; - }; - - template - struct BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME,_impl) - { - typedef typename - BOOST_PP_CAT( - result_of_first_unrolled,BOOST_FUSION_FOLD_NAME)< - StateRef - , BOOST_FUSION_FOLD_IMPL_FIRST_IT_META_TRANSFORM( - typename result_of::BOOST_FUSION_FOLD_IMPL_FIRST_IT_FUNCTION::type - ) - , F - , SeqSize - >::type - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(StateRef state, Seq& seq, F f) - { - typedef - BOOST_PP_CAT(unrolled_,BOOST_FUSION_FOLD_NAME)< - type - , SeqSize - > - unrolled_impl; - - return unrolled_impl::call( - state, - BOOST_FUSION_FOLD_IMPL_FIRST_IT_TRANSFORM( - fusion::BOOST_FUSION_FOLD_IMPL_FIRST_IT_FUNCTION(seq)), - f); - } - }; - - template - struct BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME,_impl)<0,StateRef,Seq,F> - { - typedef StateRef type; - - BOOST_FUSION_GPU_ENABLED - static StateRef - call(StateRef state, Seq&, F) - { - return static_cast(state); - } - }; - - template - struct BOOST_PP_CAT(result_of_, BOOST_FUSION_FOLD_NAME) - : BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME,_impl)< - result_of::size::value - , typename add_reference< - typename add_const::type - >::type - , Seq - , F - > - {}; - } - - namespace result_of - { - template - struct BOOST_FUSION_FOLD_NAME - : detail::BOOST_PP_CAT(result_of_, BOOST_FUSION_FOLD_NAME)< - Seq - , State - , F - , traits::is_segmented::type::value - > - {}; - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::BOOST_FUSION_FOLD_NAME< - Seq - , State const - , F - >::type - BOOST_FUSION_FOLD_NAME(Seq& seq, State const& state, F f) - { - return result_of::BOOST_FUSION_FOLD_NAME::call( - state, - seq, - f); - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::BOOST_FUSION_FOLD_NAME< - Seq const - , State const - , F - >::type - BOOST_FUSION_FOLD_NAME(Seq const& seq, State const& state, F f) - { - return result_of::BOOST_FUSION_FOLD_NAME::call( - state, - seq, - f); - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::BOOST_FUSION_FOLD_NAME< - Seq - , State const - , F - >::type - BOOST_FUSION_FOLD_NAME(Seq& seq, State& state, F f) - { - return result_of::BOOST_FUSION_FOLD_NAME::call( - state, - seq, - f); - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::BOOST_FUSION_FOLD_NAME< - Seq const - , State const - , F - >::type - BOOST_FUSION_FOLD_NAME(Seq const& seq, State& state, F f) - { - return result_of::BOOST_FUSION_FOLD_NAME::call( - state, - seq, - f); - } -}} - -#undef BOOST_FUSION_FOLD_NAME -#undef BOOST_FUSION_FOLD_IMPL_FIRST_IT_FUNCTION -#undef BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION -#undef BOOST_FUSION_FOLD_IMPL_FIRST_IT_META_TRANSFORM -#undef BOOST_FUSION_FOLD_IMPL_FIRST_IT_TRANSFORM -#undef BOOST_FUSION_FOLD_IMPL_INVOKE_IT_META_TRANSFORM -#undef BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM diff --git a/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/detail/for_each.hpp b/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/detail/for_each.hpp deleted file mode 100644 index 81b3ab7028..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/detail/for_each.hpp +++ /dev/null @@ -1,149 +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_FOR_EACH_05052005_1028) -#define FUSION_FOR_EACH_05052005_1028 - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { -namespace detail -{ - template - BOOST_FUSION_GPU_ENABLED - inline void - for_each_linear(First const&, Last const&, F const&, mpl::true_) - { - } - - template - BOOST_FUSION_GPU_ENABLED - inline void - for_each_linear(First const& first, Last const& last, F const& f, mpl::false_) - { - f(*first); - detail::for_each_linear(fusion::next(first), last, f, - result_of::equal_to::type, Last>()); - } - - - template - BOOST_FUSION_GPU_ENABLED - inline void - for_each_dispatch(Sequence& seq, F const& f, Tag) - { - detail::for_each_linear( - fusion::begin(seq) - , fusion::end(seq) - , f - , result_of::equal_to< - typename result_of::begin::type - , typename result_of::end::type>()); - } - - template - struct for_each_unrolled - { - template - BOOST_FUSION_GPU_ENABLED - static void call(I0 const& i0, F const& f) - { - f(*i0); - typedef typename result_of::next::type I1; - I1 i1(fusion::next(i0)); - f(*i1); - typedef typename result_of::next::type I2; - I2 i2(fusion::next(i1)); - f(*i2); - typedef typename result_of::next::type I3; - I3 i3(fusion::next(i2)); - f(*i3); - for_each_unrolled::call(fusion::next(i3), f); - } - }; - - template<> - struct for_each_unrolled<3> - { - template - BOOST_FUSION_GPU_ENABLED - static void call(I0 const& i0, F const& f) - { - f(*i0); - typedef typename result_of::next::type I1; - I1 i1(fusion::next(i0)); - f(*i1); - typedef typename result_of::next::type I2; - I2 i2(fusion::next(i1)); - f(*i2); - } - }; - - template<> - struct for_each_unrolled<2> - { - template - BOOST_FUSION_GPU_ENABLED - static void call(I0 const& i0, F const& f) - { - f(*i0); - typedef typename result_of::next::type I1; - I1 i1(fusion::next(i0)); - f(*i1); - } - }; - - template<> - struct for_each_unrolled<1> - { - template - BOOST_FUSION_GPU_ENABLED - static void call(I0 const& i0, F const& f) - { - f(*i0); - } - }; - - template<> - struct for_each_unrolled<0> - { - template - BOOST_FUSION_GPU_ENABLED - static void call(It const&, F const&) - { - } - }; - - template - BOOST_FUSION_GPU_ENABLED - inline void - for_each_dispatch(Sequence& seq, F const& f, random_access_traversal_tag) - { - typedef typename result_of::begin::type begin; - typedef typename result_of::end::type end; - for_each_unrolled::type::value>::call(fusion::begin(seq), f); - } - - template - BOOST_FUSION_GPU_ENABLED - inline void - for_each(Sequence& seq, F const& f, mpl::false_) // unsegmented implementation - { - detail::for_each_dispatch(seq, f, typename traits::category_of::type()); - } -}}} - - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/detail/preprocessed/fold.hpp b/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/detail/preprocessed/fold.hpp deleted file mode 100644 index 140c70b1c2..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/detail/preprocessed/fold.hpp +++ /dev/null @@ -1,392 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2007 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - namespace detail - { - template - struct fold_lvalue_state - : boost::result_of< - F( - typename add_reference::type>::type, - typename fusion::result_of::deref::type) - > - {}; - template - struct unrolled_fold - { - template - BOOST_FUSION_GPU_ENABLED - static Result - call(State const& state,It0 const& it0,F f) - { - typedef typename - result_of::next< - It0 const - >::type - It1; - It1 it1 = fusion::next(it0); - typedef typename - result_of::next< - It1 - >::type - It2; - It2 it2 = fusion::next(it1); - typedef typename - result_of::next< - It2 - >::type - It3; - It3 it3 = fusion::next(it2); - typedef typename fold_lvalue_state::type State1; - State1 const state1=f(state,fusion::deref(it0)); - typedef typename fold_lvalue_state::type State2; - State2 const state2=f(state1,fusion::deref(it1)); - typedef typename fold_lvalue_state::type State3; - State3 const state3=f(state2,fusion::deref(it2)); - return unrolled_fold< - Result - , N-4 - >::call( - f(state3,fusion::deref(it3)), - fusion::next(it3), - f); - } - }; - template - struct unrolled_fold - { - template - BOOST_FUSION_GPU_ENABLED - static Result - call(State const& state,It0 const& it0,F f) - { - typedef typename - result_of::next< - It0 const - >::type - It1; - It1 it1 = fusion::next(it0); - typedef typename - result_of::next< - It1 - >::type - It2; - It2 it2 = fusion::next(it1); - typedef typename fold_lvalue_state::type State1; - State1 const state1=f(state,fusion::deref(it0)); - typedef typename fold_lvalue_state::type State2; - State2 const state2=f(state1,fusion::deref(it1)); - return f(state2,fusion::deref(it2)); - } - }; - template - struct unrolled_fold - { - template - BOOST_FUSION_GPU_ENABLED - static Result - call(State const& state,It0 const& it0,F f) - { - typedef typename fold_lvalue_state::type State1; - State1 const state1=f(state,fusion::deref(it0)); - return f( - state1, - fusion::deref( fusion::next(it0))); - } - }; - template - struct unrolled_fold - { - template - BOOST_FUSION_GPU_ENABLED - static Result - call(State const& state,It0 const& it0,F f) - { - return f(state, - fusion::deref(it0)); - } - }; - template - struct unrolled_fold - { - template - BOOST_FUSION_GPU_ENABLED - static Result - call(State const& state,It0 const&, F) - { - return static_cast(state); - } - }; - template - struct result_of_unrolled_fold - { - typedef typename - fold_lvalue_state< - StateRef - , It0 const - , F - >::type - rest1; - typedef typename - result_of::next< - It0 const - >::type - it1; - typedef typename - fold_lvalue_state< - rest1 - , it1 - , F - >::type - rest2; - typedef typename - result_of::next::type - it2; - typedef typename - fold_lvalue_state< - rest2 - , it2 - , F - >::type - rest3; - typedef typename - result_of::next::type - it3; - typedef typename - result_of_unrolled_fold< - typename fold_lvalue_state< - rest3 - , it3 - , F - >::type - , typename result_of::next< - it3 - >::type - , F - , N-4 - >::type - type; - }; - template - struct result_of_unrolled_fold< - StateRef - , It0 - , F - , 3 - > - { - typedef typename - fold_lvalue_state< - StateRef - , It0 const - , F - >::type - rest1; - typedef typename - result_of::next< - It0 const - >::type - it1; - typedef typename - fold_lvalue_state< - typename fold_lvalue_state< - rest1 - , it1 - , F - >::type - , typename result_of::next< - it1 const - >::type const - , F - >::type - type; - }; - template - struct result_of_unrolled_fold< - StateRef - , It0 - , F - , 2 - > - : fold_lvalue_state< - typename fold_lvalue_state< - StateRef - , It0 const - , F - >::type - , typename result_of::next< - It0 const - >::type const - , F - > - {}; - template - struct result_of_unrolled_fold< - StateRef - , It0 - , F - , 1 - > - : fold_lvalue_state< - StateRef - , It0 const - , F - > - {}; - template - struct result_of_unrolled_fold< - StateRef - , It0 - , F - , 0 - > - { - typedef StateRef type; - }; - template - struct result_of_first_unrolledfold - { - typedef typename - result_of_unrolled_fold< - typename boost::result_of< - F( - StateRef, - typename fusion::result_of::deref< It0 const>::type - ) - >::type - , typename result_of::next< - It0 const - >::type - , F - , SeqSize-1 - >::type - type; - }; - template - struct fold_impl - { - typedef typename - result_of_first_unrolledfold< - StateRef - , typename result_of::begin::type - , F - , SeqSize - >::type - type; - BOOST_FUSION_GPU_ENABLED - static type - call(StateRef state, Seq& seq, F f) - { - typedef - unrolled_fold< - type - , SeqSize - > - unrolled_impl; - return unrolled_impl::call( - state, - fusion::begin(seq), - f); - } - }; - template - struct fold_impl<0,StateRef,Seq,F> - { - typedef StateRef type; - BOOST_FUSION_GPU_ENABLED - static StateRef - call(StateRef state, Seq&, F) - { - return static_cast(state); - } - }; - template - struct result_of_fold - : fold_impl< - result_of::size::value - , typename add_reference< - typename add_const::type - >::type - , Seq - , F - > - {}; - } - namespace result_of - { - template - struct fold - : detail::result_of_fold< - Seq - , State - , F - , traits::is_segmented::type::value - > - {}; - } - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::fold< - Seq - , State const - , F - >::type - fold(Seq& seq, State const& state, F f) - { - return result_of::fold::call( - state, - seq, - f); - } - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::fold< - Seq const - , State const - , F - >::type - fold(Seq const& seq, State const& state, F f) - { - return result_of::fold::call( - state, - seq, - f); - } - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::fold< - Seq - , State const - , F - >::type - fold(Seq& seq, State& state, F f) - { - return result_of::fold::call( - state, - seq, - f); - } - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::fold< - Seq const - , State const - , F - >::type - fold(Seq const& seq, State& state, F f) - { - return result_of::fold::call( - state, - seq, - f); - } -}} diff --git a/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/detail/preprocessed/iter_fold.hpp b/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/detail/preprocessed/iter_fold.hpp deleted file mode 100644 index 1211550d39..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/detail/preprocessed/iter_fold.hpp +++ /dev/null @@ -1,391 +0,0 @@ -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - namespace detail - { - template - struct iter_fold_lvalue_state - : boost::result_of< - F( - typename add_reference::type>::type, - It&) - > - {}; - template - struct unrolled_iter_fold - { - template - BOOST_FUSION_GPU_ENABLED - static Result - call(State const& state,It0 const& it0,F f) - { - typedef typename - result_of::next< - It0 const - >::type - It1; - It1 it1 = fusion::next(it0); - typedef typename - result_of::next< - It1 - >::type - It2; - It2 it2 = fusion::next(it1); - typedef typename - result_of::next< - It2 - >::type - It3; - It3 it3 = fusion::next(it2); - typedef typename iter_fold_lvalue_state::type State1; - State1 const state1=f(state,it0); - typedef typename iter_fold_lvalue_state::type State2; - State2 const state2=f(state1,it1); - typedef typename iter_fold_lvalue_state::type State3; - State3 const state3=f(state2,it2); - return unrolled_iter_fold< - Result - , N-4 - >::call( - f(state3,it3), - fusion::next(it3), - f); - } - }; - template - struct unrolled_iter_fold - { - template - BOOST_FUSION_GPU_ENABLED - static Result - call(State const& state,It0 const& it0,F f) - { - typedef typename - result_of::next< - It0 const - >::type - It1; - It1 it1 = fusion::next(it0); - typedef typename - result_of::next< - It1 - >::type - It2; - It2 it2 = fusion::next(it1); - typedef typename iter_fold_lvalue_state::type State1; - State1 const state1=f(state,it0); - typedef typename iter_fold_lvalue_state::type State2; - State2 const state2=f(state1,it1); - return f(state2,it2); - } - }; - template - struct unrolled_iter_fold - { - template - BOOST_FUSION_GPU_ENABLED - static Result - call(State const& state,It0 const& it0,F f) - { - typedef typename iter_fold_lvalue_state::type State1; - State1 const state1=f(state,it0); - return f( - state1, - fusion::next(it0)); - } - }; - template - struct unrolled_iter_fold - { - template - BOOST_FUSION_GPU_ENABLED - static Result - call(State const& state,It0 const& it0,F f) - { - return f(state, - it0); - } - }; - template - struct unrolled_iter_fold - { - template - BOOST_FUSION_GPU_ENABLED - static Result - call(State const& state,It0 const&, F) - { - return static_cast(state); - } - }; - template - struct result_of_unrolled_iter_fold - { - typedef typename - iter_fold_lvalue_state< - StateRef - , It0 const - , F - >::type - rest1; - typedef typename - result_of::next< - It0 const - >::type - it1; - typedef typename - iter_fold_lvalue_state< - rest1 - , it1 - , F - >::type - rest2; - typedef typename - result_of::next::type - it2; - typedef typename - iter_fold_lvalue_state< - rest2 - , it2 - , F - >::type - rest3; - typedef typename - result_of::next::type - it3; - typedef typename - result_of_unrolled_iter_fold< - typename iter_fold_lvalue_state< - rest3 - , it3 - , F - >::type - , typename result_of::next< - it3 - >::type - , F - , N-4 - >::type - type; - }; - template - struct result_of_unrolled_iter_fold< - StateRef - , It0 - , F - , 3 - > - { - typedef typename - iter_fold_lvalue_state< - StateRef - , It0 const - , F - >::type - rest1; - typedef typename - result_of::next< - It0 const - >::type - it1; - typedef typename - iter_fold_lvalue_state< - typename iter_fold_lvalue_state< - rest1 - , it1 - , F - >::type - , typename result_of::next< - it1 const - >::type const - , F - >::type - type; - }; - template - struct result_of_unrolled_iter_fold< - StateRef - , It0 - , F - , 2 - > - : iter_fold_lvalue_state< - typename iter_fold_lvalue_state< - StateRef - , It0 const - , F - >::type - , typename result_of::next< - It0 const - >::type const - , F - > - {}; - template - struct result_of_unrolled_iter_fold< - StateRef - , It0 - , F - , 1 - > - : iter_fold_lvalue_state< - StateRef - , It0 const - , F - > - {}; - template - struct result_of_unrolled_iter_fold< - StateRef - , It0 - , F - , 0 - > - { - typedef StateRef type; - }; - template - struct result_of_first_unrollediter_fold - { - typedef typename - result_of_unrolled_iter_fold< - typename boost::result_of< - F( - StateRef, - It0 const& - ) - >::type - , typename result_of::next< - It0 const - >::type - , F - , SeqSize-1 - >::type - type; - }; - template - struct iter_fold_impl - { - typedef typename - result_of_first_unrollediter_fold< - StateRef - , typename result_of::begin::type - , F - , SeqSize - >::type - type; - BOOST_FUSION_GPU_ENABLED - static type - call(StateRef state, Seq& seq, F f) - { - typedef - unrolled_iter_fold< - type - , SeqSize - > - unrolled_impl; - return unrolled_impl::call( - state, - fusion::begin(seq), - f); - } - }; - template - struct iter_fold_impl<0,StateRef,Seq,F> - { - typedef StateRef type; - BOOST_FUSION_GPU_ENABLED - static StateRef - call(StateRef state, Seq&, F) - { - return static_cast(state); - } - }; - template - struct result_of_iter_fold - : iter_fold_impl< - result_of::size::value - , typename add_reference< - typename add_const::type - >::type - , Seq - , F - > - {}; - } - namespace result_of - { - template - struct iter_fold - : detail::result_of_iter_fold< - Seq - , State - , F - , traits::is_segmented::type::value - > - {}; - } - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::iter_fold< - Seq - , State const - , F - >::type - iter_fold(Seq& seq, State const& state, F f) - { - return result_of::iter_fold::call( - state, - seq, - f); - } - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::iter_fold< - Seq const - , State const - , F - >::type - iter_fold(Seq const& seq, State const& state, F f) - { - return result_of::iter_fold::call( - state, - seq, - f); - } - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::iter_fold< - Seq - , State const - , F - >::type - iter_fold(Seq& seq, State& state, F f) - { - return result_of::iter_fold::call( - state, - seq, - f); - } - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::iter_fold< - Seq const - , State const - , F - >::type - iter_fold(Seq const& seq, State& state, F f) - { - return result_of::iter_fold::call( - state, - seq, - f); - } -}} diff --git a/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_fold.hpp b/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_fold.hpp deleted file mode 100644 index cc78231a50..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_fold.hpp +++ /dev/null @@ -1,391 +0,0 @@ -/*============================================================================= - Copyright (c) 2009-2010 Christopher Schmidt - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - namespace detail - { - template - struct reverse_fold_lvalue_state - : boost::result_of< - F( - typename add_reference::type>::type, - typename fusion::result_of::deref::type) - > - {}; - template - struct unrolled_reverse_fold - { - template - BOOST_FUSION_GPU_ENABLED - static Result - call(State const& state,It0 const& it0,F f) - { - typedef typename - result_of::prior< - It0 const - >::type - It1; - It1 it1 = fusion::prior(it0); - typedef typename - result_of::prior< - It1 - >::type - It2; - It2 it2 = fusion::prior(it1); - typedef typename - result_of::prior< - It2 - >::type - It3; - It3 it3 = fusion::prior(it2); - typedef typename reverse_fold_lvalue_state::type State1; - State1 const state1=f(state,fusion::deref(it0)); - typedef typename reverse_fold_lvalue_state::type State2; - State2 const state2=f(state1,fusion::deref(it1)); - typedef typename reverse_fold_lvalue_state::type State3; - State3 const state3=f(state2,fusion::deref(it2)); - return unrolled_reverse_fold< - Result - , N-4 - >::call( - f(state3,fusion::deref(it3)), - fusion::prior(it3), - f); - } - }; - template - struct unrolled_reverse_fold - { - template - BOOST_FUSION_GPU_ENABLED - static Result - call(State const& state,It0 const& it0,F f) - { - typedef typename - result_of::prior< - It0 const - >::type - It1; - It1 it1 = fusion::prior(it0); - typedef typename - result_of::prior< - It1 - >::type - It2; - It2 it2 = fusion::prior(it1); - typedef typename reverse_fold_lvalue_state::type State1; - State1 const state1=f(state,fusion::deref(it0)); - typedef typename reverse_fold_lvalue_state::type State2; - State2 const state2=f(state1,fusion::deref(it1)); - return f(state2,fusion::deref(it2)); - } - }; - template - struct unrolled_reverse_fold - { - template - BOOST_FUSION_GPU_ENABLED - static Result - call(State const& state,It0 const& it0,F f) - { - typedef typename reverse_fold_lvalue_state::type State1; - State1 const state1=f(state,fusion::deref(it0)); - return f( - state1, - fusion::deref( fusion::prior(it0))); - } - }; - template - struct unrolled_reverse_fold - { - template - BOOST_FUSION_GPU_ENABLED - static Result - call(State const& state,It0 const& it0,F f) - { - return f(state, - fusion::deref(it0)); - } - }; - template - struct unrolled_reverse_fold - { - template - BOOST_FUSION_GPU_ENABLED - static Result - call(State const& state,It0 const&, F) - { - return static_cast(state); - } - }; - template - struct result_of_unrolled_reverse_fold - { - typedef typename - reverse_fold_lvalue_state< - StateRef - , It0 const - , F - >::type - rest1; - typedef typename - result_of::prior< - It0 const - >::type - it1; - typedef typename - reverse_fold_lvalue_state< - rest1 - , it1 - , F - >::type - rest2; - typedef typename - result_of::prior::type - it2; - typedef typename - reverse_fold_lvalue_state< - rest2 - , it2 - , F - >::type - rest3; - typedef typename - result_of::prior::type - it3; - typedef typename - result_of_unrolled_reverse_fold< - typename reverse_fold_lvalue_state< - rest3 - , it3 - , F - >::type - , typename result_of::prior< - it3 - >::type - , F - , N-4 - >::type - type; - }; - template - struct result_of_unrolled_reverse_fold< - StateRef - , It0 - , F - , 3 - > - { - typedef typename - reverse_fold_lvalue_state< - StateRef - , It0 const - , F - >::type - rest1; - typedef typename - result_of::prior< - It0 const - >::type - it1; - typedef typename - reverse_fold_lvalue_state< - typename reverse_fold_lvalue_state< - rest1 - , it1 - , F - >::type - , typename result_of::prior< - it1 const - >::type const - , F - >::type - type; - }; - template - struct result_of_unrolled_reverse_fold< - StateRef - , It0 - , F - , 2 - > - : reverse_fold_lvalue_state< - typename reverse_fold_lvalue_state< - StateRef - , It0 const - , F - >::type - , typename result_of::prior< - It0 const - >::type const - , F - > - {}; - template - struct result_of_unrolled_reverse_fold< - StateRef - , It0 - , F - , 1 - > - : reverse_fold_lvalue_state< - StateRef - , It0 const - , F - > - {}; - template - struct result_of_unrolled_reverse_fold< - StateRef - , It0 - , F - , 0 - > - { - typedef StateRef type; - }; - template - struct result_of_first_unrolledreverse_fold - { - typedef typename - result_of_unrolled_reverse_fold< - typename boost::result_of< - F( - StateRef, - typename fusion::result_of::deref< It0 const>::type - ) - >::type - , typename result_of::prior< - It0 const - >::type - , F - , SeqSize-1 - >::type - type; - }; - template - struct reverse_fold_impl - { - typedef typename - result_of_first_unrolledreverse_fold< - StateRef - , typename fusion::result_of::prior< typename result_of::end::type >::type - , F - , SeqSize - >::type - type; - BOOST_FUSION_GPU_ENABLED - static type - call(StateRef state, Seq& seq, F f) - { - typedef - unrolled_reverse_fold< - type - , SeqSize - > - unrolled_impl; - return unrolled_impl::call( - state, - fusion::prior( fusion::end(seq)), - f); - } - }; - template - struct reverse_fold_impl<0,StateRef,Seq,F> - { - typedef StateRef type; - BOOST_FUSION_GPU_ENABLED - static StateRef - call(StateRef state, Seq&, F) - { - return static_cast(state); - } - }; - template - struct result_of_reverse_fold - : reverse_fold_impl< - result_of::size::value - , typename add_reference< - typename add_const::type - >::type - , Seq - , F - > - {}; - } - namespace result_of - { - template - struct reverse_fold - : detail::result_of_reverse_fold< - Seq - , State - , F - , traits::is_segmented::type::value - > - {}; - } - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::reverse_fold< - Seq - , State const - , F - >::type - reverse_fold(Seq& seq, State const& state, F f) - { - return result_of::reverse_fold::call( - state, - seq, - f); - } - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::reverse_fold< - Seq const - , State const - , F - >::type - reverse_fold(Seq const& seq, State const& state, F f) - { - return result_of::reverse_fold::call( - state, - seq, - f); - } - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::reverse_fold< - Seq - , State const - , F - >::type - reverse_fold(Seq& seq, State& state, F f) - { - return result_of::reverse_fold::call( - state, - seq, - f); - } - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::reverse_fold< - Seq const - , State const - , F - >::type - reverse_fold(Seq const& seq, State& state, F f) - { - return result_of::reverse_fold::call( - state, - seq, - f); - } -}} diff --git a/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_iter_fold.hpp b/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_iter_fold.hpp deleted file mode 100644 index 3023a91239..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_iter_fold.hpp +++ /dev/null @@ -1,391 +0,0 @@ -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - namespace detail - { - template - struct reverse_iter_fold_lvalue_state - : boost::result_of< - F( - typename add_reference::type>::type, - It&) - > - {}; - template - struct unrolled_reverse_iter_fold - { - template - BOOST_FUSION_GPU_ENABLED - static Result - call(State const& state,It0 const& it0,F f) - { - typedef typename - result_of::prior< - It0 const - >::type - It1; - It1 it1 = fusion::prior(it0); - typedef typename - result_of::prior< - It1 - >::type - It2; - It2 it2 = fusion::prior(it1); - typedef typename - result_of::prior< - It2 - >::type - It3; - It3 it3 = fusion::prior(it2); - typedef typename reverse_iter_fold_lvalue_state::type State1; - State1 const state1=f(state,it0); - typedef typename reverse_iter_fold_lvalue_state::type State2; - State2 const state2=f(state1,it1); - typedef typename reverse_iter_fold_lvalue_state::type State3; - State3 const state3=f(state2,it2); - return unrolled_reverse_iter_fold< - Result - , N-4 - >::call( - f(state3,it3), - fusion::prior(it3), - f); - } - }; - template - struct unrolled_reverse_iter_fold - { - template - BOOST_FUSION_GPU_ENABLED - static Result - call(State const& state,It0 const& it0,F f) - { - typedef typename - result_of::prior< - It0 const - >::type - It1; - It1 it1 = fusion::prior(it0); - typedef typename - result_of::prior< - It1 - >::type - It2; - It2 it2 = fusion::prior(it1); - typedef typename reverse_iter_fold_lvalue_state::type State1; - State1 const state1=f(state,it0); - typedef typename reverse_iter_fold_lvalue_state::type State2; - State2 const state2=f(state1,it1); - return f(state2,it2); - } - }; - template - struct unrolled_reverse_iter_fold - { - template - BOOST_FUSION_GPU_ENABLED - static Result - call(State const& state,It0 const& it0,F f) - { - typedef typename reverse_iter_fold_lvalue_state::type State1; - State1 const state1=f(state,it0); - return f( - state1, - fusion::prior(it0)); - } - }; - template - struct unrolled_reverse_iter_fold - { - template - BOOST_FUSION_GPU_ENABLED - static Result - call(State const& state,It0 const& it0,F f) - { - return f(state, - it0); - } - }; - template - struct unrolled_reverse_iter_fold - { - template - BOOST_FUSION_GPU_ENABLED - static Result - call(State const& state,It0 const&, F) - { - return static_cast(state); - } - }; - template - struct result_of_unrolled_reverse_iter_fold - { - typedef typename - reverse_iter_fold_lvalue_state< - StateRef - , It0 const - , F - >::type - rest1; - typedef typename - result_of::prior< - It0 const - >::type - it1; - typedef typename - reverse_iter_fold_lvalue_state< - rest1 - , it1 - , F - >::type - rest2; - typedef typename - result_of::prior::type - it2; - typedef typename - reverse_iter_fold_lvalue_state< - rest2 - , it2 - , F - >::type - rest3; - typedef typename - result_of::prior::type - it3; - typedef typename - result_of_unrolled_reverse_iter_fold< - typename reverse_iter_fold_lvalue_state< - rest3 - , it3 - , F - >::type - , typename result_of::prior< - it3 - >::type - , F - , N-4 - >::type - type; - }; - template - struct result_of_unrolled_reverse_iter_fold< - StateRef - , It0 - , F - , 3 - > - { - typedef typename - reverse_iter_fold_lvalue_state< - StateRef - , It0 const - , F - >::type - rest1; - typedef typename - result_of::prior< - It0 const - >::type - it1; - typedef typename - reverse_iter_fold_lvalue_state< - typename reverse_iter_fold_lvalue_state< - rest1 - , it1 - , F - >::type - , typename result_of::prior< - it1 const - >::type const - , F - >::type - type; - }; - template - struct result_of_unrolled_reverse_iter_fold< - StateRef - , It0 - , F - , 2 - > - : reverse_iter_fold_lvalue_state< - typename reverse_iter_fold_lvalue_state< - StateRef - , It0 const - , F - >::type - , typename result_of::prior< - It0 const - >::type const - , F - > - {}; - template - struct result_of_unrolled_reverse_iter_fold< - StateRef - , It0 - , F - , 1 - > - : reverse_iter_fold_lvalue_state< - StateRef - , It0 const - , F - > - {}; - template - struct result_of_unrolled_reverse_iter_fold< - StateRef - , It0 - , F - , 0 - > - { - typedef StateRef type; - }; - template - struct result_of_first_unrolledreverse_iter_fold - { - typedef typename - result_of_unrolled_reverse_iter_fold< - typename boost::result_of< - F( - StateRef, - It0 const& - ) - >::type - , typename result_of::prior< - It0 const - >::type - , F - , SeqSize-1 - >::type - type; - }; - template - struct reverse_iter_fold_impl - { - typedef typename - result_of_first_unrolledreverse_iter_fold< - StateRef - , typename fusion::result_of::prior< typename result_of::end::type >::type - , F - , SeqSize - >::type - type; - BOOST_FUSION_GPU_ENABLED - static type - call(StateRef state, Seq& seq, F f) - { - typedef - unrolled_reverse_iter_fold< - type - , SeqSize - > - unrolled_impl; - return unrolled_impl::call( - state, - fusion::prior( fusion::end(seq)), - f); - } - }; - template - struct reverse_iter_fold_impl<0,StateRef,Seq,F> - { - typedef StateRef type; - BOOST_FUSION_GPU_ENABLED - static StateRef - call(StateRef state, Seq&, F) - { - return static_cast(state); - } - }; - template - struct result_of_reverse_iter_fold - : reverse_iter_fold_impl< - result_of::size::value - , typename add_reference< - typename add_const::type - >::type - , Seq - , F - > - {}; - } - namespace result_of - { - template - struct reverse_iter_fold - : detail::result_of_reverse_iter_fold< - Seq - , State - , F - , traits::is_segmented::type::value - > - {}; - } - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::reverse_iter_fold< - Seq - , State const - , F - >::type - reverse_iter_fold(Seq& seq, State const& state, F f) - { - return result_of::reverse_iter_fold::call( - state, - seq, - f); - } - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::reverse_iter_fold< - Seq const - , State const - , F - >::type - reverse_iter_fold(Seq const& seq, State const& state, F f) - { - return result_of::reverse_iter_fold::call( - state, - seq, - f); - } - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::reverse_iter_fold< - Seq - , State const - , F - >::type - reverse_iter_fold(Seq& seq, State& state, F f) - { - return result_of::reverse_iter_fold::call( - state, - seq, - f); - } - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::reverse_iter_fold< - Seq const - , State const - , F - >::type - reverse_iter_fold(Seq const& seq, State& state, F f) - { - return result_of::reverse_iter_fold::call( - state, - seq, - f); - } -}} diff --git a/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/fold.hpp b/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/fold.hpp deleted file mode 100644 index a83b33b15a..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/fold.hpp +++ /dev/null @@ -1,64 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2007 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_ALGORITHM_ITERATION_FOLD_HPP -#define BOOST_FUSION_ALGORITHM_ITERATION_FOLD_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/fold.hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2007 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -#include - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#include - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/for_each.hpp b/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/for_each.hpp deleted file mode 100644 index 836f4810a6..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/for_each.hpp +++ /dev/null @@ -1,56 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - Copyright (c) 2007 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(BOOST_FUSION_FOR_EACH_20070527_0943) -#define BOOST_FUSION_FOR_EACH_20070527_0943 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct for_each - { - typedef void type; - }; - } - - template - BOOST_FUSION_GPU_ENABLED - inline - typename - enable_if< - traits::is_sequence - , void - >::type - for_each(Sequence& seq, F const& f) - { - detail::for_each(seq, f, typename traits::is_segmented::type()); - } - - template - BOOST_FUSION_GPU_ENABLED - inline - typename - enable_if< - traits::is_sequence - , void - >::type - for_each(Sequence const& seq, F const& f) - { - detail::for_each(seq, f, typename traits::is_segmented::type()); - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/iter_fold.hpp b/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/iter_fold.hpp deleted file mode 100644 index 4c03cdf80f..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/iter_fold.hpp +++ /dev/null @@ -1,65 +0,0 @@ -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - 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_FUSION_ALGORITHM_ITERATION_ITER_FOLD_HPP -#define BOOST_FUSION_ALGORITHM_ITERATION_ITER_FOLD_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define BOOST_FUSION_ITER_FOLD - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/iter_fold.hpp") -#endif - -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - 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 - -#include - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#undef BOOST_FUSION_ITER_FOLD - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/reverse_fold.hpp b/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/reverse_fold.hpp deleted file mode 100644 index 76e6bf2575..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/reverse_fold.hpp +++ /dev/null @@ -1,65 +0,0 @@ -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - 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_FUSION_ALGORITHM_ITERATION_REVERSE_FOLD_HPP -#define BOOST_FUSION_ALGORITHM_ITERATION_REVERSE_FOLD_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define BOOST_FUSION_REVERSE_FOLD - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/reverse_fold.hpp") -#endif - -/*============================================================================= - Copyright (c) 2009-2010 Christopher Schmidt - 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 - -#include - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#undef BOOST_FUSION_REVERSE_FOLD - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/reverse_iter_fold.hpp b/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/reverse_iter_fold.hpp deleted file mode 100644 index e49f8b8310..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/algorithm/iteration/reverse_iter_fold.hpp +++ /dev/null @@ -1,66 +0,0 @@ -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - 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_FUSION_ALGORITHM_ITERATION_REVERSE_ITER_FOLD_HPP -#define BOOST_FUSION_ALGORITHM_ITERATION_REVERSE_ITER_FOLD_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define BOOST_FUSION_REVERSE_FOLD -#define BOOST_FUSION_ITER_FOLD - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/reverse_iter_fold.hpp") -#endif - -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - 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 - -#include - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#undef BOOST_FUSION_REVERSE_FOLD -#undef BOOST_FUSION_ITER_FOLD - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/algorithm/query/all.hpp b/bundled/boost-1.56.0/include/boost/fusion/algorithm/query/all.hpp deleted file mode 100644 index d30d7952f7..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/algorithm/query/all.hpp +++ /dev/null @@ -1,36 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2007 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(BOOST_FUSION_ALL_05052005_1238) -#define BOOST_FUSION_ALL_05052005_1238 - -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct all - { - typedef bool type; - }; - } - - template - BOOST_FUSION_GPU_ENABLED - inline bool - all(Sequence const& seq, F f) - { - return detail::all(seq, f, typename traits::category_of::type()); - } -}} - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/algorithm/query/any.hpp b/bundled/boost-1.56.0/include/boost/fusion/algorithm/query/any.hpp deleted file mode 100644 index 4ab971485e..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/algorithm/query/any.hpp +++ /dev/null @@ -1,37 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005 Eric Niebler - Copyright (c) 2007 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_ANY_05052005_1230) -#define FUSION_ANY_05052005_1230 - -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct any - { - typedef bool type; - }; - } - - template - BOOST_FUSION_GPU_ENABLED - inline bool - any(Sequence const& seq, F f) - { - return detail::any(seq, f, typename traits::category_of::type()); - } -}} - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/algorithm/query/count.hpp b/bundled/boost-1.56.0/include/boost/fusion/algorithm/query/count.hpp deleted file mode 100644 index a86bf4fe13..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/algorithm/query/count.hpp +++ /dev/null @@ -1,44 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2007 - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_COUNT_09162005_0150) -#define BOOST_FUSION_COUNT_09162005_0150 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct count - { - typedef int type; - }; - } - - template - BOOST_FUSION_GPU_ENABLED - inline - typename - enable_if< - traits::is_sequence - , int - >::type - count(Sequence const& seq, T const& x) - { - detail::count_compare f(x); - return fusion::count_if(seq, f); - } -}} - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/algorithm/query/count_if.hpp b/bundled/boost-1.56.0/include/boost/fusion/algorithm/query/count_if.hpp deleted file mode 100644 index ac44ac649b..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/algorithm/query/count_if.hpp +++ /dev/null @@ -1,44 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2007 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(BOOST_FUSION_COUNT_IF_09162005_0137) -#define BOOST_FUSION_COUNT_IF_09162005_0137 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct count_if - { - typedef int type; - }; - } - - template - BOOST_FUSION_GPU_ENABLED - inline - typename - enable_if< - traits::is_sequence - , int - >::type - count_if(Sequence const& seq, F f) - { - return detail::count_if( - seq, f, typename traits::category_of::type()); - } -}} - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/algorithm/query/detail/all.hpp b/bundled/boost-1.56.0/include/boost/fusion/algorithm/query/detail/all.hpp deleted file mode 100644 index 9c7b4c2672..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/algorithm/query/detail/all.hpp +++ /dev/null @@ -1,137 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2007 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_ALL_05052005_1237) -#define FUSION_ALL_05052005_1237 - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template - BOOST_FUSION_GPU_ENABLED - inline bool - linear_all(First const&, Last const&, F const&, mpl::true_) - { - return true; - } - - template - BOOST_FUSION_GPU_ENABLED - inline bool - linear_all(First const& first, Last const& last, F& f, mpl::false_) - { - typename result_of::deref::type x = *first; - return f(x) && - detail::linear_all( - fusion::next(first) - , last - , f - , result_of::equal_to::type, Last>()); - } - - template - BOOST_FUSION_GPU_ENABLED - inline bool - all(Sequence const& seq, F f, Tag) - { - return detail::linear_all( - fusion::begin(seq) - , fusion::end(seq) - , f - , result_of::equal_to< - typename result_of::begin::type - , typename result_of::end::type>()); - } - - template - struct unrolled_all - { - template - BOOST_FUSION_GPU_ENABLED - static bool call(It const& it, F f) - { - return - f(*it) && - f(*fusion::advance_c<1>(it))&& - f(*fusion::advance_c<2>(it)) && - f(*fusion::advance_c<3>(it)) && - detail::unrolled_all::call(fusion::advance_c<4>(it), f); - } - }; - - template<> - struct unrolled_all<3> - { - template - BOOST_FUSION_GPU_ENABLED - static bool call(It const& it, F f) - { - return - f(*it) && - f(*fusion::advance_c<1>(it)) && - f(*fusion::advance_c<2>(it)); - } - }; - - template<> - struct unrolled_all<2> - { - template - BOOST_FUSION_GPU_ENABLED - static bool call(It const& it, F f) - { - return - f(*it) && - f(*fusion::advance_c<1>(it)); - } - }; - - template<> - struct unrolled_all<1> - { - template - BOOST_FUSION_GPU_ENABLED - static bool call(It const& it, F f) - { - return f(*it); - } - }; - - template<> - struct unrolled_all<0> - { - template - BOOST_FUSION_GPU_ENABLED - static bool call(It const& /*it*/, F /*f*/) - { - return true; - } - }; - - template - BOOST_FUSION_GPU_ENABLED - inline bool - all(Sequence const& seq, F f, random_access_traversal_tag) - { - typedef typename result_of::begin::type begin; - typedef typename result_of::end::type end; - return detail::unrolled_all::type::value>::call( - fusion::begin(seq), f); - } -}}} - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/algorithm/query/detail/any.hpp b/bundled/boost-1.56.0/include/boost/fusion/algorithm/query/detail/any.hpp deleted file mode 100644 index 4e0536836c..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/algorithm/query/detail/any.hpp +++ /dev/null @@ -1,140 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005 Eric Niebler - Copyright (c) 2007 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_ANY_05052005_1229) -#define FUSION_ANY_05052005_1229 - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { - struct random_access_traversal_tag; -namespace detail -{ - template - BOOST_FUSION_GPU_ENABLED - inline bool - linear_any(First const&, Last const&, F const&, mpl::true_) - { - return false; - } - - template - BOOST_FUSION_GPU_ENABLED - inline bool - linear_any(First const& first, Last const& last, F& f, mpl::false_) - { - typename result_of::deref::type x = *first; - return f(x) || - detail::linear_any( - fusion::next(first) - , last - , f - , result_of::equal_to::type, Last>()); - } - - template - BOOST_FUSION_GPU_ENABLED - inline bool - any(Sequence const& seq, F f, Tag) - { - return detail::linear_any( - fusion::begin(seq) - , fusion::end(seq) - , f - , result_of::equal_to< - typename result_of::begin::type - , typename result_of::end::type>()); - } - - template - struct unrolled_any - { - template - BOOST_FUSION_GPU_ENABLED - static bool call(It const& it, F f) - { - return - f(*it) || - f(*fusion::advance_c<1>(it))|| - f(*fusion::advance_c<2>(it)) || - f(*fusion::advance_c<3>(it)) || - detail::unrolled_any::call(fusion::advance_c<4>(it), f); - } - }; - - template<> - struct unrolled_any<3> - { - template - BOOST_FUSION_GPU_ENABLED - static bool call(It const& it, F f) - { - return - f(*it) || - f(*fusion::advance_c<1>(it)) || - f(*fusion::advance_c<2>(it)); - } - }; - - template<> - struct unrolled_any<2> - { - template - BOOST_FUSION_GPU_ENABLED - static bool call(It const& it, F f) - { - return - f(*it) || - f(*fusion::advance_c<1>(it)); - } - }; - - template<> - struct unrolled_any<1> - { - template - BOOST_FUSION_GPU_ENABLED - static bool call(It const& it, F f) - { - return f(*it); - } - }; - - template<> - struct unrolled_any<0> - { - template - BOOST_FUSION_GPU_ENABLED - static bool call(It const&, F) - { - return false; - } - }; - - template - BOOST_FUSION_GPU_ENABLED - inline bool - any(Sequence const& seq, F f, random_access_traversal_tag) - { - typedef typename result_of::begin::type begin; - typedef typename result_of::end::type end; - return detail::unrolled_any::type::value>::call( - fusion::begin(seq), f); - } -}}} - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/algorithm/query/detail/count.hpp b/bundled/boost-1.56.0/include/boost/fusion/algorithm/query/detail/count.hpp deleted file mode 100644 index 5e046f6b5d..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/algorithm/query/detail/count.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(FUSION_COUNT_09162005_0158) -#define FUSION_COUNT_09162005_0158 - -#include -#include -#include -#include -#include - -#if defined (BOOST_MSVC) -# pragma warning(push) -# pragma warning (disable: 4512) // assignment operator could not be generated. -#endif - -namespace boost { namespace fusion { namespace detail -{ - template - struct compare_convertible; - - // T1 is convertible to T2 or vice versa - template <> - struct compare_convertible - { - template - BOOST_FUSION_GPU_ENABLED - static bool - call(T1 const& x, T2 const& y) - { - return x == y; - } - }; - - // T1 is NOT convertible to T2 NOR vice versa - template <> - struct compare_convertible - { - template - BOOST_FUSION_GPU_ENABLED - static bool - call(T1 const&, T2 const&) - { - return false; - } - }; - - template - struct count_compare - { - typedef typename detail::call_param::type param; - BOOST_FUSION_GPU_ENABLED - count_compare(param in_x) - : x(in_x) {} - - template - BOOST_FUSION_GPU_ENABLED - bool - operator()(T2 const& y) - { - return - compare_convertible< - mpl::or_< - is_convertible - , is_convertible - >::value - >::call(x, y); - } - - param x; - }; -}}} - -#if defined (BOOST_MSVC) -# pragma warning(pop) -#endif - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/algorithm/query/detail/count_if.hpp b/bundled/boost-1.56.0/include/boost/fusion/algorithm/query/detail/count_if.hpp deleted file mode 100644 index baf9fe9f4f..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/algorithm/query/detail/count_if.hpp +++ /dev/null @@ -1,180 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2007 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(BOOST_FUSION_COUNT_IF_09162005_0141) -#define BOOST_FUSION_COUNT_IF_09162005_0141 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { - struct random_access_traversal_tag; -namespace detail -{ - template - BOOST_FUSION_GPU_ENABLED - inline int - linear_count_if(First const&, Last const&, F const&, mpl::true_) - { - return 0; - } - - template - BOOST_FUSION_GPU_ENABLED - inline int - linear_count_if(First const& first, Last const& last, F& f, mpl::false_) - { - int n = - detail::linear_count_if( - fusion::next(first) - , last - , f - , result_of::equal_to::type, Last>()); - if (f(*first)) - ++n; - return n; - } - - template - BOOST_FUSION_GPU_ENABLED - inline int - count_if(Sequence const& seq, F f, Tag) - { - return detail::linear_count_if( - fusion::begin(seq) - , fusion::end(seq) - , f - , result_of::equal_to< - typename result_of::begin::type - , typename result_of::end::type>()); - } - - template - struct unrolled_count_if - { - template - BOOST_FUSION_GPU_ENABLED - static int call(I0 const& i0, F f) - { - int ct = unrolled_count_if:: - call(fusion::advance_c<4>(i0), f); - if(f(*i0)) - ++ct; - - typedef typename result_of::next::type I1; - I1 i1(fusion::next(i0)); - if(f(*i1)) - ++ct; - - typedef typename result_of::next::type I2; - I2 i2(fusion::next(i1)); - if(f(*i2)) - ++ct; - - typedef typename result_of::next::type I3; - I3 i3(fusion::next(i2)); - if(f(*i3)) - ++ct; - - return ct; - } - }; - - template<> - struct unrolled_count_if<3> - { - template - BOOST_FUSION_GPU_ENABLED - static int call(I0 const& i0, F f) - { - int ct = 0; - if(f(*i0)) - ++ct; - - typedef typename result_of::next::type I1; - I1 i1(fusion::next(i0)); - if(f(*i1)) - ++ct; - - typedef typename result_of::next::type I2; - I2 i2(fusion::next(i1)); - if(f(*i2)) - ++ct; - - return ct; - } - }; - - template<> - struct unrolled_count_if<2> - { - template - BOOST_FUSION_GPU_ENABLED - static int call(I0 const& i0, F f) - { - int ct = 0; - - if(f(*i0)) - ++ct; - - typedef typename result_of::next::type I1; - I1 i1(fusion::next(i0)); - if(f(*i1)) - ++ct; - - return ct; - } - }; - - template<> - struct unrolled_count_if<1> - { - template - BOOST_FUSION_GPU_ENABLED - static int call(I0 const& i0, F f) - { - int ct = 0; - if(f(*i0)) - ++ct; - return ct; - } - }; - - - template<> - struct unrolled_count_if<0> - { - template - BOOST_FUSION_GPU_ENABLED - static int call(I0 const&, F) - { - return 0; - } - }; - - template - BOOST_FUSION_GPU_ENABLED - inline int - count_if(Sequence const& seq, F f, random_access_traversal_tag) - { - typedef typename result_of::begin::type begin; - typedef typename result_of::end::type end; - return detail::unrolled_count_if::type::value>:: - call(fusion::begin(seq), f); - } -}}} - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/algorithm/query/detail/find_if.hpp b/bundled/boost-1.56.0/include/boost/fusion/algorithm/query/detail/find_if.hpp deleted file mode 100644 index 41baab4893..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/algorithm/query/detail/find_if.hpp +++ /dev/null @@ -1,260 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2007 Dan Marsden - 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) -==============================================================================*/ -#if !defined(FUSION_FIND_IF_05052005_1107) -#define FUSION_FIND_IF_05052005_1107 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { - struct random_access_traversal_tag; -namespace detail -{ - template - struct apply_filter - { - typedef typename mpl::apply1< - Pred, Iterator>::type type; - BOOST_STATIC_CONSTANT(int, value = type::value); - }; - - template - struct main_find_if; - - template - struct recursive_find_if - { - typedef typename - main_find_if< - typename result_of::next::type, Last, Pred - >::type - type; - }; - - template - struct main_find_if - { - typedef mpl::or_< - result_of::equal_to - , apply_filter > - filter; - - typedef typename - mpl::eval_if< - filter - , mpl::identity - , recursive_find_if - >::type - type; - }; - - template< - typename First, typename Last, - typename Pred, bool> - struct choose_find_if; - - template - struct choose_find_if - : main_find_if - {}; - - template - struct unroll_again; - - template - struct apply_offset_filter - { - typedef typename result_of::advance_c::type Shifted; - typedef typename - mpl::apply1< - Pred - , Shifted - >::type - type; - BOOST_STATIC_CONSTANT(int, value = type::value); - }; - - template - struct unrolled_find_if - { - typedef typename mpl::eval_if< - apply_filter, - mpl::identity, - mpl::eval_if< - apply_offset_filter, - result_of::advance_c, - mpl::eval_if< - apply_offset_filter, - result_of::advance_c, - mpl::eval_if< - apply_offset_filter, - result_of::advance_c, - unroll_again< - Iter, - Pred, - n, - 4> > > > >::type type; - }; - - template - struct unrolled_find_if - { - typedef typename mpl::eval_if< - apply_filter, - mpl::identity, - mpl::eval_if< - apply_offset_filter, - result_of::advance_c, - mpl::eval_if< - apply_offset_filter, - result_of::advance_c, - result_of::advance_c > > >::type type; - }; - - template - struct unrolled_find_if - { - typedef typename mpl::eval_if< - apply_filter, - mpl::identity, - mpl::eval_if< - apply_offset_filter, - result_of::advance_c, - result_of::advance_c > >::type type; - }; - - template - struct unrolled_find_if - { - typedef typename mpl::eval_if< - apply_filter, - mpl::identity, - result_of::advance_c >::type type; - }; - - template - struct unroll_again - { - typedef typename unrolled_find_if< - typename result_of::advance_c::type, - Pred, - n-unrolling>::type type; - }; - - template - struct unrolled_find_if - { - typedef Iter type; - }; - - template - struct choose_find_if - { - typedef typename result_of::distance::type N; - typedef typename unrolled_find_if::type type; - }; - - template - struct static_find_if - { - typedef typename - choose_find_if< - First - , Last - , typename mpl::lambda::type - , is_base_of::type>::value - >::type - type; - - template - BOOST_FUSION_GPU_ENABLED - static type - recursive_call(Iterator const& iter, mpl::true_) - { - return iter; - } - - template - BOOST_FUSION_GPU_ENABLED - static type - recursive_call(Iterator const& iter, mpl::false_) - { - return recursive_call(fusion::next(iter)); - } - - template - BOOST_FUSION_GPU_ENABLED - static type - recursive_call(Iterator const& iter) - { - typedef result_of::equal_to found; - return recursive_call(iter, found()); - } - - template - BOOST_FUSION_GPU_ENABLED - static type - choose_call(Iterator const& iter, Tag) - { - return recursive_call(iter); - } - - template - BOOST_FUSION_GPU_ENABLED - static type - choose_call(Iterator const& iter, random_access_traversal_tag) - { - typedef typename result_of::distance::type N; - return fusion::advance(iter); - } - - template - BOOST_FUSION_GPU_ENABLED - static type - iter_call(Iterator const& iter) - { - return choose_call(iter, typename traits::category_of::type()); - } - - template - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& seq) - { - return iter_call(fusion::begin(seq)); - } - }; - - template - struct result_of_find_if - { - typedef - static_find_if< - typename result_of::begin::type - , typename result_of::end::type - , Pred - > - filter; - - typedef typename filter::type type; - }; -}}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/algorithm/query/find_if.hpp b/bundled/boost-1.56.0/include/boost/fusion/algorithm/query/find_if.hpp deleted file mode 100644 index c9e5016270..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/algorithm/query/find_if.hpp +++ /dev/null @@ -1,67 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 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) -==============================================================================*/ -#if !defined(FUSION_FIND_IF_05052005_1108) -#define FUSION_FIND_IF_05052005_1108 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct find_if - : mpl::if_< - traits::is_segmented - , detail::result_of_segmented_find_if - , detail::result_of_find_if< - Sequence, - mpl::bind1< - typename mpl::lambda::type - , mpl::bind1, mpl::_1> - > - > - >::type - {}; - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename - lazy_disable_if< - is_const - , result_of::find_if - >::type - find_if(Sequence& seq) - { - typedef typename result_of::find_if::filter filter; - return filter::call(seq); - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::find_if::type const - find_if(Sequence const& seq) - { - typedef typename result_of::find_if::filter filter; - return filter::call(seq); - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/algorithm/query/none.hpp b/bundled/boost-1.56.0/include/boost/fusion/algorithm/query/none.hpp deleted file mode 100644 index bb554e3b5f..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/algorithm/query/none.hpp +++ /dev/null @@ -1,35 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2007 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(BOOST_FUSION_NONE_07062005_1128) -#define BOOST_FUSION_NONE_07062005_1128 - -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct none - { - typedef bool type; - }; - } - - template - BOOST_FUSION_GPU_ENABLED - inline bool - none(Sequence const& seq, F f) - { - return !fusion::any(seq, f); - } -}} - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/algorithm/transformation/clear.hpp b/bundled/boost-1.56.0/include/boost/fusion/algorithm/transformation/clear.hpp deleted file mode 100644 index de643408f6..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/algorithm/transformation/clear.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_CLEAR_09172005_1127) -#define FUSION_CLEAR_09172005_1127 - -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct clear - { - typedef vector0<> type; - }; - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::clear::type - clear(Sequence const& /*seq*/) - { - return vector0<>(); - } -}} - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/algorithm/transformation/detail/replace.hpp b/bundled/boost-1.56.0/include/boost/fusion/algorithm/transformation/detail/replace.hpp deleted file mode 100644 index 5a7516bacc..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/algorithm/transformation/detail/replace.hpp +++ /dev/null @@ -1,78 +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_REPLACE_08182005_0841) -#define FUSION_REPLACE_08182005_0841 - -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template - struct replacer_helper; - - template <> - struct replacer_helper - { - template - BOOST_FUSION_GPU_ENABLED - static U& - call(U& x, T const&, T const&) - { - return x; - } - }; - - template <> - struct replacer_helper - { - template - BOOST_FUSION_GPU_ENABLED - static U - call(U& x, T const& old_value, T const& new_value) - { - return (x == old_value) ? new_value : x; - } - }; - - template - struct replacer - { - BOOST_FUSION_GPU_ENABLED - replacer(T const& in_old_value, T const& in_new_value) - : old_value(in_old_value), new_value(in_new_value) {} - - template - struct result; - - template - struct result(U2)> - { - typedef typename remove_reference::type value; - typedef typename - mpl::if_, value, value const&>::type - type; - }; - - template - BOOST_FUSION_GPU_ENABLED - typename result::type - operator()(U const& x) const - { - return replacer_helper::value>:: - call(x, old_value, new_value); - } - - T old_value; - T new_value; - }; -}}} - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/algorithm/transformation/detail/replace_if.hpp b/bundled/boost-1.56.0/include/boost/fusion/algorithm/transformation/detail/replace_if.hpp deleted file mode 100644 index 5b9663b138..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/algorithm/transformation/detail/replace_if.hpp +++ /dev/null @@ -1,78 +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_REPLACE_IF_08182005_0946) -#define FUSION_REPLACE_IF_08182005_0946 - -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template - struct replacer_if_helper; - - template <> - struct replacer_if_helper - { - template - BOOST_FUSION_GPU_ENABLED - static U& - call(U& x, F&, T const&) - { - return x; - } - }; - - template <> - struct replacer_if_helper - { - template - BOOST_FUSION_GPU_ENABLED - static U - call(U& x, F& f, T const& new_value) - { - return f(x) ? new_value : x; - } - }; - - template - struct replacer_if - { - BOOST_FUSION_GPU_ENABLED - replacer_if(F in_f, T const& in_new_value) - : f(in_f), new_value(in_new_value) {} - - template - struct result; - - template - struct result(U)> - { - typedef typename remove_reference::type value; - typedef typename - mpl::if_, value, value const&>::type - type; - }; - - template - BOOST_FUSION_GPU_ENABLED - typename result::type - operator()(U const& x) const - { - return replacer_if_helper::value>:: - call(x, f, new_value); - } - - F f; - T new_value; - }; -}}} - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/algorithm/transformation/push_back.hpp b/bundled/boost-1.56.0/include/boost/fusion/algorithm/transformation/push_back.hpp deleted file mode 100644 index 484425d832..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/algorithm/transformation/push_back.hpp +++ /dev/null @@ -1,48 +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_PUSH_BACK_07162005_0235) -#define FUSION_PUSH_BACK_07162005_0235 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct push_back - { - typedef fusion::single_view::type> single_view; - typedef joint_view type; - }; - } - - template - BOOST_FUSION_GPU_ENABLED - inline - typename - lazy_enable_if< - traits::is_sequence - , result_of::push_back - >::type - push_back(Sequence const& seq, T const& x) - { - typedef typename result_of::push_back push_back; - typedef typename push_back::single_view single_view; - typedef typename push_back::type result; - single_view x_(x); - return result(seq, x_); - } -}} - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/algorithm/transformation/push_front.hpp b/bundled/boost-1.56.0/include/boost/fusion/algorithm/transformation/push_front.hpp deleted file mode 100644 index bda056b18e..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/algorithm/transformation/push_front.hpp +++ /dev/null @@ -1,48 +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_PUSH_FRONT_07162005_0749) -#define FUSION_PUSH_FRONT_07162005_0749 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct push_front - { - typedef fusion::single_view::type> single_view; - typedef joint_view type; - }; - } - - template - BOOST_FUSION_GPU_ENABLED - inline - typename - lazy_enable_if< - traits::is_sequence - , result_of::push_front - >::type - push_front(Sequence const& seq, T const& x) - { - typedef typename result_of::push_front push_front; - typedef typename push_front::single_view single_view; - typedef typename push_front::type result; - single_view x_(x); - return result(x_, seq); - } -}} - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/algorithm/transformation/replace.hpp b/bundled/boost-1.56.0/include/boost/fusion/algorithm/transformation/replace.hpp deleted file mode 100644 index a0a9885bd8..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/algorithm/transformation/replace.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(FUSION_REPLACE_08182005_0830) -#define FUSION_REPLACE_08182005_0830 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct replace - { - typedef transform_view > type; - }; - } - - template - BOOST_FUSION_GPU_ENABLED - inline - typename - enable_if< - traits::is_sequence - , typename result_of::replace::type - >::type - replace(Sequence const& seq, T const& old_value, T const& new_value) - { - typedef typename result_of::replace::type result; - detail::replacer f(old_value, new_value); - return result(seq, f); - } -}} - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/algorithm/transformation/replace_if.hpp b/bundled/boost-1.56.0/include/boost/fusion/algorithm/transformation/replace_if.hpp deleted file mode 100644 index da3557aa18..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/algorithm/transformation/replace_if.hpp +++ /dev/null @@ -1,45 +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_REPLACE_IF_08182005_0939) -#define FUSION_REPLACE_IF_08182005_0939 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct replace_if - { - typedef transform_view > type; - }; - } - - template - BOOST_FUSION_GPU_ENABLED - inline - typename - enable_if< - traits::is_sequence - , typename result_of::replace_if::type - >::type - replace_if(Sequence const& seq, F pred, T const& new_value) - { - typedef typename result_of::replace_if::type result; - detail::replacer_if f(pred, new_value); - return result(seq, f); - } -}} - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/deque/convert.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/deque/convert.hpp deleted file mode 100644 index f791519d08..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/deque/convert.hpp +++ /dev/null @@ -1,61 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2013 Joel de Guzman - Copyright (c) 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_20061213_2207) -#define FUSION_CONVERT_20061213_2207 - -#include -#include -#include - -#if !defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) -/////////////////////////////////////////////////////////////////////////////// -// C++03 (non-variadic) implementation -/////////////////////////////////////////////////////////////////////////////// -#include - -#else -/////////////////////////////////////////////////////////////////////////////// -// C++11 variadic implementation -/////////////////////////////////////////////////////////////////////////////// -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct as_deque : - detail::build_deque< - typename result_of::begin::type - , typename result_of::end::type - > - { - }; - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::as_deque::type - as_deque(Sequence& seq) - { - typedef result_of::as_deque gen; - return gen::call(fusion::begin(seq), fusion::end(seq)); - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::as_deque::type - as_deque(Sequence const& seq) - { - typedef result_of::as_deque gen; - return gen::call(fusion::begin(seq), fusion::end(seq)); - } -}} - -#endif -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/deque/deque.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/deque/deque.hpp deleted file mode 100644 index 6fd3e1b0ce..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/deque/deque.hpp +++ /dev/null @@ -1,175 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2012 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(BOOST_FUSION_DEQUE_26112006_1649) -#define BOOST_FUSION_DEQUE_26112006_1649 - -# include - -/////////////////////////////////////////////////////////////////////////////// -// Without variadics, we will use the PP version -/////////////////////////////////////////////////////////////////////////////// -#if !defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) -# include -#else - -/////////////////////////////////////////////////////////////////////////////// -// C++11 interface -/////////////////////////////////////////////////////////////////////////////// -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct deque_tag; - - template - struct deque : detail::nil_keyed_element - { - typedef deque_tag fusion_tag; - typedef bidirectional_traversal_tag category; - typedef mpl::int_<0> size; - typedef mpl::int_<0> next_up; - typedef mpl::int_<0> next_down; - typedef mpl::false_ is_view; - - template - BOOST_FUSION_GPU_ENABLED - deque(Sequence const&, - typename enable_if< - mpl::and_< - traits::is_sequence - , result_of::empty>>::type* /*dummy*/ = 0) - {} - - BOOST_FUSION_GPU_ENABLED - deque() {} - }; - - template - struct deque - : detail::deque_keyed_values::type - , sequence_base> - { - typedef deque_tag fusion_tag; - typedef bidirectional_traversal_tag category; - typedef typename detail::deque_keyed_values::type base; - typedef mpl::int_<(sizeof ...(Tail) + 1)> size; - typedef mpl::int_ next_up; - typedef mpl::int_<((size::value == 0) ? 0 : -1)> next_down; - typedef mpl::false_ is_view; - - BOOST_FUSION_GPU_ENABLED - deque() - {} - - template - BOOST_FUSION_GPU_ENABLED - deque(deque const& seq) - : base(seq) - {} - - template - BOOST_FUSION_GPU_ENABLED - deque(deque& seq) - : base(seq) - {} - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - deque(deque&& seq) - : base(std::forward>(seq)) - {} -#endif - - BOOST_FUSION_GPU_ENABLED - deque(deque const& seq) - : base(seq) - {} - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - BOOST_FUSION_GPU_ENABLED - deque(deque&& seq) - : base(std::forward(seq)) - {} -#endif - - BOOST_FUSION_GPU_ENABLED - explicit deque(Head const& head, Tail const&... tail) - : base(detail::deque_keyed_values::construct(head, tail...)) - {} - - template - BOOST_FUSION_GPU_ENABLED - explicit deque(Head_ const& head, Tail_ const&... tail) - : base(detail::deque_keyed_values::construct(head, tail...)) - {} - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - explicit deque(Head_&& head, Tail_&&... tail) - : base(detail::deque_keyed_values - ::forward_(std::forward(head), std::forward(tail)...)) - {} -#endif - - template - BOOST_FUSION_GPU_ENABLED - explicit deque(Sequence const& seq - , typename disable_if >::type* /*dummy*/ = 0) - : base(base::from_iterator(fusion::begin(seq))) - {} - - template - BOOST_FUSION_GPU_ENABLED - deque& operator=(deque const& rhs) - { - base::operator=(rhs); - return *this; - } - - template - BOOST_FUSION_GPU_ENABLED - deque& operator=(T const& rhs) - { - base::operator=(rhs); - return *this; - } - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - deque& operator=(T&& rhs) - { - base::operator=(std::forward(rhs)); - return *this; - } -#endif - - }; -}} - -#endif -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/at_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/at_impl.hpp deleted file mode 100644 index 4c5ffa9462..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/at_impl.hpp +++ /dev/null @@ -1,67 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2012 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(BOOST_FUSION_DEQUE_AT_IMPL_09122006_2017) -#define BOOST_FUSION_DEQUE_AT_IMPL_09122006_2017 - -#include -#include - -#include -#include -#include -#include - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct deque_tag; - - namespace extension - { - template - struct at_impl; - - template<> - struct at_impl - { - template - struct apply - { - typedef typename Sequence::next_up next_up; - typedef typename Sequence::next_down next_down; - BOOST_MPL_ASSERT_RELATION(next_down::value, !=, next_up::value); - - static int const offset = next_down::value + 1; - typedef mpl::int_<(N::value + offset)> adjusted_index; - typedef typename - detail::keyed_element_value_at::type - element_type; - - typedef typename - add_reference< - typename mpl::eval_if< - is_const, - add_const, - mpl::identity >::type - >::type - type; - - BOOST_FUSION_GPU_ENABLED - static type call(Sequence& seq) - { - return seq.get(adjusted_index()); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/begin_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/begin_impl.hpp deleted file mode 100644 index 8e7f263350..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/begin_impl.hpp +++ /dev/null @@ -1,50 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2012 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(BOOST_FUSION_DEQUE_BEGIN_IMPL_09122006_2034) -#define BOOST_FUSION_DEQUE_BEGIN_IMPL_09122006_2034 - -#include -#include - -#include -#include - -namespace boost { namespace fusion -{ - struct deque_tag; - - namespace extension - { - template - struct begin_impl; - - template<> - struct begin_impl - { - template - struct apply - { - typedef typename - mpl::if_c< - (Sequence::next_down::value == Sequence::next_up::value) - , deque_iterator - , deque_iterator - >::type - type; - - BOOST_FUSION_GPU_ENABLED - static type call(Sequence& seq) - { - return type(seq); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/build_deque.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/build_deque.hpp deleted file mode 100644 index d555c6c61c..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/build_deque.hpp +++ /dev/null @@ -1,78 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2013 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_FUSION_BUILD_DEQUE_02032013_1921) -#define BOOST_FUSION_BUILD_DEQUE_02032013_1921 - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template ::value> - struct build_deque; - - template - struct build_deque - { - typedef deque<> type; - BOOST_FUSION_GPU_ENABLED - static type - call(First const&, Last const&) - { - return type(); - } - }; - - template - struct push_front_deque; - - template - struct push_front_deque> - { - typedef deque type; - - BOOST_FUSION_GPU_ENABLED - static type - call(T const& first, deque const& rest) - { - return type(front_extended_deque, T>(rest, first)); - } - }; - - template - struct build_deque - { - typedef - build_deque::type, Last> - next_build_deque; - - typedef push_front_deque< - typename result_of::value_of::type - , typename next_build_deque::type> - push_front; - - typedef typename push_front::type type; - - BOOST_FUSION_GPU_ENABLED - static type - call(First const& f, Last const& l) - { - typename result_of::value_of::type v = *f; - return push_front::call( - v, next_build_deque::call(fusion::next(f), l)); - } - }; -}}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/convert_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/convert_impl.hpp deleted file mode 100644 index f8ff54294e..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/convert_impl.hpp +++ /dev/null @@ -1,50 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2012 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_20061213_2207) -#define FUSION_CONVERT_IMPL_20061213_2207 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct deque_tag; - - namespace result_of - { - template - struct as_deque; - } - - namespace extension - { - template - struct convert_impl; - - template <> - struct convert_impl - { - template - struct apply - { - typedef result_of::as_deque gen; - typedef typename gen::type type; - BOOST_FUSION_GPU_ENABLED - static type call(Sequence& seq) - { - return gen::call(seq); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/build_deque.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/build_deque.hpp deleted file mode 100644 index 74d37faaf8..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/build_deque.hpp +++ /dev/null @@ -1,54 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2013 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_FUSION_BUILD_DEQUE_02032013_1921) -#define BOOST_FUSION_BUILD_DEQUE_02032013_1921 - -#if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) -#error "C++03 only! This file should not have been included" -#endif - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct as_deque - { - typedef typename - detail::as_deque::value> - gen; - typedef typename gen:: - template apply::type>::type - type; - }; - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::as_deque::type - as_deque(Sequence& seq) - { - typedef typename result_of::as_deque::gen gen; - return gen::call(fusion::begin(seq)); - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::as_deque::type - as_deque(Sequence const& seq) - { - typedef typename result_of::as_deque::gen gen; - return gen::call(fusion::begin(seq)); - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/deque.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/deque.hpp deleted file mode 100644 index 2dd7f6382b..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/deque.hpp +++ /dev/null @@ -1,198 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2012 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(BOOST_PP_FUSION_DEQUE_26112006_1649) -#define BOOST_PP_FUSION_DEQUE_26112006_1649 - -#if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) -#error "C++03 only! This file should not have been included" -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/deque" FUSION_MAX_DEQUE_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 - -#define FUSION_HASH # - -namespace boost { namespace fusion { - - struct deque_tag; - - template - struct deque - : - detail::deque_keyed_values::type, - sequence_base > - { - typedef deque_tag fusion_tag; - typedef bidirectional_traversal_tag category; - typedef typename detail::deque_keyed_values::type base; - typedef typename detail::deque_initial_size::type size; - typedef mpl::int_ next_up; - typedef mpl::int_< - mpl::if_ >, mpl::int_<0>, mpl::int_<-1> >::type::value> next_down; - typedef mpl::false_ is_view; - -#include - - BOOST_FUSION_GPU_ENABLED - deque() - {} - - BOOST_FUSION_GPU_ENABLED - explicit deque(typename add_reference::type>::type t0) - : base(t0, detail::nil_keyed_element()) - {} - - BOOST_FUSION_GPU_ENABLED - explicit deque(deque const& rhs) - : base(rhs) - {} - - template - BOOST_FUSION_GPU_ENABLED - deque(deque const& seq) - : base(seq) - {} - - template - BOOST_FUSION_GPU_ENABLED - deque(Sequence const& seq, typename disable_if >::type* /*dummy*/ = 0) - : base(base::from_iterator(fusion::begin(seq))) - {} - - template - BOOST_FUSION_GPU_ENABLED - deque& - operator=(deque const& rhs) - { - base::operator=(rhs); - return *this; - } - - template - BOOST_FUSION_GPU_ENABLED - deque& - operator=(T const& rhs) - { - base::operator=(rhs); - return *this; - } - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -#endif -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ - (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) - template - BOOST_FUSION_GPU_ENABLED - explicit deque(T0_&& t0 - , typename enable_if >::type* /*dummy*/ = 0 - ) - : base(std::forward(t0), detail::nil_keyed_element()) - {} - BOOST_FUSION_GPU_ENABLED - explicit deque(deque&& rhs) - : base(std::forward(rhs)) - {} - template - BOOST_FUSION_GPU_ENABLED - deque(deque&& seq) - : base(std::forward>(seq)) - {} - template - BOOST_FUSION_GPU_ENABLED - deque& - operator=(T&& rhs) - { - base::operator=(std::forward(rhs)); - return *this; - } -#endif -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH endif -#endif - - }; - - template <> - struct deque<> : detail::nil_keyed_element - { - typedef deque_tag fusion_tag; - typedef bidirectional_traversal_tag category; - typedef mpl::int_<0> size; - typedef mpl::int_<0> next_up; - typedef mpl::int_<0> next_down; - typedef mpl::false_ is_view; - - template - BOOST_FUSION_GPU_ENABLED - deque(Sequence const&, - typename enable_if< - mpl::and_< - traits::is_sequence - , result_of::empty > >::type* /*dummy*/ = 0) - {} - - BOOST_FUSION_GPU_ENABLED - deque() {} - }; - -}} - -#undef FUSION_HASH - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/deque_keyed_values.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/deque_keyed_values.hpp deleted file mode 100644 index 1ee91ba253..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/deque_keyed_values.hpp +++ /dev/null @@ -1,113 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2012 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(BOOST_FUSION_DEQUE_DETAIL_DEQUE_KEYED_VALUES_26112006_1330) -#define BOOST_FUSION_DEQUE_DETAIL_DEQUE_KEYED_VALUES_26112006_1330 - -#if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) -#error "C++03 only! This file should not have been included" -#endif - -#include -#include - -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#define FUSION_VOID(z, n, _) void_ - -namespace boost { namespace fusion -{ - struct void_; -}} - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/deque_keyed_values" FUSION_MAX_DEQUE_SIZE_STR ".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion { namespace detail -{ - template - struct keyed_element; - - struct nil_keyed_element; - - template - struct deque_keyed_values_impl; - - template - struct deque_keyed_values_impl - { - typedef nil_keyed_element type; - - BOOST_FUSION_GPU_ENABLED - static type construct() - { - return type(); - } - - BOOST_FUSION_GPU_ENABLED - static type forward_() - { - return type(); - } - }; - - template - struct deque_keyed_values_impl - { - typedef mpl::int_ >::value> next_index; - - typedef typename deque_keyed_values_impl< - next_index, - BOOST_PP_ENUM_SHIFTED_PARAMS(FUSION_MAX_DEQUE_SIZE, T)>::type tail; - typedef keyed_element type; - -#include - - }; - - template - struct deque_keyed_values - : deque_keyed_values_impl, BOOST_PP_ENUM_PARAMS(FUSION_MAX_DEQUE_SIZE, T)> - {}; - -}}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#undef FUSION_VOID - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/limits.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/limits.hpp deleted file mode 100644 index 7892ba1a82..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/limits.hpp +++ /dev/null @@ -1,32 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2012 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(BOOST_FUSION_DEQUE_LIMITS_26112006_1737) -#define BOOST_FUSION_DEQUE_LIMITS_26112006_1737 - -#if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) -#error "C++03 only! This file should not have been included" -#endif - -#include - -#if !defined(FUSION_MAX_DEQUE_SIZE) -# define FUSION_MAX_DEQUE_SIZE FUSION_MAX_VECTOR_SIZE -#else -# if FUSION_MAX_DEQUE_SIZE < 3 -# undef FUSION_MAX_DEQUE_SIZE -# if (FUSION_MAX_VECTOR_SIZE > 10) -# define FUSION_MAX_DEQUE_SIZE 10 -# else -# define FUSION_MAX_DEQUE_SIZE FUSION_MAX_VECTOR_SIZE -# endif -# endif -#endif - -#define FUSION_MAX_DEQUE_SIZE_STR BOOST_PP_STRINGIZE(BOOST_FUSION_PP_ROUND_UP(FUSION_MAX_DEQUE_SIZE)) - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque10.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque10.hpp deleted file mode 100644 index 59a4ca6a0e..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque10.hpp +++ /dev/null @@ -1,271 +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 deque_tag; - template - struct deque - : - detail::deque_keyed_values::type, - sequence_base > - { - typedef deque_tag fusion_tag; - typedef bidirectional_traversal_tag category; - typedef typename detail::deque_keyed_values::type base; - typedef typename detail::deque_initial_size::type size; - typedef mpl::int_ next_up; - typedef mpl::int_< - mpl::if_ >, mpl::int_<0>, mpl::int_<-1> >::type::value> next_down; - typedef mpl::false_ is_view; -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1) - : base(detail::deque_keyed_values::construct(t0 , t1)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1) - : base(detail::deque_keyed_values::construct(t0 , t1)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9))) -{} -# endif - BOOST_FUSION_GPU_ENABLED - deque() - {} - BOOST_FUSION_GPU_ENABLED - explicit deque(typename add_reference::type>::type t0) - : base(t0, detail::nil_keyed_element()) - {} - BOOST_FUSION_GPU_ENABLED - explicit deque(deque const& rhs) - : base(rhs) - {} - template - BOOST_FUSION_GPU_ENABLED - deque(deque const& seq) - : base(seq) - {} - template - BOOST_FUSION_GPU_ENABLED - deque(Sequence const& seq, typename disable_if >::type* = 0) - : base(base::from_iterator(fusion::begin(seq))) - {} - template - BOOST_FUSION_GPU_ENABLED - deque& - operator=(deque const& rhs) - { - base::operator=(rhs); - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - deque& - operator=(T const& rhs) - { - base::operator=(rhs); - return *this; - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - explicit deque(T0_&& t0 - , typename enable_if >::type* = 0 - ) - : base(std::forward(t0), detail::nil_keyed_element()) - {} - BOOST_FUSION_GPU_ENABLED - explicit deque(deque&& rhs) - : base(std::forward(rhs)) - {} - template - BOOST_FUSION_GPU_ENABLED - deque(deque&& seq) - : base(std::forward>(seq)) - {} - template - BOOST_FUSION_GPU_ENABLED - deque& - operator=(T&& rhs) - { - base::operator=(std::forward(rhs)); - return *this; - } -# endif - }; - template <> - struct deque<> : detail::nil_keyed_element - { - typedef deque_tag fusion_tag; - typedef bidirectional_traversal_tag category; - typedef mpl::int_<0> size; - typedef mpl::int_<0> next_up; - typedef mpl::int_<0> next_down; - typedef mpl::false_ is_view; - template - BOOST_FUSION_GPU_ENABLED - deque(Sequence const&, - typename enable_if< - mpl::and_< - traits::is_sequence - , result_of::empty > >::type* = 0) - {} - BOOST_FUSION_GPU_ENABLED - deque() {} - }; -}} diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque20.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque20.hpp deleted file mode 100644 index ca008a7b6e..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque20.hpp +++ /dev/null @@ -1,451 +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 deque_tag; - template - struct deque - : - detail::deque_keyed_values::type, - sequence_base > - { - typedef deque_tag fusion_tag; - typedef bidirectional_traversal_tag category; - typedef typename detail::deque_keyed_values::type base; - typedef typename detail::deque_initial_size::type size; - typedef mpl::int_ next_up; - typedef mpl::int_< - mpl::if_ >, mpl::int_<0>, mpl::int_<-1> >::type::value> next_down; - typedef mpl::false_ is_view; -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1) - : base(detail::deque_keyed_values::construct(t0 , t1)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1) - : base(detail::deque_keyed_values::construct(t0 , t1)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19))) -{} -# endif - BOOST_FUSION_GPU_ENABLED - deque() - {} - BOOST_FUSION_GPU_ENABLED - explicit deque(typename add_reference::type>::type t0) - : base(t0, detail::nil_keyed_element()) - {} - BOOST_FUSION_GPU_ENABLED - explicit deque(deque const& rhs) - : base(rhs) - {} - template - BOOST_FUSION_GPU_ENABLED - deque(deque const& seq) - : base(seq) - {} - template - BOOST_FUSION_GPU_ENABLED - deque(Sequence const& seq, typename disable_if >::type* = 0) - : base(base::from_iterator(fusion::begin(seq))) - {} - template - BOOST_FUSION_GPU_ENABLED - deque& - operator=(deque const& rhs) - { - base::operator=(rhs); - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - deque& - operator=(T const& rhs) - { - base::operator=(rhs); - return *this; - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - explicit deque(T0_&& t0 - , typename enable_if >::type* = 0 - ) - : base(std::forward(t0), detail::nil_keyed_element()) - {} - BOOST_FUSION_GPU_ENABLED - explicit deque(deque&& rhs) - : base(std::forward(rhs)) - {} - template - BOOST_FUSION_GPU_ENABLED - deque(deque&& seq) - : base(std::forward>(seq)) - {} - template - BOOST_FUSION_GPU_ENABLED - deque& - operator=(T&& rhs) - { - base::operator=(std::forward(rhs)); - return *this; - } -# endif - }; - template <> - struct deque<> : detail::nil_keyed_element - { - typedef deque_tag fusion_tag; - typedef bidirectional_traversal_tag category; - typedef mpl::int_<0> size; - typedef mpl::int_<0> next_up; - typedef mpl::int_<0> next_down; - typedef mpl::false_ is_view; - template - BOOST_FUSION_GPU_ENABLED - deque(Sequence const&, - typename enable_if< - mpl::and_< - traits::is_sequence - , result_of::empty > >::type* = 0) - {} - BOOST_FUSION_GPU_ENABLED - deque() {} - }; -}} diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque30.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque30.hpp deleted file mode 100644 index cc2c5b4014..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque30.hpp +++ /dev/null @@ -1,631 +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 deque_tag; - template - struct deque - : - detail::deque_keyed_values::type, - sequence_base > - { - typedef deque_tag fusion_tag; - typedef bidirectional_traversal_tag category; - typedef typename detail::deque_keyed_values::type base; - typedef typename detail::deque_initial_size::type size; - typedef mpl::int_ next_up; - typedef mpl::int_< - mpl::if_ >, mpl::int_<0>, mpl::int_<-1> >::type::value> next_down; - typedef mpl::false_ is_view; -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1) - : base(detail::deque_keyed_values::construct(t0 , t1)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1) - : base(detail::deque_keyed_values::construct(t0 , t1)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29))) -{} -# endif - BOOST_FUSION_GPU_ENABLED - deque() - {} - BOOST_FUSION_GPU_ENABLED - explicit deque(typename add_reference::type>::type t0) - : base(t0, detail::nil_keyed_element()) - {} - BOOST_FUSION_GPU_ENABLED - explicit deque(deque const& rhs) - : base(rhs) - {} - template - BOOST_FUSION_GPU_ENABLED - deque(deque const& seq) - : base(seq) - {} - template - BOOST_FUSION_GPU_ENABLED - deque(Sequence const& seq, typename disable_if >::type* = 0) - : base(base::from_iterator(fusion::begin(seq))) - {} - template - BOOST_FUSION_GPU_ENABLED - deque& - operator=(deque const& rhs) - { - base::operator=(rhs); - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - deque& - operator=(T const& rhs) - { - base::operator=(rhs); - return *this; - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - explicit deque(T0_&& t0 - , typename enable_if >::type* = 0 - ) - : base(std::forward(t0), detail::nil_keyed_element()) - {} - BOOST_FUSION_GPU_ENABLED - explicit deque(deque&& rhs) - : base(std::forward(rhs)) - {} - template - BOOST_FUSION_GPU_ENABLED - deque(deque&& seq) - : base(std::forward>(seq)) - {} - template - BOOST_FUSION_GPU_ENABLED - deque& - operator=(T&& rhs) - { - base::operator=(std::forward(rhs)); - return *this; - } -# endif - }; - template <> - struct deque<> : detail::nil_keyed_element - { - typedef deque_tag fusion_tag; - typedef bidirectional_traversal_tag category; - typedef mpl::int_<0> size; - typedef mpl::int_<0> next_up; - typedef mpl::int_<0> next_down; - typedef mpl::false_ is_view; - template - BOOST_FUSION_GPU_ENABLED - deque(Sequence const&, - typename enable_if< - mpl::and_< - traits::is_sequence - , result_of::empty > >::type* = 0) - {} - BOOST_FUSION_GPU_ENABLED - deque() {} - }; -}} diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque40.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque40.hpp deleted file mode 100644 index 00d110b265..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque40.hpp +++ /dev/null @@ -1,811 +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 deque_tag; - template - struct deque - : - detail::deque_keyed_values::type, - sequence_base > - { - typedef deque_tag fusion_tag; - typedef bidirectional_traversal_tag category; - typedef typename detail::deque_keyed_values::type base; - typedef typename detail::deque_initial_size::type size; - typedef mpl::int_ next_up; - typedef mpl::int_< - mpl::if_ >, mpl::int_<0>, mpl::int_<-1> >::type::value> next_down; - typedef mpl::false_ is_view; -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1) - : base(detail::deque_keyed_values::construct(t0 , t1)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1) - : base(detail::deque_keyed_values::construct(t0 , t1)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39))) -{} -# endif - BOOST_FUSION_GPU_ENABLED - deque() - {} - BOOST_FUSION_GPU_ENABLED - explicit deque(typename add_reference::type>::type t0) - : base(t0, detail::nil_keyed_element()) - {} - BOOST_FUSION_GPU_ENABLED - explicit deque(deque const& rhs) - : base(rhs) - {} - template - BOOST_FUSION_GPU_ENABLED - deque(deque const& seq) - : base(seq) - {} - template - BOOST_FUSION_GPU_ENABLED - deque(Sequence const& seq, typename disable_if >::type* = 0) - : base(base::from_iterator(fusion::begin(seq))) - {} - template - BOOST_FUSION_GPU_ENABLED - deque& - operator=(deque const& rhs) - { - base::operator=(rhs); - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - deque& - operator=(T const& rhs) - { - base::operator=(rhs); - return *this; - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - explicit deque(T0_&& t0 - , typename enable_if >::type* = 0 - ) - : base(std::forward(t0), detail::nil_keyed_element()) - {} - BOOST_FUSION_GPU_ENABLED - explicit deque(deque&& rhs) - : base(std::forward(rhs)) - {} - template - BOOST_FUSION_GPU_ENABLED - deque(deque&& seq) - : base(std::forward>(seq)) - {} - template - BOOST_FUSION_GPU_ENABLED - deque& - operator=(T&& rhs) - { - base::operator=(std::forward(rhs)); - return *this; - } -# endif - }; - template <> - struct deque<> : detail::nil_keyed_element - { - typedef deque_tag fusion_tag; - typedef bidirectional_traversal_tag category; - typedef mpl::int_<0> size; - typedef mpl::int_<0> next_up; - typedef mpl::int_<0> next_down; - typedef mpl::false_ is_view; - template - BOOST_FUSION_GPU_ENABLED - deque(Sequence const&, - typename enable_if< - mpl::and_< - traits::is_sequence - , result_of::empty > >::type* = 0) - {} - BOOST_FUSION_GPU_ENABLED - deque() {} - }; -}} diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque50.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque50.hpp deleted file mode 100644 index ec292ebf42..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque50.hpp +++ /dev/null @@ -1,991 +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 deque_tag; - template - struct deque - : - detail::deque_keyed_values::type, - sequence_base > - { - typedef deque_tag fusion_tag; - typedef bidirectional_traversal_tag category; - typedef typename detail::deque_keyed_values::type base; - typedef typename detail::deque_initial_size::type size; - typedef mpl::int_ next_up; - typedef mpl::int_< - mpl::if_ >, mpl::int_<0>, mpl::int_<-1> >::type::value> next_down; - typedef mpl::false_ is_view; -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1) - : base(detail::deque_keyed_values::construct(t0 , t1)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1) - : base(detail::deque_keyed_values::construct(t0 , t1)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40 , typename add_reference::type>::type t41) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40) , std::forward(t41))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40 , typename add_reference::type>::type t41 , typename add_reference::type>::type t42) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40) , std::forward(t41) , std::forward(t42))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40 , typename add_reference::type>::type t41 , typename add_reference::type>::type t42 , typename add_reference::type>::type t43) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40) , std::forward(t41) , std::forward(t42) , std::forward(t43))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40 , typename add_reference::type>::type t41 , typename add_reference::type>::type t42 , typename add_reference::type>::type t43 , typename add_reference::type>::type t44) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40) , std::forward(t41) , std::forward(t42) , std::forward(t43) , std::forward(t44))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40 , typename add_reference::type>::type t41 , typename add_reference::type>::type t42 , typename add_reference::type>::type t43 , typename add_reference::type>::type t44 , typename add_reference::type>::type t45) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40) , std::forward(t41) , std::forward(t42) , std::forward(t43) , std::forward(t44) , std::forward(t45))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40 , typename add_reference::type>::type t41 , typename add_reference::type>::type t42 , typename add_reference::type>::type t43 , typename add_reference::type>::type t44 , typename add_reference::type>::type t45 , typename add_reference::type>::type t46) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45 , T46 const& t46) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40) , std::forward(t41) , std::forward(t42) , std::forward(t43) , std::forward(t44) , std::forward(t45) , std::forward(t46))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40 , typename add_reference::type>::type t41 , typename add_reference::type>::type t42 , typename add_reference::type>::type t43 , typename add_reference::type>::type t44 , typename add_reference::type>::type t45 , typename add_reference::type>::type t46 , typename add_reference::type>::type t47) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46 , t47)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45 , T46 const& t46 , T47 const& t47) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46 , t47)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46 , T_47 && t47) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40) , std::forward(t41) , std::forward(t42) , std::forward(t43) , std::forward(t44) , std::forward(t45) , std::forward(t46) , std::forward(t47))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40 , typename add_reference::type>::type t41 , typename add_reference::type>::type t42 , typename add_reference::type>::type t43 , typename add_reference::type>::type t44 , typename add_reference::type>::type t45 , typename add_reference::type>::type t46 , typename add_reference::type>::type t47 , typename add_reference::type>::type t48) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46 , t47 , t48)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45 , T46 const& t46 , T47 const& t47 , T48 const& t48) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46 , t47 , t48)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46 , T_47 && t47 , T_48 && t48) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40) , std::forward(t41) , std::forward(t42) , std::forward(t43) , std::forward(t44) , std::forward(t45) , std::forward(t46) , std::forward(t47) , std::forward(t48))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40 , typename add_reference::type>::type t41 , typename add_reference::type>::type t42 , typename add_reference::type>::type t43 , typename add_reference::type>::type t44 , typename add_reference::type>::type t45 , typename add_reference::type>::type t46 , typename add_reference::type>::type t47 , typename add_reference::type>::type t48 , typename add_reference::type>::type t49) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46 , t47 , t48 , t49)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45 , T46 const& t46 , T47 const& t47 , T48 const& t48 , T49 const& t49) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46 , t47 , t48 , t49)) -{} -template -BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46 , T_47 && t47 , T_48 && t48 , T_49 && t49) - : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40) , std::forward(t41) , std::forward(t42) , std::forward(t43) , std::forward(t44) , std::forward(t45) , std::forward(t46) , std::forward(t47) , std::forward(t48) , std::forward(t49))) -{} -# endif - BOOST_FUSION_GPU_ENABLED - deque() - {} - BOOST_FUSION_GPU_ENABLED - explicit deque(typename add_reference::type>::type t0) - : base(t0, detail::nil_keyed_element()) - {} - BOOST_FUSION_GPU_ENABLED - explicit deque(deque const& rhs) - : base(rhs) - {} - template - BOOST_FUSION_GPU_ENABLED - deque(deque const& seq) - : base(seq) - {} - template - BOOST_FUSION_GPU_ENABLED - deque(Sequence const& seq, typename disable_if >::type* = 0) - : base(base::from_iterator(fusion::begin(seq))) - {} - template - BOOST_FUSION_GPU_ENABLED - deque& - operator=(deque const& rhs) - { - base::operator=(rhs); - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - deque& - operator=(T const& rhs) - { - base::operator=(rhs); - return *this; - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - explicit deque(T0_&& t0 - , typename enable_if >::type* = 0 - ) - : base(std::forward(t0), detail::nil_keyed_element()) - {} - BOOST_FUSION_GPU_ENABLED - explicit deque(deque&& rhs) - : base(std::forward(rhs)) - {} - template - BOOST_FUSION_GPU_ENABLED - deque(deque&& seq) - : base(std::forward>(seq)) - {} - template - BOOST_FUSION_GPU_ENABLED - deque& - operator=(T&& rhs) - { - base::operator=(std::forward(rhs)); - return *this; - } -# endif - }; - template <> - struct deque<> : detail::nil_keyed_element - { - typedef deque_tag fusion_tag; - typedef bidirectional_traversal_tag category; - typedef mpl::int_<0> size; - typedef mpl::int_<0> next_up; - typedef mpl::int_<0> next_down; - typedef mpl::false_ is_view; - template - BOOST_FUSION_GPU_ENABLED - deque(Sequence const&, - typename enable_if< - mpl::and_< - traits::is_sequence - , result_of::empty > >::type* = 0) - {} - BOOST_FUSION_GPU_ENABLED - deque() {} - }; -}} diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values10.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values10.hpp deleted file mode 100644 index a193acd122..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values10.hpp +++ /dev/null @@ -1,252 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ - template - struct keyed_element; - struct nil_keyed_element; - template - struct deque_keyed_values_impl; - template - struct deque_keyed_values_impl - { - typedef nil_keyed_element type; - BOOST_FUSION_GPU_ENABLED - static type construct() - { - return type(); - } - BOOST_FUSION_GPU_ENABLED - static type forward_() - { - return type(); - } - }; - template - struct deque_keyed_values_impl - { - typedef mpl::int_ >::value> next_index; - typedef typename deque_keyed_values_impl< - next_index, - T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>::type tail; - typedef keyed_element type; - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0) - { - return type(t0, - deque_keyed_values_impl< - next_index - >::construct()); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - >::forward_()); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 - >::construct(t1)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 - >::forward_(std::forward(t1))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 - >::construct(t1 , t2)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 - >::forward_(std::forward(t1) , std::forward(t2))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 - >::construct(t1 , t2 , t3)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 - >::construct(t1 , t2 , t3 , t4)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 - >::construct(t1 , t2 , t3 , t4 , t5)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 - >::construct(t1 , t2 , t3 , t4 , t5 , t6)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9))); - } -# endif - }; - template - struct deque_keyed_values - : deque_keyed_values_impl, T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> - {}; -}}} diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values20.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values20.hpp deleted file mode 100644 index 66c56883cb..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values20.hpp +++ /dev/null @@ -1,462 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ - template - struct keyed_element; - struct nil_keyed_element; - template - struct deque_keyed_values_impl; - template - struct deque_keyed_values_impl - { - typedef nil_keyed_element type; - BOOST_FUSION_GPU_ENABLED - static type construct() - { - return type(); - } - BOOST_FUSION_GPU_ENABLED - static type forward_() - { - return type(); - } - }; - template - struct deque_keyed_values_impl - { - typedef mpl::int_ >::value> next_index; - typedef typename deque_keyed_values_impl< - next_index, - T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19>::type tail; - typedef keyed_element type; - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0) - { - return type(t0, - deque_keyed_values_impl< - next_index - >::construct()); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - >::forward_()); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 - >::construct(t1)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 - >::forward_(std::forward(t1))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 - >::construct(t1 , t2)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 - >::forward_(std::forward(t1) , std::forward(t2))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 - >::construct(t1 , t2 , t3)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 - >::construct(t1 , t2 , t3 , t4)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 - >::construct(t1 , t2 , t3 , t4 , t5)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 - >::construct(t1 , t2 , t3 , t4 , t5 , t6)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19))); - } -# endif - }; - template - struct deque_keyed_values - : deque_keyed_values_impl, T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19> - {}; -}}} diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values30.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values30.hpp deleted file mode 100644 index 8680c66196..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values30.hpp +++ /dev/null @@ -1,672 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ - template - struct keyed_element; - struct nil_keyed_element; - template - struct deque_keyed_values_impl; - template - struct deque_keyed_values_impl - { - typedef nil_keyed_element type; - BOOST_FUSION_GPU_ENABLED - static type construct() - { - return type(); - } - BOOST_FUSION_GPU_ENABLED - static type forward_() - { - return type(); - } - }; - template - struct deque_keyed_values_impl - { - typedef mpl::int_ >::value> next_index; - typedef typename deque_keyed_values_impl< - next_index, - T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29>::type tail; - typedef keyed_element type; - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0) - { - return type(t0, - deque_keyed_values_impl< - next_index - >::construct()); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - >::forward_()); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 - >::construct(t1)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 - >::forward_(std::forward(t1))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 - >::construct(t1 , t2)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 - >::forward_(std::forward(t1) , std::forward(t2))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 - >::construct(t1 , t2 , t3)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 - >::construct(t1 , t2 , t3 , t4)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 - >::construct(t1 , t2 , t3 , t4 , t5)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 - >::construct(t1 , t2 , t3 , t4 , t5 , t6)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29))); - } -# endif - }; - template - struct deque_keyed_values - : deque_keyed_values_impl, 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> - {}; -}}} diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values40.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values40.hpp deleted file mode 100644 index 4e9ed3e9f0..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values40.hpp +++ /dev/null @@ -1,882 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ - template - struct keyed_element; - struct nil_keyed_element; - template - struct deque_keyed_values_impl; - template - struct deque_keyed_values_impl - { - typedef nil_keyed_element type; - BOOST_FUSION_GPU_ENABLED - static type construct() - { - return type(); - } - BOOST_FUSION_GPU_ENABLED - static type forward_() - { - return type(); - } - }; - template - struct deque_keyed_values_impl - { - typedef mpl::int_ >::value> next_index; - typedef typename deque_keyed_values_impl< - next_index, - T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39>::type tail; - typedef keyed_element type; - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0) - { - return type(t0, - deque_keyed_values_impl< - next_index - >::construct()); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - >::forward_()); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 - >::construct(t1)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 - >::forward_(std::forward(t1))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 - >::construct(t1 , t2)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 - >::forward_(std::forward(t1) , std::forward(t2))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 - >::construct(t1 , t2 , t3)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 - >::construct(t1 , t2 , t3 , t4)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 - >::construct(t1 , t2 , t3 , t4 , t5)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 - >::construct(t1 , t2 , t3 , t4 , t5 , t6)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39))); - } -# endif - }; - template - struct deque_keyed_values - : deque_keyed_values_impl, 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> - {}; -}}} diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values50.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values50.hpp deleted file mode 100644 index 0fab39e32b..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values50.hpp +++ /dev/null @@ -1,1092 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ - template - struct keyed_element; - struct nil_keyed_element; - template - struct deque_keyed_values_impl; - template - struct deque_keyed_values_impl - { - typedef nil_keyed_element type; - BOOST_FUSION_GPU_ENABLED - static type construct() - { - return type(); - } - BOOST_FUSION_GPU_ENABLED - static type forward_() - { - return type(); - } - }; - template - struct deque_keyed_values_impl - { - typedef mpl::int_ >::value> next_index; - typedef typename deque_keyed_values_impl< - next_index, - T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49>::type tail; - typedef keyed_element type; - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0) - { - return type(t0, - deque_keyed_values_impl< - next_index - >::construct()); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - >::forward_()); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 - >::construct(t1)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 - >::forward_(std::forward(t1))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 - >::construct(t1 , t2)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 - >::forward_(std::forward(t1) , std::forward(t2))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 - >::construct(t1 , t2 , t3)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 - >::construct(t1 , t2 , t3 , t4)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 - >::construct(t1 , t2 , t3 , t4 , t5)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 - >::construct(t1 , t2 , t3 , t4 , t5 , t6)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40 , typename add_reference::type>::type t41) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40) , std::forward(t41))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40 , typename add_reference::type>::type t41 , typename add_reference::type>::type t42) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40) , std::forward(t41) , std::forward(t42))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40 , typename add_reference::type>::type t41 , typename add_reference::type>::type t42 , typename add_reference::type>::type t43) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 , T_43 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40) , std::forward(t41) , std::forward(t42) , std::forward(t43))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40 , typename add_reference::type>::type t41 , typename add_reference::type>::type t42 , typename add_reference::type>::type t43 , typename add_reference::type>::type t44) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 , T_43 , T_44 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40) , std::forward(t41) , std::forward(t42) , std::forward(t43) , std::forward(t44))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40 , typename add_reference::type>::type t41 , typename add_reference::type>::type t42 , typename add_reference::type>::type t43 , typename add_reference::type>::type t44 , typename add_reference::type>::type t45) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 , T_43 , T_44 , T_45 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40) , std::forward(t41) , std::forward(t42) , std::forward(t43) , std::forward(t44) , std::forward(t45))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40 , typename add_reference::type>::type t41 , typename add_reference::type>::type t42 , typename add_reference::type>::type t43 , typename add_reference::type>::type t44 , typename add_reference::type>::type t45 , typename add_reference::type>::type t46) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 , T_43 , T_44 , T_45 , T_46 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40) , std::forward(t41) , std::forward(t42) , std::forward(t43) , std::forward(t44) , std::forward(t45) , std::forward(t46))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40 , typename add_reference::type>::type t41 , typename add_reference::type>::type t42 , typename add_reference::type>::type t43 , typename add_reference::type>::type t44 , typename add_reference::type>::type t45 , typename add_reference::type>::type t46 , typename add_reference::type>::type t47) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46 , T_47 && t47) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 , T_43 , T_44 , T_45 , T_46 , T_47 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40) , std::forward(t41) , std::forward(t42) , std::forward(t43) , std::forward(t44) , std::forward(t45) , std::forward(t46) , std::forward(t47))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40 , typename add_reference::type>::type t41 , typename add_reference::type>::type t42 , typename add_reference::type>::type t43 , typename add_reference::type>::type t44 , typename add_reference::type>::type t45 , typename add_reference::type>::type t46 , typename add_reference::type>::type t47 , typename add_reference::type>::type t48) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46 , T_47 && t47 , T_48 && t48) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 , T_43 , T_44 , T_45 , T_46 , T_47 , T_48 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40) , std::forward(t41) , std::forward(t42) , std::forward(t43) , std::forward(t44) , std::forward(t45) , std::forward(t46) , std::forward(t47) , std::forward(t48))); - } -# endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40 , typename add_reference::type>::type t41 , typename add_reference::type>::type t42 , typename add_reference::type>::type t43 , typename add_reference::type>::type t44 , typename add_reference::type>::type t45 , typename add_reference::type>::type t46 , typename add_reference::type>::type t47 , typename add_reference::type>::type t48 , typename add_reference::type>::type t49) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49 - >::construct(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)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46 , T_47 && t47 , T_48 && t48 , T_49 && t49) - { - return type(std::forward(t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 , T_43 , T_44 , T_45 , T_46 , T_47 , T_48 , T_49 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40) , std::forward(t41) , std::forward(t42) , std::forward(t43) , std::forward(t44) , std::forward(t45) , std::forward(t46) , std::forward(t47) , std::forward(t48) , std::forward(t49))); - } -# endif - }; - template - struct deque_keyed_values - : deque_keyed_values_impl, 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> - {}; -}}} diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/deque_keyed_values.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/deque_keyed_values.hpp deleted file mode 100644 index 9bcffeb234..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/deque_keyed_values.hpp +++ /dev/null @@ -1,72 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2012 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(BOOST_FUSION_DEQUE_DETAIL_CPP11_DEQUE_KEYED_VALUES_07042012_1901) -#define BOOST_FUSION_DEQUE_DETAIL_CPP11_DEQUE_KEYED_VALUES_07042012_1901 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template - struct keyed_element; - - template - struct deque_keyed_values_impl; - - template - struct deque_keyed_values_impl - { - typedef mpl::int_<(N::value + 1)> next_index; - typedef typename deque_keyed_values_impl::type tail; - typedef keyed_element type; - - BOOST_FUSION_GPU_ENABLED - static type construct( - typename detail::call_param::type head - , typename detail::call_param::type... tail) - { - return type( - head - , deque_keyed_values_impl::construct(tail...) - ); - } - - template - BOOST_FUSION_GPU_ENABLED - static type forward_(Head_&& head, Tail_&&... tail) - { - return type( - std::forward(head) - , deque_keyed_values_impl:: - forward_(std::forward(tail)...) - ); - } - }; - - struct nil_keyed_element; - - template - struct deque_keyed_values_impl - { - typedef nil_keyed_element type; - BOOST_FUSION_GPU_ENABLED - static type construct() { return type(); } - BOOST_FUSION_GPU_ENABLED - static type forward_() { return type(); } - }; - - template - struct deque_keyed_values - : deque_keyed_values_impl, Elements...> {}; -}}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/end_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/end_impl.hpp deleted file mode 100644 index 73ef85ffb5..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/end_impl.hpp +++ /dev/null @@ -1,50 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2012 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(BOOST_FUSION_DEQUE_END_IMPL_09122006_2034) -#define BOOST_FUSION_DEQUE_END_IMPL_09122006_2034 - -#include -#include - -#include -#include - -namespace boost { namespace fusion -{ - struct deque_tag; - - namespace extension - { - template - struct end_impl; - - template<> - struct end_impl - { - template - struct apply - { - typedef typename - mpl::if_c< - (Sequence::next_down::value == Sequence::next_up::value) - , deque_iterator - , deque_iterator - >::type - type; - - BOOST_FUSION_GPU_ENABLED - static type call(Sequence& seq) - { - return type(seq); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/keyed_element.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/keyed_element.hpp deleted file mode 100644 index 05258820dc..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/deque/detail/keyed_element.hpp +++ /dev/null @@ -1,170 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2012 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(BOOST_FUSION_DEQUE_DETAIL_KEYED_ELEMENT_26112006_1330) -#define BOOST_FUSION_DEQUE_DETAIL_KEYED_ELEMENT_26112006_1330 - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct fusion_sequence_tag; -}} - -namespace boost { namespace fusion { namespace detail -{ - struct nil_keyed_element - { - typedef fusion_sequence_tag tag; - BOOST_FUSION_GPU_ENABLED - void get(); - - template - BOOST_FUSION_GPU_ENABLED - static nil_keyed_element - from_iterator(It const&) - { - return nil_keyed_element(); - } - }; - - template - struct keyed_element : Rest - { - typedef Rest base; - typedef fusion_sequence_tag tag; - using Rest::get; - - template - BOOST_FUSION_GPU_ENABLED - static keyed_element - from_iterator(It const& it) - { - return keyed_element( - *it, base::from_iterator(fusion::next(it))); - } - - BOOST_FUSION_GPU_ENABLED - keyed_element(keyed_element const& rhs) - : Rest(rhs.get_base()), value_(rhs.value_) - {} - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - BOOST_FUSION_GPU_ENABLED - keyed_element(keyed_element&& rhs) - : Rest(std::forward(rhs.forward_base())) - , value_(std::forward(rhs.value_)) - {} -#endif - - template - BOOST_FUSION_GPU_ENABLED - keyed_element(keyed_element const& rhs) - : Rest(rhs.get_base()), value_(rhs.value_) - {} - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -#endif - - BOOST_FUSION_GPU_ENABLED - Rest& get_base() - { - return *this; - } - - BOOST_FUSION_GPU_ENABLED - Rest const& get_base() const - { - return *this; - } - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - BOOST_FUSION_GPU_ENABLED - Rest&& forward_base() - { - return std::forward(*static_cast(this)); - } -#endif - - BOOST_FUSION_GPU_ENABLED - typename cref_result::type get(Key) const - { - return value_; - } - - BOOST_FUSION_GPU_ENABLED - typename ref_result::type get(Key) - { - return value_; - } - - BOOST_FUSION_GPU_ENABLED - keyed_element( - typename detail::call_param::type value - , Rest const& rest) - : Rest(rest), value_(value) - {} - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - BOOST_FUSION_GPU_ENABLED - keyed_element(Value&& value, Rest&& rest) - : Rest(std::forward(rest)) - , value_(std::forward(value)) - {} -#endif - - BOOST_FUSION_GPU_ENABLED - keyed_element() - : Rest(), value_() - {} - - template - BOOST_FUSION_GPU_ENABLED - keyed_element& operator=(keyed_element const& rhs) - { - base::operator=(static_cast(rhs)); // cast for msvc-7.1 - value_ = rhs.value_; - return *this; - } - - BOOST_FUSION_GPU_ENABLED - keyed_element& operator=(keyed_element const& rhs) - { - base::operator=(rhs); - value_ = rhs.value_; - return *this; - } - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - BOOST_FUSION_GPU_ENABLED - keyed_element& operator=(keyed_element&& rhs) - { - base::operator=(std::forward(rhs)); - value_ = std::forward(rhs.value_); - return *this; - } -#endif - - Value value_; - }; - - template - struct keyed_element_value_at - : keyed_element_value_at - {}; - - template - struct keyed_element_value_at, Key> - { - typedef Value type; - }; -}}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/generation/list_tie.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/generation/list_tie.hpp deleted file mode 100644 index 1631d0d365..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/generation/list_tie.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) -==============================================================================*/ -#ifndef BOOST_PP_IS_ITERATING -#if !defined(FUSION_LIST_TIE_07192005_0109) -#define FUSION_LIST_TIE_07192005_0109 - -#include -#include -#include -#include -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/list_tie" FUSION_MAX_LIST_SIZE_STR".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct void_; - - namespace result_of - { - template < - BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( - FUSION_MAX_LIST_SIZE, typename T, void_) - , typename Extra = void_ - > - struct list_tie; - } - -// $$$ shouldn't we remove_reference first to allow references? $$$ -#define BOOST_FUSION_REF(z, n, data) BOOST_PP_CAT(T, n)& - -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_LIST_SIZE) -#include BOOST_PP_ITERATE() - -#undef BOOST_FUSION_REF - -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// - -#define N BOOST_PP_ITERATION() - - namespace result_of - { - template - #define TEXT(z, n, text) , text - struct list_tie< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_LIST_SIZE, TEXT, void_) > - #undef TEXT - { - typedef list type; - }; - } - - template - BOOST_FUSION_GPU_ENABLED - inline list - list_tie(BOOST_PP_ENUM_BINARY_PARAMS(N, T, & _)) - { - return list( - BOOST_PP_ENUM_PARAMS(N, _)); - } - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) - diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/generation/make_list.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/generation/make_list.hpp deleted file mode 100644 index d1f9ea5721..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/generation/make_list.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(FUSION_MAKE_LIST_07192005_1239) -#define FUSION_MAKE_LIST_07192005_1239 - -#include -#include -#include -#include -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/make_list" FUSION_MAX_LIST_SIZE_STR".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct void_; - - namespace result_of - { - template < - BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( - FUSION_MAX_LIST_SIZE, typename T, void_) - , typename Extra = void_ - > - struct make_list; - - template <> - struct make_list<> - { - typedef list<> type; - }; - } - - BOOST_FUSION_GPU_ENABLED inline list<> - make_list() - { - return list<>(); - } - -#define BOOST_FUSION_AS_FUSION_ELEMENT(z, n, data) \ - typename detail::as_fusion_element::type - -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_LIST_SIZE) -#include BOOST_PP_ITERATE() - -#undef BOOST_FUSION_AS_FUSION_ELEMENT - -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// - -#define N BOOST_PP_ITERATION() - - namespace result_of - { - template - #define TEXT(z, n, text) , text - struct make_list< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_LIST_SIZE, TEXT, void_) > - #undef TEXT - { - typedef list type; - }; - } - - template - BOOST_FUSION_GPU_ENABLED - inline list - make_list(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& _)) - { - return list( - BOOST_PP_ENUM_PARAMS(N, _)); - } - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) - diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/generation/make_set.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/generation/make_set.hpp deleted file mode 100644 index 4cd20ab77a..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/generation/make_set.hpp +++ /dev/null @@ -1,116 +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_SET_09162005_1125) -#define FUSION_MAKE_SET_09162005_1125 - -#include -#include -#include -#include -#include -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/make_set" FUSION_MAX_SET_SIZE_STR".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct void_; - - namespace result_of - { - template < - BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( - FUSION_MAX_VECTOR_SIZE, typename T, void_) - , typename Extra = void_ - > - struct make_set; - - template <> - struct make_set<> - { - typedef set<> type; - }; - } - - BOOST_FUSION_GPU_ENABLED inline set<> - make_set() - { - return set<>(); - } - -#define BOOST_FUSION_AS_FUSION_ELEMENT(z, n, data) \ - typename detail::as_fusion_element::type - -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) -#include BOOST_PP_ITERATE() - -#undef BOOST_FUSION_ELEMENT -#undef BOOST_FUSION_AS_ELEMENT - -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// - -#define N BOOST_PP_ITERATION() - - namespace result_of - { - template - #define TEXT(z, n, text) , text - struct make_set< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_SET_SIZE, TEXT, void_) > - #undef TEXT - { - typedef set type; - }; - } - - template - BOOST_FUSION_GPU_ENABLED - inline set - make_set(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& _)) - { - return set( - BOOST_PP_ENUM_PARAMS(N, _)); - } - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) - diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/generation/make_vector.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/generation/make_vector.hpp deleted file mode 100644 index 4911f4bfd5..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/generation/make_vector.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(FUSION_MAKE_VECTOR_07162005_0243) -#define FUSION_MAKE_VECTOR_07162005_0243 - -#include -#include -#include -#include -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/make_vector" FUSION_MAX_VECTOR_SIZE_STR".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct void_; - - namespace result_of - { - template < - BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( - FUSION_MAX_VECTOR_SIZE, typename T, void_) - , typename Extra = void_ - > - struct make_vector; - - template <> - struct make_vector<> - { - typedef vector0<> type; - }; - } - - BOOST_FUSION_GPU_ENABLED inline vector0<> - make_vector() - { - return vector0<>(); - } - -#define BOOST_FUSION_AS_FUSION_ELEMENT(z, n, data) \ - typename detail::as_fusion_element::type - -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) -#include BOOST_PP_ITERATE() - -#undef BOOST_FUSION_AS_FUSION_ELEMENT - -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// - -#define N BOOST_PP_ITERATION() - - namespace result_of - { - template - #define TEXT(z, n, text) , text - struct make_vector< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_VECTOR_SIZE, TEXT, void_) > - #undef TEXT - { - typedef BOOST_PP_CAT(vector, N) type; - }; - } - - template - BOOST_FUSION_GPU_ENABLED - inline BOOST_PP_CAT(vector, N) - make_vector(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& _)) - { - return BOOST_PP_CAT(vector, N)( - BOOST_PP_ENUM_PARAMS(N, _)); - } - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) - diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/generation/vector_tie.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/generation/vector_tie.hpp deleted file mode 100644 index f71b7677be..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/generation/vector_tie.hpp +++ /dev/null @@ -1,100 +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_VECTOR_TIE_07192005_1242) -#define FUSION_VECTOR_TIE_07192005_1242 - -#include -#include -#include -#include -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vector_tie" FUSION_MAX_VECTOR_SIZE_STR".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct void_; - - namespace result_of - { - template < - BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( - FUSION_MAX_VECTOR_SIZE, typename T, void_) - , typename Extra = void_ - > - struct vector_tie; - } - -#define BOOST_FUSION_REF(z, n, data) BOOST_PP_CAT(T, n)& - -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) -#include BOOST_PP_ITERATE() - -#undef BOOST_FUSION_REF -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// - -#define N BOOST_PP_ITERATION() - - namespace result_of - { - template - #define TEXT(z, n, text) , text - struct vector_tie< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_VECTOR_SIZE, TEXT, void_) > - #undef TEXT - { - typedef vector type; - }; - } - - template - BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(BOOST_PP_ENUM_BINARY_PARAMS(N, T, & _)) - { - return vector( - BOOST_PP_ENUM_PARAMS(N, _)); - } - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) - diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/list.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/list.hpp deleted file mode 100644 index bdb5dc9a02..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/list.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(FUSION_SEQUENCE_CLASS_LIST_10022005_0605) -#define FUSION_SEQUENCE_CLASS_LIST_10022005_0605 - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/list/cons.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/list/cons.hpp deleted file mode 100644 index 1de7048b63..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/list/cons.hpp +++ /dev/null @@ -1,135 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005 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(FUSION_CONS_07172005_0843) -#define FUSION_CONS_07172005_0843 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct void_; - struct cons_tag; - struct forward_traversal_tag; - struct fusion_sequence_tag; - - template - struct cons : sequence_base > - { - typedef mpl::int_ size; - typedef cons_tag fusion_tag; - typedef fusion_sequence_tag tag; // this gets picked up by MPL - typedef mpl::false_ is_view; - typedef forward_traversal_tag category; - typedef Car car_type; - typedef Cdr cdr_type; - - BOOST_FUSION_GPU_ENABLED - cons() - : car(), cdr() {} - - BOOST_FUSION_GPU_ENABLED - explicit cons(typename detail::call_param::type in_car) - : car(in_car), cdr() {} - - BOOST_FUSION_GPU_ENABLED - cons( - typename detail::call_param::type in_car - , typename detail::call_param::type in_cdr) - : car(in_car), cdr(in_cdr) {} - - template - BOOST_FUSION_GPU_ENABLED - cons(cons const& rhs) - : car(rhs.car), cdr(rhs.cdr) {} - - BOOST_FUSION_GPU_ENABLED - cons(cons const& rhs) - : car(rhs.car), cdr(rhs.cdr) {} - - template - BOOST_FUSION_GPU_ENABLED - cons( - Sequence const& seq - , typename boost::disable_if< - mpl::or_< - is_convertible // use copy ctor instead - , is_convertible // use copy to car instead - > - >::type* /*dummy*/ = 0 - ) - : car(*fusion::begin(seq)) - , cdr(fusion::next(fusion::begin(seq)), mpl::true_()) {} - - template - BOOST_FUSION_GPU_ENABLED - cons(Iterator const& iter, mpl::true_ /*this_is_an_iterator*/) - : car(*iter) - , cdr(fusion::next(iter), mpl::true_()) {} - - template - BOOST_FUSION_GPU_ENABLED - cons& operator=(cons const& rhs) - { - car = rhs.car; - cdr = rhs.cdr; - return *this; - } - - BOOST_FUSION_GPU_ENABLED - cons& operator=(cons const& rhs) - { - car = rhs.car; - cdr = rhs.cdr; - return *this; - } - - template - BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, cons&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type Iterator; - Iterator iter = fusion::begin(seq); - this->assign_from_iter(iter); - return *this; - } - - template - BOOST_FUSION_GPU_ENABLED - void assign_from_iter(Iterator const& iter) - { - car = *iter; - cdr.assign_from_iter(fusion::next(iter)); - } - - car_type car; - cdr_type cdr; - }; -}} - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/list/cons_iterator.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/list/cons_iterator.hpp deleted file mode 100644 index 42c023c16f..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/list/cons_iterator.hpp +++ /dev/null @@ -1,101 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005 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(FUSION_CONS_ITERATOR_07172005_0849) -#define FUSION_CONS_ITERATOR_07172005_0849 - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct nil_; - struct cons_iterator_tag; - struct forward_traversal_tag; - - template - struct cons_iterator_identity; - - template - struct cons_iterator : iterator_base > - { - typedef cons_iterator_tag fusion_tag; - typedef forward_traversal_tag category; - typedef Cons cons_type; - typedef cons_iterator_identity< - typename add_const::type> - identity; - - BOOST_FUSION_GPU_ENABLED - explicit cons_iterator(cons_type& in_cons) - : cons(in_cons) {} - - cons_type& cons; - - private: - // silence MSVC warning C4512: assignment operator could not be generated - cons_iterator& operator= (cons_iterator const&); - }; - - struct nil_iterator : iterator_base - { - typedef forward_traversal_tag category; - typedef cons_iterator_tag fusion_tag; - typedef nil_ cons_type; - typedef cons_iterator_identity< - add_const::type> - identity; - BOOST_FUSION_GPU_ENABLED - nil_iterator() {} - BOOST_FUSION_GPU_ENABLED - explicit nil_iterator(nil_ const&) {} - }; - - template <> - struct cons_iterator : nil_iterator - { - BOOST_FUSION_GPU_ENABLED - cons_iterator() {} - BOOST_FUSION_GPU_ENABLED - explicit cons_iterator(nil_ const&) {} - }; - - template <> - struct cons_iterator : nil_iterator - { - BOOST_FUSION_GPU_ENABLED - cons_iterator() {} - BOOST_FUSION_GPU_ENABLED - explicit cons_iterator(nil_ const&) {} - }; - - template <> - struct cons_iterator > : nil_iterator - { - BOOST_FUSION_GPU_ENABLED - cons_iterator() {} - BOOST_FUSION_GPU_ENABLED - explicit cons_iterator(nil_ const&) {} - }; - - template <> - struct cons_iterator const> : nil_iterator - { - BOOST_FUSION_GPU_ENABLED - cons_iterator() {} - BOOST_FUSION_GPU_ENABLED - explicit cons_iterator(nil_ const&) {} - }; -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/list/convert.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/list/convert.hpp deleted file mode 100644 index f34ad396d4..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/list/convert.hpp +++ /dev/null @@ -1,60 +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_1215) -#define FUSION_CONVERT_09232005_1215 - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct as_list - { - typedef typename - detail::build_cons< - typename result_of::begin::type - , typename result_of::end::type - > - build_cons; - - typedef typename build_cons::type type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& seq) - { - return build_cons::call(fusion::begin(seq), fusion::end(seq)); - } - }; - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::as_list::type - as_list(Sequence& seq) - { - return result_of::as_list::call(seq); - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::as_list::type - as_list(Sequence const& seq) - { - return result_of::as_list::call(seq); - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/list/detail/at_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/list/detail/at_impl.hpp deleted file mode 100644 index b7688522a3..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/list/detail/at_impl.hpp +++ /dev/null @@ -1,136 +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_AT_IMPL_07172005_0726) -#define FUSION_AT_IMPL_07172005_0726 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace detail - { - template - struct cons_deref - { - typedef typename Cons::car_type type; - }; - - template - struct cons_advance - { - typedef typename - cons_advance::type::cdr_type - type; - }; - - template - struct cons_advance - { - typedef Cons type; - }; - - template - struct cons_advance - { - typedef typename Cons::cdr_type type; - }; - - template - struct cons_advance - { -#if BOOST_WORKAROUND(BOOST_MSVC, > 1400) // VC8 and above - typedef typename Cons::cdr_type::cdr_type type; -#else - typedef typename Cons::cdr_type _a; - typedef typename _a::cdr_type type; -#endif - }; - - template - struct cons_advance - { -#if BOOST_WORKAROUND(BOOST_MSVC, > 1400) // VC8 and above - typedef typename Cons::cdr_type::cdr_type::cdr_type type; -#else - typedef typename Cons::cdr_type _a; - typedef typename _a::cdr_type _b; - typedef typename _b::cdr_type type; -#endif - }; - - template - struct cons_advance - { -#if BOOST_WORKAROUND(BOOST_MSVC, > 1400) // VC8 and above - typedef typename Cons::cdr_type::cdr_type::cdr_type::cdr_type type; -#else - typedef typename Cons::cdr_type _a; - typedef typename _a::cdr_type _b; - typedef typename _b::cdr_type _c; - typedef typename _c::cdr_type type; -#endif - }; - } - - struct cons_tag; - - namespace extension - { - template - struct at_impl; - - template <> - struct at_impl - { - template - struct apply - { - typedef typename detail::cons_deref< - typename detail::cons_advance::type>::type - element; - - typedef typename - mpl::if_< - is_const - , typename detail::cref_result::type - , typename detail::ref_result::type - >::type - type; - - template - BOOST_FUSION_GPU_ENABLED - static type - call(Cons& s, mpl::int_) - { - return call(s.cdr, mpl::int_()); - } - - template - BOOST_FUSION_GPU_ENABLED - static type - call(Cons& s, mpl::int_<0>) - { - return s.car; - } - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& s) - { - return call(s, mpl::int_()); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/list/detail/begin_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/list/detail/begin_impl.hpp deleted file mode 100644 index a30223456c..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/list/detail/begin_impl.hpp +++ /dev/null @@ -1,51 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005 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(FUSION_BEGIN_IMPL_07172005_0824) -#define FUSION_BEGIN_IMPL_07172005_0824 - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct nil_; - - struct cons_tag; - - template - struct cons; - - template - struct cons_iterator; - - namespace extension - { - template - struct begin_impl; - - template <> - struct begin_impl - { - template - struct apply - { - typedef cons_iterator type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& t) - { - return type(t); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/list/detail/build_cons.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/list/detail/build_cons.hpp deleted file mode 100644 index 0f40700896..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/list/detail/build_cons.hpp +++ /dev/null @@ -1,61 +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_BUILD_CONS_09232005_1222) -#define FUSION_BUILD_CONS_09232005_1222 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template < - typename First - , typename Last - , bool is_empty = result_of::equal_to::value> - struct build_cons; - - template - struct build_cons - { - typedef nil_ type; - - BOOST_FUSION_GPU_ENABLED - static nil_ - call(First const&, Last const&) - { - return nil_(); - } - }; - - template - struct build_cons - { - typedef - build_cons::type, Last> - next_build_cons; - - typedef cons< - typename result_of::value_of::type - , typename next_build_cons::type> - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(First const& f, Last const& l) - { - typename result_of::value_of::type v = *f; - return type(v, next_build_cons::call(fusion::next(f), l)); - } - }; - -}}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/list/detail/convert_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/list/detail/convert_impl.hpp deleted file mode 100644 index 000280e7c3..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/list/detail/convert_impl.hpp +++ /dev/null @@ -1,53 +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_1215) -#define FUSION_CONVERT_IMPL_09232005_1215 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct cons_tag; - - namespace extension - { - template - struct convert_impl; - - template <> - struct convert_impl - { - template - struct apply - { - typedef typename - detail::build_cons< - typename result_of::begin::type - , typename result_of::end::type - > - build_cons; - - typedef typename build_cons::type type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& seq) - { - return build_cons::call(fusion::begin(seq), fusion::end(seq)); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/list/detail/deref_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/list/detail/deref_impl.hpp deleted file mode 100644 index aefffd757f..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/list/detail/deref_impl.hpp +++ /dev/null @@ -1,54 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005 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(FUSION_DEREF_IMPL_07172005_0831) -#define FUSION_DEREF_IMPL_07172005_0831 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct cons_iterator_tag; - - namespace extension - { - template - struct deref_impl; - - template <> - struct deref_impl - { - template - struct apply - { - typedef typename Iterator::cons_type cons_type; - typedef typename cons_type::car_type value_type; - - typedef typename mpl::eval_if< - is_const - , add_reference::type> - , add_reference >::type - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return i.cons.car; - } - }; - }; - } -}} - -#endif - - diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/list/detail/end_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/list/detail/end_impl.hpp deleted file mode 100644 index 9220d24a78..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/list/detail/end_impl.hpp +++ /dev/null @@ -1,53 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005 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(FUSION_END_IMPL_07172005_0828) -#define FUSION_END_IMPL_07172005_0828 - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct nil_; - - struct cons_tag; - - template - struct cons; - - template - struct cons_iterator; - - namespace extension - { - template - struct end_impl; - - template <> - struct end_impl - { - template - struct apply - { - typedef cons_iterator< - typename mpl::if_, nil_ const, nil_>::type> - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence&) - { - return type(); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/list/detail/equal_to_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/list/detail/equal_to_impl.hpp deleted file mode 100644 index 0cbb6bef4f..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/list/detail/equal_to_impl.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) -==============================================================================*/ -#if !defined(FUSION_EQUAL_TO_IMPL_09172005_1120) -#define FUSION_EQUAL_TO_IMPL_09172005_1120 - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct cons_iterator_tag; - - namespace extension - { - template - struct equal_to_impl; - - template <> - struct equal_to_impl - { - template - struct apply - : is_same< - typename I1::identity - , typename I2::identity - > - { - }; - }; - } -}} - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/list/detail/list_to_cons.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/list/detail/list_to_cons.hpp deleted file mode 100644 index bc8718631c..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/list/detail/list_to_cons.hpp +++ /dev/null @@ -1,76 +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_LIST_TO_CONS_07172005_1041) -#define FUSION_LIST_TO_CONS_07172005_1041 - -#include -#include -#include -#include -#include -#include -#include - -#define FUSION_VOID(z, n, _) void_ - -namespace boost { namespace fusion -{ - struct nil_; - struct void_; -}} - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/list_to_cons" FUSION_MAX_LIST_SIZE_STR ".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion { namespace detail -{ - template - struct list_to_cons - { - typedef T0 head_type; - typedef list_to_cons< - BOOST_PP_ENUM_SHIFTED_PARAMS(FUSION_MAX_LIST_SIZE, T), void_> - tail_list_to_cons; - typedef typename tail_list_to_cons::type tail_type; - - typedef cons type; - - #include - }; - - template <> - struct list_to_cons - { - typedef nil_ type; - }; -}}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#undef FUSION_VOID -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/list/detail/next_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/list/detail/next_impl.hpp deleted file mode 100644 index 7383a9630b..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/list/detail/next_impl.hpp +++ /dev/null @@ -1,61 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005 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(FUSION_NEXT_IMPL_07172005_0836) -#define FUSION_NEXT_IMPL_07172005_0836 - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct cons_iterator_tag; - - template - struct cons_iterator; - - namespace extension - { - template - struct next_impl; - - template <> - struct next_impl - { - template - struct apply - { - typedef typename Iterator::cons_type cons_type; - typedef typename cons_type::cdr_type cdr_type; - - typedef cons_iterator< - typename mpl::eval_if< - is_const - , add_const - , mpl::identity - >::type> - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(i.cons.cdr); - } - }; - }; - } -}} - -#endif - - diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/list/detail/value_at_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/list/detail/value_at_impl.hpp deleted file mode 100644 index ea9a859361..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/list/detail/value_at_impl.hpp +++ /dev/null @@ -1,43 +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_VALUE_AT_IMPL_07172005_0952) -#define FUSION_VALUE_AT_IMPL_07172005_0952 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct cons_tag; - - namespace extension - { - template - struct value_at_impl; - - template <> - struct value_at_impl - { - template - struct apply - { - typedef typename - mpl::eval_if< - mpl::bool_ - , mpl::identity - , apply > - >::type - type; - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/list/detail/value_of_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/list/detail/value_of_impl.hpp deleted file mode 100644 index daabe4110e..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/list/detail/value_of_impl.hpp +++ /dev/null @@ -1,36 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005 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(FUSION_VALUE_OF_IMPL_07172005_0838) -#define FUSION_VALUE_OF_IMPL_07172005_0838 - -namespace boost { namespace fusion -{ - struct cons_iterator_tag; - - namespace extension - { - template - struct value_of_impl; - - template <> - struct value_of_impl - { - template - struct apply - { - typedef typename Iterator::cons_type cons_type; - typedef typename cons_type::car_type type; - }; - }; - } - -}} - -#endif - - diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/list/list.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/list/list.hpp deleted file mode 100644 index 9e042bb481..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/list/list.hpp +++ /dev/null @@ -1,100 +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_LIST_07172005_1153) -#define FUSION_LIST_07172005_1153 - -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/list" FUSION_MAX_LIST_SIZE_STR ".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct nil_; - struct void_; - - template - struct list - : detail::list_to_cons::type - { - private: - typedef - detail::list_to_cons - list_to_cons; - - public: - typedef typename list_to_cons::type inherited_type; - - BOOST_FUSION_GPU_ENABLED - list() - : inherited_type() {} - - template - BOOST_FUSION_GPU_ENABLED - list(list const& rhs) - : inherited_type(rhs) {} - - template - BOOST_FUSION_GPU_ENABLED - list(Sequence const& rhs) - : inherited_type(rhs) {} - - // Expand a couple of forwarding constructors for arguments - // of type (T0), (T0, T1), (T0, T1, T2) etc. Exanple: - // - // list( - // typename detail::call_param::type _0 - // , typename detail::call_param::type _1) - // : inherited_type(list_to_cons::call(_0, _1)) {} - #include - - template - BOOST_FUSION_GPU_ENABLED - list& - operator=(list const& rhs) - { - inherited_type::operator=(rhs); - return *this; - } - - template - BOOST_FUSION_GPU_ENABLED - list& - operator=(T const& rhs) - { - inherited_type::operator=(rhs); - return *this; - } - }; -}} - -#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/bundled/boost-1.56.0/include/boost/fusion/container/list/list_fwd.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/list/list_fwd.hpp deleted file mode 100644 index d827d283e8..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/list/list_fwd.hpp +++ /dev/null @@ -1,51 +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_LIST_FORWARD_07172005_0224) -#define FUSION_LIST_FORWARD_07172005_0224 - -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/list" FUSION_MAX_LIST_SIZE_STR "_fwd.hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct void_; - - template < - BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( - FUSION_MAX_LIST_SIZE, typename T, void_) - > - struct list; -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/map/convert.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/map/convert.hpp deleted file mode 100644 index d106610b7b..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/map/convert.hpp +++ /dev/null @@ -1,117 +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_MAIN_09232005_1340) -#define FUSION_CONVERT_MAIN_09232005_1340 - -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template - struct pair_from - { - typedef typename result_of::value_of::type type; - - BOOST_FUSION_GPU_ENABLED - static inline type call(It const& it) - { - return *it; - } - }; - - template - struct pair_from - { - typedef typename result_of::key_of::type key_type; - typedef typename result_of::value_of_data::type data_type; - typedef typename fusion::pair type; - - BOOST_FUSION_GPU_ENABLED - static inline type call(It const& it) - { - return type(deref_data(it)); - } - }; -}}} - -/////////////////////////////////////////////////////////////////////////////// -// Without variadics, we will use the PP version -/////////////////////////////////////////////////////////////////////////////// -#if !defined(BOOST_FUSION_HAS_VARIADIC_MAP) -# include - -#else -/////////////////////////////////////////////////////////////////////////////// -// C++11 variadic implementation -/////////////////////////////////////////////////////////////////////////////// -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct as_map : - detail::build_map< - typename result_of::begin::type - , typename result_of::end::type - , is_base_of< - associative_tag - , typename traits::category_of::type>::value - > - { - }; - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::as_map::type - as_map(Sequence& seq) - { - typedef result_of::as_map gen; - return gen::call(fusion::begin(seq), fusion::end(seq)); - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::as_map::type - as_map(Sequence const& seq) - { - typedef result_of::as_map gen; - return gen::call(fusion::begin(seq), fusion::end(seq)); - } - - namespace extension - { - template - struct convert_impl; - - template <> - struct convert_impl - { - template - struct apply - { - typedef typename - result_of::as_map::type - type; - - BOOST_FUSION_GPU_ENABLED - static type call(Sequence& seq) - { - typedef result_of::as_map gen; - return gen::call(fusion::begin(seq), fusion::end(seq)); - } - }; - }; - } -}} - -#endif -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/at_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/at_impl.hpp deleted file mode 100644 index c2a565ebe0..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/at_impl.hpp +++ /dev/null @@ -1,60 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2013 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_FUSION_MAP_DETAIL_AT_IMPL_02042013_0821) -#define BOOST_FUSION_MAP_DETAIL_AT_IMPL_02042013_0821 - -#include -#include - -namespace boost { namespace fusion -{ - struct map_tag; - - namespace extension - { - template - struct at_impl; - - template <> - struct at_impl - { - template - struct apply - { - typedef mpl::int_ index; - typedef - decltype(std::declval().get(index())) - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& m) - { - return m.get(index()); - } - }; - - template - struct apply - { - typedef mpl::int_ index; - typedef - decltype(std::declval().get(index())) - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence const& m) - { - return m.get(index()); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/begin_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/begin_impl.hpp deleted file mode 100644 index 9c8f4acbeb..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/begin_impl.hpp +++ /dev/null @@ -1,40 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2013 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_FUSION_MAP_BEGIN_IMPL_02042013_0857) -#define BOOST_FUSION_MAP_BEGIN_IMPL_02042013_0857 - -#include -#include - -namespace boost { namespace fusion -{ - struct map_tag; - - namespace extension - { - template - struct begin_impl; - - template<> - struct begin_impl - { - template - struct apply - { - typedef map_iterator type; - - BOOST_FUSION_GPU_ENABLED - static type call(Sequence& seq) - { - return type(seq); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/at_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/at_impl.hpp deleted file mode 100644 index 8a3209d75a..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/at_impl.hpp +++ /dev/null @@ -1,64 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2011 Brandon Kohn - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_MAP_DETAIL_AT_IMPL_HPP) -#define BOOST_FUSION_MAP_DETAIL_AT_IMPL_HPP - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct map_tag; - - namespace extension - { - template - struct at_impl; - - template <> - struct at_impl - { - template - struct apply - { - typedef typename - mpl::at::type - element; - typedef typename detail::ref_result::type type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& m) - { - return m.get_data().at_impl(N()); - } - }; - - template - struct apply - { - typedef typename - mpl::at::type - element; - typedef typename detail::cref_result::type type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence const& m) - { - return m.get_data().at_impl(N()); - } - }; - }; - } -}} - -#endif //BOOST_FUSION_MAP_DETAIL_AT_IMPL_HPP diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/begin_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/begin_impl.hpp deleted file mode 100644 index 5fe1466e18..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/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_MAP_DETAIL_BEGIN_IMPL_HPP -#define BOOST_FUSION_CONTAINER_MAP_DETAIL_BEGIN_IMPL_HPP - -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct begin_impl; - - template <> - struct begin_impl - { - template - struct apply - { - typedef - basic_iterator< - map_iterator_tag - , typename Seq::category - , Seq - , 0 - > - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Seq& seq) - { - return type(seq,0); - } - }; - }; -}}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/convert.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/convert.hpp deleted file mode 100644 index a03840ce13..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/convert.hpp +++ /dev/null @@ -1,57 +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_1340) -#define FUSION_CONVERT_09232005_1340 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct as_map - { - typedef typename - detail::as_map< - result_of::size::value - , is_base_of< - associative_tag - , typename traits::category_of::type>::value - > - gen; - typedef typename gen:: - template apply::type>::type - type; - }; - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::as_map::type - as_map(Sequence& seq) - { - typedef typename result_of::as_map::gen gen; - return gen::call(fusion::begin(seq)); - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::as_map::type - as_map(Sequence const& seq) - { - typedef typename result_of::as_map::gen gen; - return gen::call(fusion::begin(seq)); - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/convert_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/convert_impl.hpp deleted file mode 100644 index 14a821e879..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/convert_impl.hpp +++ /dev/null @@ -1,54 +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_1340) -#define FUSION_CONVERT_IMPL_09232005_1340 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct map_tag; - - namespace extension - { - template - struct convert_impl; - - template <> - struct convert_impl - { - template - struct apply - { - typedef typename - detail::as_map< - result_of::size::value - , is_base_of< - associative_tag - , typename traits::category_of::type>::value - > - gen; - typedef typename gen:: - template apply::type>::type - type; - - BOOST_FUSION_GPU_ENABLED - static type call(Sequence& seq) - { - return gen::call(fusion::begin(seq)); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/deref_data_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/deref_data_impl.hpp deleted file mode 100644 index 7be6fd962a..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/deref_data_impl.hpp +++ /dev/null @@ -1,49 +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_MAP_DETAIL_DEREF_DATA_IMPL_HPP -#define BOOST_FUSION_CONTAINER_MAP_DETAIL_DEREF_DATA_IMPL_HPP - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct deref_data_impl; - - template <> - struct deref_data_impl - { - template - struct apply - { - typedef typename result_of::value_of::type::second_type data; - - typedef typename - mpl::if_< - is_const - , typename detail::cref_result::type - , typename detail::ref_result::type - >::type - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(It const& it) - { - return fusion::deref(it).second; - } - }; - }; -}}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/deref_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/deref_impl.hpp deleted file mode 100644 index 260c5dfddd..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/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_MAP_DETAIL_DEREF_IMPL_HPP -#define BOOST_FUSION_CONTAINER_MAP_DETAIL_DEREF_IMPL_HPP - -#include -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct deref_impl; - - template <> - struct deref_impl - { - template - struct apply - { - typedef typename - result_of::at< - typename mpl::if_< - is_const - , typename It::seq_type::storage_type const - , typename It::seq_type::storage_type - >::type - , typename It::index - >::type - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(It const& it) - { - return fusion::at(it.seq->get_data()); - } - }; - }; -}}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/end_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/end_impl.hpp deleted file mode 100644 index 33940c7a7e..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/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_MAP_DETAIL_END_IMPL_HPP -#define BOOST_FUSION_CONTAINER_MAP_DETAIL_END_IMPL_HPP - -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct end_impl; - - template <> - struct end_impl - { - template - struct apply - { - typedef - basic_iterator< - map_iterator_tag - , typename Seq::category - , Seq - , Seq::size::value - > - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Seq& seq) - { - return type(seq,0); - } - }; - }; -}}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/limits.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/limits.hpp deleted file mode 100644 index 43b5abb261..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/limits.hpp +++ /dev/null @@ -1,28 +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_MAP_LIMITS_07212005_1104) -#define FUSION_MAP_LIMITS_07212005_1104 - -#include -#include - -#if !defined(FUSION_MAX_MAP_SIZE) -# define FUSION_MAX_MAP_SIZE FUSION_MAX_VECTOR_SIZE -#else -# if FUSION_MAX_MAP_SIZE < 3 -# undef FUSION_MAX_MAP_SIZE -# if (FUSION_MAX_VECTOR_SIZE > 10) -# define FUSION_MAX_MAP_SIZE 10 -# else -# define FUSION_MAX_MAP_SIZE FUSION_MAX_VECTOR_SIZE -# endif -# endif -#endif - -#define FUSION_MAX_MAP_SIZE_STR BOOST_PP_STRINGIZE(BOOST_FUSION_PP_ROUND_UP(FUSION_MAX_MAP_SIZE)) - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/map.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/map.hpp deleted file mode 100644 index 8673895ea8..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/map.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(FUSION_MAP_07212005_1106) -#define FUSION_MAP_07212005_1106 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/map" FUSION_MAX_MAP_SIZE_STR ".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct void_; - struct fusion_sequence_tag; - - template - struct map : sequence_base > - { - struct category : random_access_traversal_tag, associative_tag {}; - - typedef map_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_MAP_SIZE, T)> - storage_type; - - typedef typename storage_type::size size; - - BOOST_FUSION_GPU_ENABLED - map() - : data() {} - - template - BOOST_FUSION_GPU_ENABLED - map(Sequence const& rhs) - : data(rhs) {} - - #include - - template - BOOST_FUSION_GPU_ENABLED - map& operator=(T const& rhs) - { - data = rhs; - return *this; - } - - BOOST_FUSION_GPU_ENABLED - map& operator=(map const& rhs) - { - data = rhs.data; - return *this; - } - - BOOST_FUSION_GPU_ENABLED - storage_type& get_data() { return data; } - BOOST_FUSION_GPU_ENABLED - storage_type const& get_data() const { return data; } - - private: - - storage_type data; - }; -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/map_forward_ctor.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/map_forward_ctor.hpp deleted file mode 100644 index ac303788e2..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/map_forward_ctor.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_PP_IS_ITERATING -#if !defined(FUSION_MAP_FORWARD_CTOR_07222005_0106) -#define FUSION_MAP_FORWARD_CTOR_07222005_0106 - -#include -#include -#include - -#define BOOST_PP_FILENAME_1 \ - -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_MAP_SIZE) -#include BOOST_PP_ITERATE() - -#endif -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// - -#define N BOOST_PP_ITERATION() - - BOOST_FUSION_GPU_ENABLED -#if N == 1 - explicit -#endif - map(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& _)) - : data(BOOST_PP_ENUM_PARAMS(N, _)) {} - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) - diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/preprocessed/map10.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/preprocessed/map10.hpp deleted file mode 100644 index 3948e81068..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/preprocessed/map10.hpp +++ /dev/null @@ -1,82 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - struct fusion_sequence_tag; - template - struct map : sequence_base > - { - struct category : random_access_traversal_tag, associative_tag {}; - typedef map_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef vector< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> - storage_type; - typedef typename storage_type::size size; - BOOST_FUSION_GPU_ENABLED - map() - : data() {} - template - BOOST_FUSION_GPU_ENABLED - map(Sequence const& rhs) - : data(rhs) {} - BOOST_FUSION_GPU_ENABLED - explicit - map(T0 const& _0) - : data(_0) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1) - : data(_0 , _1) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2) - : data(_0 , _1 , _2) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) - : data(_0 , _1 , _2 , _3) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) - : data(_0 , _1 , _2 , _3 , _4) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) - : data(_0 , _1 , _2 , _3 , _4 , _5) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {} - template - BOOST_FUSION_GPU_ENABLED - map& operator=(T const& rhs) - { - data = rhs; - return *this; - } - BOOST_FUSION_GPU_ENABLED - map& operator=(map const& rhs) - { - data = rhs.data; - return *this; - } - BOOST_FUSION_GPU_ENABLED - storage_type& get_data() { return data; } - BOOST_FUSION_GPU_ENABLED - storage_type const& get_data() const { return data; } - private: - storage_type data; - }; -}} diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/preprocessed/map20.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/preprocessed/map20.hpp deleted file mode 100644 index f562fad610..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/preprocessed/map20.hpp +++ /dev/null @@ -1,112 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - struct fusion_sequence_tag; - template - struct map : sequence_base > - { - struct category : random_access_traversal_tag, associative_tag {}; - typedef map_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef vector< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19> - storage_type; - typedef typename storage_type::size size; - BOOST_FUSION_GPU_ENABLED - map() - : data() {} - template - BOOST_FUSION_GPU_ENABLED - map(Sequence const& rhs) - : data(rhs) {} - BOOST_FUSION_GPU_ENABLED - explicit - map(T0 const& _0) - : data(_0) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1) - : data(_0 , _1) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2) - : data(_0 , _1 , _2) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) - : data(_0 , _1 , _2 , _3) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) - : data(_0 , _1 , _2 , _3 , _4) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) - : data(_0 , _1 , _2 , _3 , _4 , _5) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19) {} - template - BOOST_FUSION_GPU_ENABLED - map& operator=(T const& rhs) - { - data = rhs; - return *this; - } - BOOST_FUSION_GPU_ENABLED - map& operator=(map const& rhs) - { - data = rhs.data; - return *this; - } - BOOST_FUSION_GPU_ENABLED - storage_type& get_data() { return data; } - BOOST_FUSION_GPU_ENABLED - storage_type const& get_data() const { return data; } - private: - storage_type data; - }; -}} diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/preprocessed/map30.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/preprocessed/map30.hpp deleted file mode 100644 index 3cbf4018b8..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/preprocessed/map30.hpp +++ /dev/null @@ -1,142 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - struct fusion_sequence_tag; - template - struct map : sequence_base > - { - struct category : random_access_traversal_tag, associative_tag {}; - typedef map_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef vector< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29> - storage_type; - typedef typename storage_type::size size; - BOOST_FUSION_GPU_ENABLED - map() - : data() {} - template - BOOST_FUSION_GPU_ENABLED - map(Sequence const& rhs) - : data(rhs) {} - BOOST_FUSION_GPU_ENABLED - explicit - map(T0 const& _0) - : data(_0) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1) - : data(_0 , _1) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2) - : data(_0 , _1 , _2) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) - : data(_0 , _1 , _2 , _3) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) - : data(_0 , _1 , _2 , _3 , _4) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) - : data(_0 , _1 , _2 , _3 , _4 , _5) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29) {} - template - BOOST_FUSION_GPU_ENABLED - map& operator=(T const& rhs) - { - data = rhs; - return *this; - } - BOOST_FUSION_GPU_ENABLED - map& operator=(map const& rhs) - { - data = rhs.data; - return *this; - } - BOOST_FUSION_GPU_ENABLED - storage_type& get_data() { return data; } - BOOST_FUSION_GPU_ENABLED - storage_type const& get_data() const { return data; } - private: - storage_type data; - }; -}} diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/preprocessed/map40.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/preprocessed/map40.hpp deleted file mode 100644 index 2a38432805..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/preprocessed/map40.hpp +++ /dev/null @@ -1,172 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - struct fusion_sequence_tag; - template - struct map : sequence_base > - { - struct category : random_access_traversal_tag, associative_tag {}; - typedef map_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef vector< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39> - storage_type; - typedef typename storage_type::size size; - BOOST_FUSION_GPU_ENABLED - map() - : data() {} - template - BOOST_FUSION_GPU_ENABLED - map(Sequence const& rhs) - : data(rhs) {} - BOOST_FUSION_GPU_ENABLED - explicit - map(T0 const& _0) - : data(_0) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1) - : data(_0 , _1) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2) - : data(_0 , _1 , _2) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) - : data(_0 , _1 , _2 , _3) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) - : data(_0 , _1 , _2 , _3 , _4) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) - : data(_0 , _1 , _2 , _3 , _4 , _5) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39) {} - template - BOOST_FUSION_GPU_ENABLED - map& operator=(T const& rhs) - { - data = rhs; - return *this; - } - BOOST_FUSION_GPU_ENABLED - map& operator=(map const& rhs) - { - data = rhs.data; - return *this; - } - BOOST_FUSION_GPU_ENABLED - storage_type& get_data() { return data; } - BOOST_FUSION_GPU_ENABLED - storage_type const& get_data() const { return data; } - private: - storage_type data; - }; -}} diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/preprocessed/map50.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/preprocessed/map50.hpp deleted file mode 100644 index e2cca91587..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/preprocessed/map50.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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - struct fusion_sequence_tag; - template - struct map : sequence_base > - { - struct category : random_access_traversal_tag, associative_tag {}; - typedef map_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef vector< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49> - storage_type; - typedef typename storage_type::size size; - BOOST_FUSION_GPU_ENABLED - map() - : data() {} - template - BOOST_FUSION_GPU_ENABLED - map(Sequence const& rhs) - : data(rhs) {} - BOOST_FUSION_GPU_ENABLED - explicit - map(T0 const& _0) - : data(_0) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1) - : data(_0 , _1) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2) - : data(_0 , _1 , _2) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) - : data(_0 , _1 , _2 , _3) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) - : data(_0 , _1 , _2 , _3 , _4) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) - : data(_0 , _1 , _2 , _3 , _4 , _5) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46 , T47 const& _47) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46 , T47 const& _47 , T48 const& _48) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48) {} - BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46 , T47 const& _47 , T48 const& _48 , T49 const& _49) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48 , _49) {} - template - BOOST_FUSION_GPU_ENABLED - map& operator=(T const& rhs) - { - data = rhs; - return *this; - } - BOOST_FUSION_GPU_ENABLED - map& operator=(map const& rhs) - { - data = rhs.data; - return *this; - } - BOOST_FUSION_GPU_ENABLED - storage_type& get_data() { return data; } - BOOST_FUSION_GPU_ENABLED - storage_type const& get_data() const { return data; } - private: - storage_type data; - }; -}} diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/value_at_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/value_at_impl.hpp deleted file mode 100644 index d61ab2038a..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/cpp03/value_at_impl.hpp +++ /dev/null @@ -1,35 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2011 Brandon Kohn - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_MAP_DETAIL_VALUE_AT_IMPL_HPP) -#define BOOST_FUSION_MAP_DETAIL_VALUE_AT_IMPL_HPP - -#include -#include - -namespace boost { namespace fusion -{ - struct map_tag; - - namespace extension - { - template - struct value_at_impl; - - template <> - struct value_at_impl - { - template - struct apply - { - typedef typename mpl::at::type type; - }; - }; - } -}} - -#endif //BOOST_FUSION_MAP_DETAIL_VALUE_AT_IMPL_HPP diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/end_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/end_impl.hpp deleted file mode 100644 index fea45db37b..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/end_impl.hpp +++ /dev/null @@ -1,40 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2013 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_FUSION_MAP_END_IMPL_02042013_0857) -#define BOOST_FUSION_MAP_END_IMPL_02042013_0857 - -#include -#include - -namespace boost { namespace fusion -{ - struct map_tag; - - namespace extension - { - template - struct end_impl; - - template<> - struct end_impl - { - template - struct apply - { - typedef map_iterator type; - - BOOST_FUSION_GPU_ENABLED - static type call(Sequence& seq) - { - return type(seq); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/map_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/map_impl.hpp deleted file mode 100644 index f70d139231..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/map_impl.hpp +++ /dev/null @@ -1,206 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2013 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_FUSION_MAP_IMPL_02032013_2233) -#define BOOST_FUSION_MAP_IMPL_02032013_2233 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct fusion_sequence_tag; -}} - -namespace boost { namespace fusion { namespace detail -{ - struct map_impl_from_iterator {}; - - template - struct map_impl; - - template - struct map_impl - { - typedef fusion_sequence_tag tag; - static int const index = index_; - static int const size = 0; - - BOOST_FUSION_GPU_ENABLED - map_impl() {} - - template - BOOST_FUSION_GPU_ENABLED - map_impl(Iterator const& iter, map_impl_from_iterator) - {} - - template - BOOST_FUSION_GPU_ENABLED - void assign(Iterator const& iter, map_impl_from_iterator) - {} - - BOOST_FUSION_GPU_ENABLED - void get(); - BOOST_FUSION_GPU_ENABLED - void get_val(); - BOOST_FUSION_GPU_ENABLED - void get_key(); - }; - - template - struct map_impl : map_impl - { - typedef fusion_sequence_tag tag; - typedef map_impl rest_type; - - using rest_type::get; - using rest_type::get_val; - using rest_type::get_key; - - static int const index = index_; - static int const size = rest_type::size + 1; - - typedef Pair pair_type; - typedef typename Pair::first_type key_type; - typedef typename Pair::second_type value_type; - - BOOST_FUSION_GPU_ENABLED - map_impl() - : rest_type(), element() - {} - - BOOST_FUSION_GPU_ENABLED - map_impl(map_impl const& rhs) - : rest_type(rhs.get_base()), element(rhs.element) - {} - - BOOST_FUSION_GPU_ENABLED - map_impl(map_impl&& rhs) - : rest_type(std::forward(*static_cast(&rhs))) - , element(std::forward(rhs.element)) - {} - - template - BOOST_FUSION_GPU_ENABLED - map_impl(map_impl const& rhs) - : rest_type(rhs.get_base()), element(rhs.element) - {} - - BOOST_FUSION_GPU_ENABLED - map_impl(typename detail::call_param::type element_ - , typename detail::call_param::type... rest) - : rest_type(rest...), element(element_) - {} - - BOOST_FUSION_GPU_ENABLED - map_impl(Pair&& element_, T&&... rest) - : rest_type(std::forward(rest)...) - , element(std::forward(element_)) - {} - - template - BOOST_FUSION_GPU_ENABLED - map_impl(Iterator const& iter, map_impl_from_iterator fi) - : rest_type(fusion::next(iter), fi) - , element(*iter) - {} - - BOOST_FUSION_GPU_ENABLED - rest_type& get_base() - { - return *this; - } - - BOOST_FUSION_GPU_ENABLED - rest_type const& get_base() const - { - return *this; - } - - BOOST_FUSION_GPU_ENABLED - value_type get_val(mpl::identity); - BOOST_FUSION_GPU_ENABLED - pair_type get_val(mpl::int_); - BOOST_FUSION_GPU_ENABLED - value_type get_val(mpl::identity) const; - BOOST_FUSION_GPU_ENABLED - pair_type get_val(mpl::int_) const; - - BOOST_FUSION_GPU_ENABLED - mpl::identity get_key(mpl::int_); - BOOST_FUSION_GPU_ENABLED - mpl::identity get_key(mpl::int_) const; - - BOOST_FUSION_GPU_ENABLED - typename cref_result::type - get(mpl::identity) const - { - return element.second; - } - - BOOST_FUSION_GPU_ENABLED - typename ref_result::type - get(mpl::identity) - { - return element.second; - } - - BOOST_FUSION_GPU_ENABLED - typename cref_result::type - get(mpl::int_) const - { - return element; - } - - BOOST_FUSION_GPU_ENABLED - typename ref_result::type - get(mpl::int_) - { - return element; - } - - template - BOOST_FUSION_GPU_ENABLED - map_impl& operator=(map_impl const& rhs) - { - rest_type::operator=(rhs); - element = rhs.element; - return *this; - } - - BOOST_FUSION_GPU_ENABLED - map_impl& operator=(map_impl const& rhs) - { - rest_type::operator=(rhs); - element = rhs.element; - return *this; - } - - BOOST_FUSION_GPU_ENABLED - map_impl& operator=(map_impl&& rhs) - { - rest_type::operator=(std::forward(rhs)); - element = std::forward(rhs.element); - return *this; - } - - template - BOOST_FUSION_GPU_ENABLED - void assign(Iterator const& iter, map_impl_from_iterator fi) - { - rest_type::assign(fusion::next(iter), fi); - element = *iter; - } - - Pair element; - }; -}}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/value_at_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/value_at_impl.hpp deleted file mode 100644 index f98c580068..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/map/detail/value_at_impl.hpp +++ /dev/null @@ -1,38 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2013 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_FUSION_MAP_DETAIL_VALUE_AT_IMPL_02042013_0821) -#define BOOST_FUSION_MAP_DETAIL_VALUE_AT_IMPL_02042013_0821 - -#include -#include - -namespace boost { namespace fusion -{ - struct map_tag; - - namespace extension - { - template - struct value_at_impl; - - template <> - struct value_at_impl - { - template - struct apply - { - typedef mpl::int_ index; - typedef - decltype(std::declval().get_val(index())) - type; - }; - }; - } -}} - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/map/map.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/map/map.hpp deleted file mode 100644 index 80e53ee777..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/map/map.hpp +++ /dev/null @@ -1,132 +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_MAP_MAIN_07212005_1106) -#define FUSION_MAP_MAIN_07212005_1106 - -#include -#include -#include - -/////////////////////////////////////////////////////////////////////////////// -// Without variadics, we will use the PP version -/////////////////////////////////////////////////////////////////////////////// -#if !defined(BOOST_FUSION_HAS_VARIADIC_MAP) -# include -#else - -/////////////////////////////////////////////////////////////////////////////// -// C++11 interface -/////////////////////////////////////////////////////////////////////////////// -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -namespace boost { namespace fusion -{ - struct map_tag; - - template - struct map : detail::map_impl<0, T...>, sequence_base> - { - typedef map_tag fusion_tag; - typedef detail::map_impl<0, T...> base_type; - - struct category : random_access_traversal_tag, associative_tag {}; - typedef mpl::int_ size; - typedef mpl::false_ is_view; - - BOOST_FUSION_GPU_ENABLED - map() {} - - BOOST_FUSION_GPU_ENABLED - map(map const& seq) - : base_type(seq.base()) - {} - - BOOST_FUSION_GPU_ENABLED - map(map&& seq) - : base_type(std::forward(seq)) - {} - - template - BOOST_FUSION_GPU_ENABLED - map(Sequence const& seq - , typename enable_if>::type* /*dummy*/ = 0) - : base_type(begin(seq), detail::map_impl_from_iterator()) - {} - - template - BOOST_FUSION_GPU_ENABLED - map(Sequence& seq - , typename enable_if>::type* /*dummy*/ = 0) - : base_type(begin(seq), detail::map_impl_from_iterator()) - {} - - template - BOOST_FUSION_GPU_ENABLED - map(Sequence&& seq - , typename enable_if>::type* /*dummy*/ = 0) - : base_type(begin(seq), detail::map_impl_from_iterator()) - {} - - template - BOOST_FUSION_GPU_ENABLED - map(First const& first, T_ const&... rest) - : base_type(first, rest...) - {} - - template - BOOST_FUSION_GPU_ENABLED - map(First&& first, T_&&... rest) - : base_type(std::forward(first), std::forward(rest)...) - {} - - BOOST_FUSION_GPU_ENABLED - map& operator=(map const& rhs) - { - base_type::operator=(rhs.base()); - return *this; - } - - BOOST_FUSION_GPU_ENABLED - map& operator=(map&& rhs) - { - base_type::operator=(std::forward(rhs.base())); - return *this; - } - - template - BOOST_FUSION_GPU_ENABLED - typename enable_if, map&>::type - operator=(Sequence const& seq) - { - base().assign(begin(seq), detail::map_impl_from_iterator()); - return *this; - } - - BOOST_FUSION_GPU_ENABLED - base_type& base() { return *this; } - BOOST_FUSION_GPU_ENABLED - base_type const& base() const { return *this; } - }; -}} - -#endif -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/map/map_iterator.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/map/map_iterator.hpp deleted file mode 100644 index 1c03d8eb9e..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/map/map_iterator.hpp +++ /dev/null @@ -1,153 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2013 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(BOOST_FUSION_MAP_ITERATOR_02042013_0835) -#define BOOST_FUSION_MAP_ITERATOR_02042013_0835 - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct random_access_traversal_tag; - - template - struct map_iterator - : iterator_facade< - map_iterator - , typename Seq::category> - { - typedef Seq sequence; - typedef mpl::int_ index; - - BOOST_FUSION_GPU_ENABLED - map_iterator(Seq& seq) - : seq_(seq) - {} - - template - struct value_of - { - typedef typename Iterator::sequence sequence; - typedef typename Iterator::index index; - typedef - decltype(std::declval().get_val(index())) - type; - }; - - template - struct value_of_data - { - typedef typename Iterator::sequence sequence; - typedef typename Iterator::index index; - typedef - decltype(std::declval().get_val(index()).second) - type; - }; - - template - struct key_of - { - typedef typename Iterator::sequence sequence; - typedef typename Iterator::index index; - typedef decltype(std::declval().get_key(index())) key_identity_type; - typedef typename key_identity_type::type type; - }; - - template - struct deref - { - typedef typename Iterator::sequence sequence; - typedef typename Iterator::index index; - typedef - decltype(std::declval().get(index())) - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& it) - { - return it.seq_.get(typename Iterator::index()); - } - }; - - template - struct deref_data - { - typedef typename Iterator::sequence sequence; - typedef typename Iterator::index index; - typedef - decltype(std::declval().get(index()).second) - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& it) - { - return it.seq_.get(typename Iterator::index()).second; - } - }; - - template - struct advance - { - typedef typename Iterator::index index; - typedef typename Iterator::sequence sequence; - typedef map_iterator type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(i.seq_); - } - }; - - template - struct next - : advance > - {}; - - template - struct prior - : advance > - {}; - - template - struct distance - { - typedef typename - mpl::minus< - typename I2::index, typename I1::index - >::type - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(I1 const&, I2 const&) - { - return type(); - } - }; - - template - struct equal_to - : mpl::equal_to - {}; - - Seq& seq_; - - private: - // silence MSVC warning C4512: assignment operator could not be generated - map_iterator& operator= (map_iterator const&); - }; - -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/set.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/set.hpp deleted file mode 100644 index 6445397464..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/set.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) -==============================================================================*/ -#if !defined(FUSION_SEQUENCE_CLASS_SET_10022005_0607) -#define FUSION_SEQUENCE_CLASS_SET_10022005_0607 - -#include -#include -#include -#include -#include - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/set/convert.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/set/convert.hpp deleted file mode 100644 index 631c251d44..0000000000 --- a/bundled/boost-1.56.0/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 -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct as_set - { - typedef typename detail::as_set::value> gen; - typedef typename gen:: - template apply::type>::type - type; - }; - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::as_set::type - as_set(Sequence& seq) - { - typedef typename result_of::as_set::gen gen; - return gen::call(fusion::begin(seq)); - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::as_set::type - as_set(Sequence const& seq) - { - typedef typename result_of::as_set::gen gen; - return gen::call(fusion::begin(seq)); - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/set/detail/as_set.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/set/detail/as_set.hpp deleted file mode 100644 index 26a719e3be..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/set/detail/as_set.hpp +++ /dev/null @@ -1,132 +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 -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template - struct as_set; - - template <> - struct as_set<0> - { - template - struct apply - { - typedef set<> type; - }; - - template - BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator) - { - return set<>(); - } - }; -}}} - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/as_set" FUSION_MAX_SET_SIZE_STR ".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion { namespace detail -{ -#define BOOST_FUSION_NEXT_ITERATOR(z, n, data) \ - typedef typename fusion::result_of::next::type \ - BOOST_PP_CAT(I, BOOST_PP_INC(n)); - -#define BOOST_FUSION_NEXT_CALL_ITERATOR(z, n, data) \ - typename gen::BOOST_PP_CAT(I, BOOST_PP_INC(n)) \ - BOOST_PP_CAT(i, BOOST_PP_INC(n)) = fusion::next(BOOST_PP_CAT(i, n)); - -#define BOOST_FUSION_VALUE_OF_ITERATOR(z, n, data) \ - typedef typename fusion::result_of::value_of::type \ - BOOST_PP_CAT(T, n); - -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_SET_SIZE) -#include BOOST_PP_ITERATE() - -#undef BOOST_FUSION_NEXT_ITERATOR -#undef BOOST_FUSION_NEXT_CALL_ITERATOR -#undef BOOST_FUSION_VALUE_OF_ITERATOR - -}}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// - -#define N BOOST_PP_ITERATION() - - template <> - struct as_set - { - template - struct apply - { - BOOST_PP_REPEAT(N, BOOST_FUSION_NEXT_ITERATOR, _) - BOOST_PP_REPEAT(N, BOOST_FUSION_VALUE_OF_ITERATOR, _) - typedef set type; - }; - - template - BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - BOOST_PP_REPEAT(BOOST_PP_DEC(N), BOOST_FUSION_NEXT_CALL_ITERATOR, _) - return result(BOOST_PP_ENUM_PARAMS(N, *i)); - } - }; - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) - diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/set/detail/begin_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/set/detail/begin_impl.hpp deleted file mode 100644 index df522b5742..0000000000 --- a/bundled/boost-1.56.0/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 -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct begin_impl; - - template <> - struct begin_impl - { - template - struct apply - { - typedef - basic_iterator< - set_iterator_tag - , typename Seq::category - , Seq - , 0 - > - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Seq& seq) - { - return type(seq,0); - } - }; - }; -}}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/set/detail/convert_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/set/detail/convert_impl.hpp deleted file mode 100644 index 4a24dff883..0000000000 --- a/bundled/boost-1.56.0/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 -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct set_tag; - - namespace extension - { - template - struct convert_impl; - - template <> - struct convert_impl - { - template - struct apply - { - typedef typename detail::as_set::value> gen; - typedef typename gen:: - template apply::type>::type - type; - - BOOST_FUSION_GPU_ENABLED - static type call(Sequence& seq) - { - return gen::call(fusion::begin(seq)); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/set/detail/deref_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/set/detail/deref_impl.hpp deleted file mode 100644 index 4a43819d13..0000000000 --- a/bundled/boost-1.56.0/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 -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct deref_impl; - - template <> - struct deref_impl - { - template - struct apply - { - typedef typename - result_of::at< - typename mpl::if_< - is_const - , typename It::seq_type::storage_type const - , typename It::seq_type::storage_type - >::type - , typename It::index - >::type - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(It const& it) - { - return ::boost::fusion::at(it.seq->get_data()); - } - }; - }; -}}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/set/detail/end_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/set/detail/end_impl.hpp deleted file mode 100644 index b793addc1e..0000000000 --- a/bundled/boost-1.56.0/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 -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct end_impl; - - template <> - struct end_impl - { - template - struct apply - { - typedef - basic_iterator< - set_iterator_tag - , typename Seq::category - , Seq - , Seq::size::value - > - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Seq& seq) - { - return type(seq,0); - } - }; - }; -}}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/set/set.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/set/set.hpp deleted file mode 100644 index e1d019a77b..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/set/set.hpp +++ /dev/null @@ -1,103 +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 -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/set" FUSION_MAX_SET_SIZE_STR ".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct void_; - struct fusion_sequence_tag; - - template - struct set : sequence_base > - { - struct category : forward_traversal_tag, associative_tag {}; - - typedef set_tag fusion_tag; - typedef fusion_sequence_tag tag; // this gets picked up by MPL - typedef mpl::false_ is_view; - - typedef vector< - BOOST_PP_ENUM_PARAMS(FUSION_MAX_SET_SIZE, T)> - storage_type; - - typedef typename storage_type::size size; - - BOOST_FUSION_GPU_ENABLED - set() - : data() {} - - template - BOOST_FUSION_GPU_ENABLED - set(Sequence const& rhs) - : data(rhs) {} - - #include - - template - BOOST_FUSION_GPU_ENABLED - set& - operator=(T const& rhs) - { - data = rhs; - return *this; - } - - BOOST_FUSION_GPU_ENABLED - storage_type& get_data() { return data; } - BOOST_FUSION_GPU_ENABLED - storage_type const& get_data() const { return data; } - - private: - - storage_type data; - }; -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/set/set_fwd.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/set/set_fwd.hpp deleted file mode 100644 index 2de3db6d5b..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/set/set_fwd.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) -==============================================================================*/ -#if !defined(FUSION_SET_FORWARD_09162005_1102) -#define FUSION_SET_FORWARD_09162005_1102 - -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/set" FUSION_MAX_SET_SIZE_STR "_fwd.hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct void_; - struct set_tag; - struct set_iterator_tag; - - template < - BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( - FUSION_MAX_SET_SIZE, typename T, void_) - > - struct set; -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/vector.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/vector.hpp deleted file mode 100644 index 06fa5a04bb..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/vector.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(FUSION_SEQUENCE_CLASS_VECTOR_10022005_0602) -#define FUSION_SEQUENCE_CLASS_VECTOR_10022005_0602 - -#include -#include - -#include -#if (FUSION_MAX_VECTOR_SIZE > 10) -#include -#endif -#if (FUSION_MAX_VECTOR_SIZE > 20) -#include -#endif -#if (FUSION_MAX_VECTOR_SIZE > 30) -#include -#endif -#if (FUSION_MAX_VECTOR_SIZE > 40) -#include -#endif - -#include -#include -#include -#include - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/vector/convert.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/vector/convert.hpp deleted file mode 100644 index 0582fe5cbf..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/vector/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_09222005_1104) -#define FUSION_CONVERT_09222005_1104 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct as_vector - { - typedef typename detail::as_vector::value> gen; - typedef typename gen:: - template apply::type>::type - type; - }; - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::as_vector::type - as_vector(Sequence& seq) - { - typedef typename result_of::as_vector::gen gen; - return gen::call(fusion::begin(seq)); - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::as_vector::type - as_vector(Sequence const& seq) - { - typedef typename result_of::as_vector::gen gen; - return gen::call(fusion::begin(seq)); - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/advance_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/advance_impl.hpp deleted file mode 100644 index af45a1a8ef..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/advance_impl.hpp +++ /dev/null @@ -1,43 +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_ADVANCE_IMPL_09172005_1156) -#define FUSION_ADVANCE_IMPL_09172005_1156 - -namespace boost { namespace fusion -{ - struct vector_iterator_tag; - - template - struct vector_iterator; - - namespace extension - { - template - struct advance_impl; - - template <> - struct advance_impl - { - template - struct apply - { - typedef typename Iterator::index index; - typedef typename Iterator::vector vector; - typedef vector_iterator type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(i.vec); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/as_vector.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/as_vector.hpp deleted file mode 100644 index 2224fcc6ab..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/as_vector.hpp +++ /dev/null @@ -1,133 +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_VECTOR_09222005_0950) -#define FUSION_AS_VECTOR_09222005_0950 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template - struct as_vector; - - template <> - struct as_vector<0> - { - template - struct apply - { - typedef vector0<> type; - }; - - template - BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator) - { - return vector0<>(); - } - }; -}}} - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/as_vector" FUSION_MAX_VECTOR_SIZE_STR ".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion { namespace detail -{ - -#define BOOST_FUSION_NEXT_ITERATOR(z, n, data) \ - typedef typename fusion::result_of::next::type \ - BOOST_PP_CAT(I, BOOST_PP_INC(n)); - -#define BOOST_FUSION_NEXT_CALL_ITERATOR(z, n, data) \ - typename gen::BOOST_PP_CAT(I, BOOST_PP_INC(n)) \ - BOOST_PP_CAT(i, BOOST_PP_INC(n)) = fusion::next(BOOST_PP_CAT(i, n)); - -#define BOOST_FUSION_VALUE_OF_ITERATOR(z, n, data) \ - typedef typename fusion::result_of::value_of::type \ - BOOST_PP_CAT(T, n); - -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) -#include BOOST_PP_ITERATE() - -#undef BOOST_FUSION_NEXT_ITERATOR -#undef BOOST_FUSION_NEXT_CALL_ITERATOR -#undef BOOST_FUSION_VALUE_OF_ITERATOR - -}}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// - -#define N BOOST_PP_ITERATION() - - template <> - struct as_vector - { - template - struct apply - { - BOOST_PP_REPEAT(N, BOOST_FUSION_NEXT_ITERATOR, _) - BOOST_PP_REPEAT(N, BOOST_FUSION_VALUE_OF_ITERATOR, _) - typedef BOOST_PP_CAT(vector, N) type; - }; - - template - BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - BOOST_PP_REPEAT(BOOST_PP_DEC(N), BOOST_FUSION_NEXT_CALL_ITERATOR, _) - return result(BOOST_PP_ENUM_PARAMS(N, *i)); - } - }; - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) - diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/at_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/at_impl.hpp deleted file mode 100644 index eb09b212a6..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/at_impl.hpp +++ /dev/null @@ -1,61 +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_AT_IMPL_05042005_0741) -#define FUSION_AT_IMPL_05042005_0741 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct vector_tag; - - namespace extension - { - template - struct at_impl; - - template <> - struct at_impl - { - template - struct apply - { - typedef typename mpl::at::type element; - typedef typename detail::ref_result::type type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& v) - { - BOOST_STATIC_ASSERT((N::value < Sequence::size::value)); - return v.at_impl(N()); - } - }; - - template - struct apply - { - typedef typename mpl::at::type element; - typedef typename detail::cref_result::type type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence const& v) - { - BOOST_STATIC_ASSERT((N::value < Sequence::size::value)); - return v.at_impl(N()); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/begin_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/begin_impl.hpp deleted file mode 100644 index 026b34ff6e..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/begin_impl.hpp +++ /dev/null @@ -1,41 +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_BEGIN_IMPL_05042005_1136) -#define FUSION_BEGIN_IMPL_05042005_1136 - -#include -#include - -namespace boost { namespace fusion -{ - struct vector_tag; - - namespace extension - { - template - struct begin_impl; - - template <> - struct begin_impl - { - template - struct apply - { - typedef vector_iterator type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& v) - { - return type(v); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/convert_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/convert_impl.hpp deleted file mode 100644 index ddf42590b0..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/vector/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_09222005_1104) -#define FUSION_CONVERT_IMPL_09222005_1104 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct vector_tag; - - namespace extension - { - template - struct convert_impl; - - template <> - struct convert_impl - { - template - struct apply - { - typedef typename detail::as_vector::value> gen; - typedef typename gen:: - template apply::type>::type - type; - - BOOST_FUSION_GPU_ENABLED - static type call(Sequence& seq) - { - return gen::call(fusion::begin(seq)); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/deref_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/deref_impl.hpp deleted file mode 100644 index b338d2fe20..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/deref_impl.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(FUSION_DEREF_IMPL_05042005_1037) -#define FUSION_DEREF_IMPL_05042005_1037 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct vector_iterator_tag; - - namespace extension - { - template - struct deref_impl; - - template <> - struct deref_impl - { - template - struct apply - { - typedef typename Iterator::vector vector; - typedef typename Iterator::index index; - typedef typename mpl::at< - typename vector::types, index>::type - element; - - typedef typename - mpl::if_< - is_const - , typename fusion::detail::cref_result::type - , typename fusion::detail::ref_result::type - >::type - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return i.vec.at_impl(index()); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/distance_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/distance_impl.hpp deleted file mode 100644 index 948355383f..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/distance_impl.hpp +++ /dev/null @@ -1,43 +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_DISTANCE_IMPL_09172005_0751) -#define FUSION_DISTANCE_IMPL_09172005_0751 - -#include -#include - -namespace boost { namespace fusion -{ - struct vector_iterator_tag; - - namespace extension - { - template - struct distance_impl; - - template <> - struct distance_impl - { - template - struct apply : mpl::minus - { - BOOST_FUSION_GPU_ENABLED - static typename mpl::minus< - typename Last::index, typename First::index>::type - call(First const&, Last const&) - { - typedef typename mpl::minus< - typename Last::index, typename First::index>::type - result; - return result(); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/end_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/end_impl.hpp deleted file mode 100644 index 14c6715775..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/end_impl.hpp +++ /dev/null @@ -1,42 +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_END_IMPL_05042005_1142) -#define FUSION_END_IMPL_05042005_1142 - -#include -#include - -namespace boost { namespace fusion -{ - struct vector_tag; - - namespace extension - { - template - struct end_impl; - - template <> - struct end_impl - { - template - struct apply - { - typedef typename Sequence::size size; - typedef vector_iterator type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& v) - { - return type(v); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/equal_to_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/equal_to_impl.hpp deleted file mode 100644 index 50420cc827..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/equal_to_impl.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) -==============================================================================*/ -#if !defined(FUSION_EQUAL_TO_IMPL_05052005_1215) -#define FUSION_EQUAL_TO_IMPL_05052005_1215 - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct vector_iterator_tag; - - namespace extension - { - template - struct equal_to_impl; - - template <> - struct equal_to_impl - { - template - struct apply - : is_same< - typename I1::identity - , typename I2::identity - > - { - }; - }; - } -}} - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/next_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/next_impl.hpp deleted file mode 100644 index 78aef85d56..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/next_impl.hpp +++ /dev/null @@ -1,45 +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_NEXT_IMPL_05042005_1058) -#define FUSION_NEXT_IMPL_05042005_1058 - -#include -#include - -namespace boost { namespace fusion -{ - struct vector_iterator_tag; - template - struct vector_iterator; - - namespace extension - { - template - struct next_impl; - - template <> - struct next_impl - { - template - struct apply - { - typedef typename Iterator::vector vector; - typedef typename Iterator::index index; - typedef vector_iterator type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(i.vec); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/prior_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/prior_impl.hpp deleted file mode 100644 index b3bdc55f60..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/prior_impl.hpp +++ /dev/null @@ -1,45 +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_PRIOR_IMPL_05042005_1145) -#define FUSION_PRIOR_IMPL_05042005_1145 - -#include -#include - -namespace boost { namespace fusion -{ - struct vector_iterator_tag; - template - struct vector_iterator; - - namespace extension - { - template - struct prior_impl; - - template <> - struct prior_impl - { - template - struct apply - { - typedef typename Iterator::vector vector; - typedef typename Iterator::index index; - typedef vector_iterator type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(i.vec); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/value_at_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/value_at_impl.hpp deleted file mode 100644 index 9b94e9deb3..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/value_at_impl.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_VALUE_AT_IMPL_05052005_0232) -#define FUSION_VALUE_AT_IMPL_05052005_0232 - -#include -#include - -namespace boost { namespace fusion -{ - struct vector_tag; - - namespace extension - { - template - struct value_at_impl; - - template <> - struct value_at_impl - { - template - struct apply - { - typedef typename mpl::at::type type; - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/value_of_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/value_of_impl.hpp deleted file mode 100644 index 7527d58148..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/vector/detail/value_of_impl.hpp +++ /dev/null @@ -1,38 +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_VALUE_OF_IMPL_05052005_1128) -#define FUSION_VALUE_OF_IMPL_05052005_1128 - -#include -#include - -namespace boost { namespace fusion -{ - struct vector_iterator_tag; - - namespace extension - { - template - struct value_of_impl; - - template <> - struct value_of_impl - { - template - struct apply - { - typedef typename Iterator::vector vector; - typedef typename Iterator::index index; - typedef typename mpl::at< - typename vector::types, index>::type - type; - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/vector/vector.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/vector/vector.hpp deleted file mode 100644 index 391bf39d25..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/vector/vector.hpp +++ /dev/null @@ -1,243 +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_VECTOR_07072005_1244) -#define FUSION_VECTOR_07072005_1244 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define FUSION_HASH # - -#if BOOST_WORKAROUND(BOOST_MSVC, <= 1600) - -#define BOOST_FUSION_VECTOR_COPY_INIT() \ - ctor_helper(rhs, is_base_of()) \ - -#define BOOST_FUSION_VECTOR_CTOR_HELPER() \ - BOOST_FUSION_GPU_ENABLED \ - static vector_n const& \ - ctor_helper(vector const& rhs, mpl::true_) \ - { \ - return rhs.vec; \ - } \ - \ - template \ - BOOST_FUSION_GPU_ENABLED \ - static T const& \ - ctor_helper(T const& rhs, mpl::false_) \ - { \ - return rhs; \ - } - -#else - -#define BOOST_FUSION_VECTOR_COPY_INIT() \ - rhs \ - -#define BOOST_FUSION_VECTOR_CTOR_HELPER() - -#endif - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vvector" FUSION_MAX_VECTOR_SIZE_STR ".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct void_; - struct fusion_sequence_tag; - - template - struct vector - : sequence_base > - { - private: - - typedef typename detail::vector_n_chooser< - BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, T)>::type - vector_n; - - template - friend struct vector; - - public: - - typedef typename vector_n::types types; - typedef typename vector_n::fusion_tag fusion_tag; - typedef typename vector_n::tag tag; - typedef typename vector_n::size size; - typedef typename vector_n::category category; - typedef typename vector_n::is_view is_view; - - BOOST_FUSION_GPU_ENABLED - vector() - : vec() {} - - template - BOOST_FUSION_GPU_ENABLED - vector(vector const& rhs) - : vec(rhs.vec) {} - - BOOST_FUSION_GPU_ENABLED - vector(vector const& rhs) - : vec(rhs.vec) {} - - template - BOOST_FUSION_GPU_ENABLED - vector(Sequence const& rhs) - : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {} - - // Expand a couple of forwarding constructors for arguments - // of type (T0), (T0, T1), (T0, T1, T2) etc. Example: - // - // vector( - // typename detail::call_param::type _0 - // , typename detail::call_param::type _1) - // : vec(_0, _1) {} - #include - - template - BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector const& rhs) - { - vec = rhs.vec; - return *this; - } - - template - BOOST_FUSION_GPU_ENABLED - vector& - operator=(T const& rhs) - { - vec = rhs; - return *this; - } - - BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector const& rhs) - { - vec = rhs.vec; - return *this; - } - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -#endif -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ - (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) - BOOST_FUSION_GPU_ENABLED - vector(vector&& rhs) - : vec(std::forward(rhs.vec)) {} - BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector&& rhs) - { - vec = std::forward(rhs.vec); - return *this; - } - - template - BOOST_FUSION_GPU_ENABLED - vector& - operator=(T&& rhs) - { - vec = std::forward(rhs); - return *this; - } -#endif -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH endif -#endif - - template - BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename mpl::at_c::type - >::type - at_impl(mpl::int_ index) - { - return vec.at_impl(index); - } - - template - BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename add_const< - typename mpl::at_c::type - >::type - >::type - at_impl(mpl::int_ index) const - { - return vec.at_impl(index); - } - - template - BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename mpl::at::type - >::type - at_impl(I /*index*/) - { - return vec.at_impl(mpl::int_()); - } - - template - BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename add_const< - typename mpl::at::type - >::type - >::type - at_impl(I /*index*/) const - { - return vec.at_impl(mpl::int_()); - } - - private: - - BOOST_FUSION_VECTOR_CTOR_HELPER() - vector_n vec; - }; -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#undef FUSION_HASH -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/vector/vector10.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/vector/vector10.hpp deleted file mode 100644 index 4f9b18f5e1..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/vector/vector10.hpp +++ /dev/null @@ -1,104 +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_VECTOR10_05042005_0257) -#define FUSION_VECTOR10_05042005_0257 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct vector_tag; - struct fusion_sequence_tag; - struct random_access_traversal_tag; - - template - struct vector0 : sequence_base > - { - typedef mpl::vector0<> types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; // this gets picked up by MPL - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<0> size; - - BOOST_FUSION_GPU_ENABLED - vector0() {} - - template - BOOST_FUSION_GPU_ENABLED - vector0(Sequence const& /*seq*/) - {} - }; -}} - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vector10.hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct vector_tag; - struct fusion_sequence_tag; - struct random_access_traversal_tag; - -#define FUSION_HASH # -// expand vector1 to vector10 -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (1, 10) -#include BOOST_PP_ITERATE() -#undef FUSION_HASH -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/vector/vector20.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/vector/vector20.hpp deleted file mode 100644 index 11df242062..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/vector/vector20.hpp +++ /dev/null @@ -1,80 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_VECTOR20_05052005_0205) -#define FUSION_VECTOR20_05052005_0205 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vector20.hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct vector_tag; - struct fusion_sequence_tag; - struct random_access_traversal_tag; - -#define FUSION_HASH # -// expand vector11 to vector20 -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (11, 20) -#include BOOST_PP_ITERATE() -#undef FUSION_HASH -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/vector/vector30.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/vector/vector30.hpp deleted file mode 100644 index de379a06a2..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/vector/vector30.hpp +++ /dev/null @@ -1,79 +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_VECTOR30_05052005_0206) -#define FUSION_VECTOR30_05052005_0206 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vector30.hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct vector_tag; - struct fusion_sequence_tag; - struct random_access_traversal_tag; - -#define FUSION_HASH # -// expand vector21 to vector30 -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (21, 30) -#include BOOST_PP_ITERATE() -#undef FUSION_HASH -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/vector/vector40.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/vector/vector40.hpp deleted file mode 100644 index 2c6fd85431..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/vector/vector40.hpp +++ /dev/null @@ -1,80 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_VECTOR40_05052005_0208) -#define FUSION_VECTOR40_05052005_0208 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vector40.hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct vector_tag; - struct fusion_sequence_tag; - struct random_access_traversal_tag; - -#define FUSION_HASH # -// expand vector31 to vector40 -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (31, 40) -#include BOOST_PP_ITERATE() -#undef FUSION_HASH -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/vector/vector50.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/vector/vector50.hpp deleted file mode 100644 index d209966535..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/vector/vector50.hpp +++ /dev/null @@ -1,79 +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_VECTOR50_05052005_0207) -#define FUSION_VECTOR50_05052005_0207 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vector50.hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct vector_tag; - struct fusion_sequence_tag; - struct random_access_traversal_tag; - -#define FUSION_HASH # -// expand vector41 to vector50 -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (41, 50) -#include BOOST_PP_ITERATE() -#undef FUSION_HASH -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/container/vector/vector_fwd.hpp b/bundled/boost-1.56.0/include/boost/fusion/container/vector/vector_fwd.hpp deleted file mode 100644 index d157ea81f8..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/container/vector/vector_fwd.hpp +++ /dev/null @@ -1,66 +0,0 @@ -/*============================================================================= - Copyright (c) 1999-2003 Jaakko Jarvi - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_VECTOR_FORWARD_07072005_0125) -#define FUSION_VECTOR_FORWARD_07072005_0125 - -#include -#include -#include - -#include -#if (FUSION_MAX_VECTOR_SIZE > 10) -#include -#endif -#if (FUSION_MAX_VECTOR_SIZE > 20) -#include -#endif -#if (FUSION_MAX_VECTOR_SIZE > 30) -#include -#endif -#if (FUSION_MAX_VECTOR_SIZE > 40) -#include -#endif - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vvector" FUSION_MAX_VECTOR_SIZE_STR "_fwd.hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct void_; - - template < - BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( - FUSION_MAX_VECTOR_SIZE, typename T, void_) - > - struct vector; -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/functional/adapter/limits.hpp b/bundled/boost-1.56.0/include/boost/fusion/functional/adapter/limits.hpp deleted file mode 100644 index 783bc63275..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/functional/adapter/limits.hpp +++ /dev/null @@ -1,26 +0,0 @@ -/*============================================================================= - Copyright (c) 2006-2007 Tobias Schwinger - - Use modification and distribution are subject to the Boost Software - License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt). -==============================================================================*/ - -#if !defined(BOOST_FUSION_FUNCTIONAL_ADAPTER_LIMITS_HPP_INCLUDED) -# define BOOST_FUSION_FUNCTIONAL_ADAPTER_LIMITS_HPP_INCLUDED - -# include - -# if !defined(BOOST_FUSION_UNFUSED_MAX_ARITY) -# define BOOST_FUSION_UNFUSED_MAX_ARITY 6 -# elif BOOST_FUSION_UNFUSED_GENERIC_MAX_ARITY > FUSION_MAX_VECTOR_SIZE -# error "BOOST_FUSION_UNFUSED_GENERIC_MAX_ARITY > FUSION_MAX_VECTOR_SIZE" -# endif -# if !defined(BOOST_FUSION_UNFUSED_TYPED_MAX_ARITY) -# define BOOST_FUSION_UNFUSED_TYPED_MAX_ARITY 6 -# elif BOOST_FUSION_UNFUSED_TYPED_MAX_ARITY > FUSION_MAX_VECTOR_SIZE -# error "BOOST_FUSION_UNFUSED_TYPED_MAX_ARITY > FUSION_MAX_VECTOR_SIZE" -# endif - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/functional/invocation/invoke.hpp b/bundled/boost-1.56.0/include/boost/fusion/functional/invocation/invoke.hpp deleted file mode 100644 index d4aa945647..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/functional/invocation/invoke.hpp +++ /dev/null @@ -1,409 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2006 Joao Abecasis - Copyright (c) 2006-2007 Tobias Schwinger - - Use modification and distribution are subject to the Boost Software - License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt). -==============================================================================*/ - -#if !defined(BOOST_FUSION_FUNCTIONAL_INVOCATION_INVOKE_HPP_INCLUDED) -#if !defined(BOOST_PP_IS_ITERATING) - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template struct invoke; - } - - //~ template - //~ inline typename result_of::invoke::type - //~ invoke(Function, Sequence &); - - //~ template - //~ inline typename result_of::invoke::type - //~ invoke(Function, Sequence const &); - - //----- ---- --- -- - - - - - - namespace detail - { - namespace ft = function_types; - - template< - typename Function, class Sequence, - int N = result_of::size::value, - bool CBI = ft::is_callable_builtin::value, - bool RandomAccess = traits::is_random_access::value - > - struct invoke_impl; - - template - struct invoke_param_types; - - template - struct invoke_data_member; - - template - struct invoke_fn_ptr; - - template - struct invoke_mem_fn; - - #define BOOST_PP_FILENAME_1 - #define BOOST_PP_ITERATION_LIMITS (0, BOOST_FUSION_INVOKE_MAX_ARITY) - #include BOOST_PP_ITERATE() - - template - struct invoke_nonmember_builtin - // use same implementation as for function objects but... - : invoke_fn_ptr< // ...work around boost::result_of bugs - typename mpl::eval_if< ft::is_function, - boost::add_reference, boost::remove_cv >::type, - Sequence, N, RandomAccess > - { }; - - template - struct invoke_impl - : mpl::if_< ft::is_member_function_pointer, - invoke_mem_fn, - invoke_nonmember_builtin - >::type - { }; - - template - struct invoke_impl - : mpl::eval_if< ft::is_member_pointer, - mpl::if_< ft::is_member_function_pointer, - invoke_mem_fn, - invoke_data_member >, - mpl::identity< invoke_nonmember_builtin< - Function,Sequence,1,RandomAccess> > - >::type - { }; - - template - struct invoke_data_member< T C::*, Sequence > - { - private: - - typedef typename result_of::front::type that; - - typedef mpl::or_< boost::is_convertible, - boost::is_convertible, - non_const_pointee > non_const_cond; - - typedef typename mpl::eval_if< non_const_cond, - mpl::identity, add_const >::type qualified_class; - - typedef typename mpl::eval_if< non_const_cond, - mpl::identity, add_const >::type qualified_type; - - public: - - typedef typename boost::add_reference::type - result_type; - - BOOST_FUSION_GPU_ENABLED - static inline result_type call(T C::* f, Sequence & s) - { - typename result_of::front::type c = fusion::front(s); - return that_ptr::get(c)->*f; - } - }; - } - - namespace result_of - { - template struct invoke - { - typedef typename detail::invoke_impl< - typename boost::remove_reference::type, Sequence - >::result_type type; - }; - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::invoke::type - invoke(Function f, Sequence & s) - { - return detail::invoke_impl< - typename boost::remove_reference::type,Sequence - >::call(f,s); - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::invoke::type - invoke(Function f, Sequence const & s) - { - return detail::invoke_impl< - typename boost::remove_reference::type,Sequence const - >::call(f,s); - } - -}} - -#define BOOST_FUSION_FUNCTIONAL_INVOCATION_INVOKE_HPP_INCLUDED -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// -#define N BOOST_PP_ITERATION() - - template - struct invoke_impl - { - public: - - typedef typename boost::result_of< -#define M(z,j,data) typename result_of::at_c::type - Function(BOOST_PP_ENUM(N,M,~)) >::type result_type; -#undef M - -#if N > 0 - - template - BOOST_FUSION_GPU_ENABLED - static inline result_type - call(F & f, Sequence & s) - { -#define M(z,j,data) fusion::at_c(s) - return f( BOOST_PP_ENUM(N,M,~) ); - } - -#else - template - BOOST_FUSION_GPU_ENABLED - static inline result_type - call(F & f, Sequence & /*s*/) - { - return f(); - } - -#endif - - }; - - template - struct invoke_fn_ptr - { - public: - - typedef typename ft::result_type::type result_type; - -#if N > 0 - - template - BOOST_FUSION_GPU_ENABLED - static inline result_type - call(F & f, Sequence & s) - { -#define M(z,j,data) fusion::at_c(s) - return f( BOOST_PP_ENUM(N,M,~) ); - } - -#else - template - BOOST_FUSION_GPU_ENABLED - static inline result_type - call(F & f, Sequence & /*s*/) - { - return f(); - } - -#endif - - }; - - -#if N > 0 - template - struct invoke_mem_fn - { - public: - - typedef typename ft::result_type::type result_type; - - template - BOOST_FUSION_GPU_ENABLED - static inline result_type - call(F & f, Sequence & s) - { - return (that_ptr >::type - >::get(fusion::at_c<0>(s))->*f)(BOOST_PP_ENUM_SHIFTED(N,M,~)); - } - }; -#endif - -#undef M - -#define M(z,j,data) \ - typename seq::I##j i##j = \ - fusion::next(BOOST_PP_CAT(i,BOOST_PP_DEC(j))); - - template - struct invoke_impl - { - private: - typedef invoke_param_types seq; - public: - - typedef typename boost::result_of< - Function(BOOST_PP_ENUM_PARAMS(N,typename seq::T)) - >::type result_type; - -#if N > 0 - - template - BOOST_FUSION_GPU_ENABLED - static inline result_type - call(F & f, Sequence & s) - { - typename seq::I0 i0 = fusion::begin(s); - BOOST_PP_REPEAT_FROM_TO(1,N,M,~) - return f( BOOST_PP_ENUM_PARAMS(N,*i) ); - } - -#else - - template - BOOST_FUSION_GPU_ENABLED - static inline result_type - call(F & f, Sequence & /*s*/) - { - return f(); - } - -#endif - - }; - - template - struct invoke_fn_ptr - { - private: - typedef invoke_param_types seq; - public: - - typedef typename ft::result_type::type result_type; - -#if N > 0 - - template - BOOST_FUSION_GPU_ENABLED - static inline result_type - call(F & f, Sequence & s) - { - typename seq::I0 i0 = fusion::begin(s); - BOOST_PP_REPEAT_FROM_TO(1,N,M,~) - return f( BOOST_PP_ENUM_PARAMS(N,*i) ); - } - -#else - - template - BOOST_FUSION_GPU_ENABLED - static inline result_type - call(F & f, Sequence & /*s*/) - { - return f(); - } - -#endif - - }; - -#if N > 0 - template - struct invoke_mem_fn - { - private: - typedef invoke_param_types seq; - public: - - typedef typename ft::result_type::type result_type; - - template - BOOST_FUSION_GPU_ENABLED - static inline result_type - call(F & f, Sequence & s) - { - typename seq::I0 i0 = fusion::begin(s); - BOOST_PP_REPEAT_FROM_TO(1,N,M,~) - - return (that_ptr< typename mpl::front< - ft::parameter_types >::type - >::get(*i0)->*f)(BOOST_PP_ENUM_SHIFTED_PARAMS(N,*i)); - } - }; -#endif - -#undef M - - template struct invoke_param_types - { -#if N > 0 - typedef typename result_of::begin::type I0; - typedef typename result_of::deref::type T0; - -#define M(z,i,data) \ - typedef typename result_of::next< \ - BOOST_PP_CAT(I,BOOST_PP_DEC(i))>::type I##i; \ - typedef typename result_of::deref::type T##i; - - BOOST_PP_REPEAT_FROM_TO(1,N,M,~) -#undef M -#endif - }; - - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/iterator/advance.hpp b/bundled/boost-1.56.0/include/boost/fusion/iterator/advance.hpp deleted file mode 100644 index 69b464274b..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/iterator/advance.hpp +++ /dev/null @@ -1,95 +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_ADVANCE_09172005_1146) -#define FUSION_ADVANCE_09172005_1146 - -#include -#include -#include - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct random_access_traversal_tag; - - // Special tags: - struct iterator_facade_tag; // iterator facade tag - struct boost_array_iterator_tag; // boost::array iterator tag - struct mpl_iterator_tag; // mpl sequence iterator tag - struct std_pair_iterator_tag; // std::pair iterator tag - - namespace extension - { - template - struct advance_impl - { - // default implementation - template - struct apply : - mpl::if_c< - (N::value > 0) - , advance_detail::forward - , advance_detail::backward - >::type - { - BOOST_MPL_ASSERT_NOT((traits::is_random_access)); - }; - }; - - template <> - struct advance_impl - { - template - struct apply : Iterator::template advance {}; - }; - - template <> - struct advance_impl; - - template <> - struct advance_impl; - - template <> - struct advance_impl; - } - - namespace result_of - { - template - struct advance_c - : extension::advance_impl::type>::template apply > - {}; - - template - struct advance - : extension::advance_impl::type>::template apply - {}; - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::advance_c::type const - advance_c(Iterator const& i) - { - return result_of::advance_c::call(i); - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::advance::type const - advance(Iterator const& i) - { - return result_of::advance::call(i); - } - -}} // namespace boost::fusion - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/iterator/detail/advance.hpp b/bundled/boost-1.56.0/include/boost/fusion/iterator/detail/advance.hpp deleted file mode 100644 index ace4ed4989..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/iterator/detail/advance.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_ADVANCE_09172005_1149) -#define FUSION_ADVANCE_09172005_1149 - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace advance_detail -{ - // Default advance implementation, perform next(i) - // or prior(i) N times. - - template - struct forward; - - template - struct next_forward - { - typedef typename - forward< - typename result_of::next::type - , N-1 - >::type - type; - }; - - template - struct forward - { - typedef typename - mpl::eval_if_c< - (N == 0) - , mpl::identity - , next_forward - >::type - type; - - BOOST_FUSION_GPU_ENABLED - static type const& - call(type const& i) - { - return i; - } - - template - BOOST_FUSION_GPU_ENABLED - static type - call(I const& i) - { - return call(fusion::next(i)); - } - }; - - template - struct backward; - - template - struct next_backward - { - typedef typename - backward< - typename result_of::prior::type - , N+1 - >::type - type; - }; - - template - struct backward - { - typedef typename - mpl::eval_if_c< - (N == 0) - , mpl::identity - , next_backward - >::type - type; - - BOOST_FUSION_GPU_ENABLED - static type const& - call(type const& i) - { - return i; - } - - template - BOOST_FUSION_GPU_ENABLED - static type - call(I const& i) - { - return call(fusion::prior(i)); - } - }; - -}}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/iterator/detail/distance.hpp b/bundled/boost-1.56.0/include/boost/fusion/iterator/detail/distance.hpp deleted file mode 100644 index c037995210..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/iterator/detail/distance.hpp +++ /dev/null @@ -1,66 +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_DISTANCE_09172005_0730) -#define FUSION_DISTANCE_09172005_0730 - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace distance_detail -{ - // Default distance implementation, linear - // search for the Last iterator. - - template - struct linear_distance; - - template - struct next_distance - { - typedef typename - mpl::next< - typename linear_distance< - typename result_of::next::type - , Last - >::type - >::type - type; - }; - - template - struct linear_distance - : mpl::eval_if< - result_of::equal_to - , mpl::identity > - , next_distance - >::type - { - typedef typename - mpl::eval_if< - result_of::equal_to - , mpl::identity > - , next_distance - >::type - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(First const&, Last const&) - { - return type(); - } - }; - -}}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/iterator/distance.hpp b/bundled/boost-1.56.0/include/boost/fusion/iterator/distance.hpp deleted file mode 100644 index afca6a363e..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/iterator/distance.hpp +++ /dev/null @@ -1,80 +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_DISTANCE_09172005_0721) -#define FUSION_DISTANCE_09172005_0721 - -#include -#include -#include - -#include -#include -#include - -#include - -namespace boost { namespace fusion -{ - struct random_access_traversal_tag; - - // Special tags: - struct iterator_facade_tag; // iterator facade tag - struct boost_array_iterator_tag; // boost::array iterator tag - struct mpl_iterator_tag; // mpl sequence iterator tag - struct std_pair_iterator_tag; // std::pair iterator tag - - namespace extension - { - template - struct distance_impl - { - // default implementation - template - struct apply : distance_detail::linear_distance - {}; - }; - - template <> - struct distance_impl - { - template - struct apply : First::template distance {}; - }; - - template <> - struct distance_impl; - - template <> - struct distance_impl; - - template <> - struct distance_impl; - } - - namespace result_of - { - template - struct distance - : extension::distance_impl::type>:: - template apply - { - typedef typename extension::distance_impl::type>:: - template apply::type distance_application; - BOOST_STATIC_CONSTANT(int, value = distance_application::value); - }; - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::distance::type - distance(First const& a, Last const& b) - { - return result_of::distance::call(a,b); - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/iterator/equal_to.hpp b/bundled/boost-1.56.0/include/boost/fusion/iterator/equal_to.hpp deleted file mode 100644 index 1927ce7e96..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/iterator/equal_to.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(FUSION_EQUAL_TO_05052005_1208) -#define FUSION_EQUAL_TO_05052005_1208 - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - // Special tags: - struct iterator_facade_tag; // iterator facade tag - struct boost_array_iterator_tag; // boost::array iterator tag - struct mpl_iterator_tag; // mpl sequence iterator tag - struct std_pair_iterator_tag; // std::pair iterator tag - - namespace extension - { - template - struct equal_to_impl - { - // default implementation - template - struct apply - : is_same::type, typename add_const::type> - {}; - }; - - template <> - struct equal_to_impl - { - template - struct dispatch : mpl::false_ {}; - - template - struct dispatch // same tag - : It1::template equal_to - {}; - - template - struct apply : dispatch - {}; - }; - - template <> - struct equal_to_impl; - - template <> - struct equal_to_impl; - - template <> - struct equal_to_impl; - } - - namespace result_of - { - template - struct equal_to - : extension::equal_to_impl::type>:: - template apply - {}; - } - - namespace iterator_operators - { - template - BOOST_FUSION_GPU_ENABLED - inline typename - boost::enable_if< - mpl::and_, is_fusion_iterator > - , bool - >::type - operator==(Iter1 const&, Iter2 const&) - { - return result_of::equal_to::value; - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename - boost::enable_if< - mpl::and_, is_fusion_iterator > - , bool - >::type - operator!=(Iter1 const&, Iter2 const&) - { - return !result_of::equal_to::value; - } - } - - using iterator_operators::operator==; - using iterator_operators::operator!=; -}} - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/iterator/iterator_facade.hpp b/bundled/boost-1.56.0/include/boost/fusion/iterator/iterator_facade.hpp deleted file mode 100644 index 415e841c00..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/iterator/iterator_facade.hpp +++ /dev/null @@ -1,58 +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_ITERATOR_FACADE_09252006_1011) -#define FUSION_ITERATOR_FACADE_09252006_1011 - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct iterator_facade_tag; - - template - struct iterator_facade : iterator_base - { - typedef iterator_facade_tag fusion_tag; - typedef Derived derived_type; - typedef Category category; - - // default implementation - template - struct equal_to // default implementation - : is_same< - typename I1::derived_type - , typename I2::derived_type - > - {}; - - // default implementation - template - struct advance : - mpl::if_c< - (N::value > 0) - , advance_detail::forward - , advance_detail::backward - >::type - { - BOOST_MPL_ASSERT_NOT((traits::is_random_access)); - }; - - // default implementation - template - struct distance : - distance_detail::linear_distance - {}; - }; -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/detail/equal_to.hpp b/bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/detail/equal_to.hpp deleted file mode 100644 index 577023db6a..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/detail/equal_to.hpp +++ /dev/null @@ -1,66 +0,0 @@ -/*============================================================================= - 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_EQUAL_TO_05052005_1142) -#define FUSION_EQUAL_TO_05052005_1142 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template - struct sequence_equal_to - { - typedef typename result_of::end::type end1_type; - typedef typename result_of::end::type end2_type; - - template - BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const&, I2 const&, mpl::true_) - { - return true; - } - - template - BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const& a, I2 const& b, mpl::false_) - { - return extension::as_const(*a) == extension::as_const(*b) - && call(fusion::next(a), fusion::next(b)); - } - - template - BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const& a, I2 const& b) - { - typename result_of::equal_to::type eq; - return call(a, b, eq); - } - }; - - template - struct sequence_equal_to - { - template - BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const& /*a*/, I2 const& /*b*/) - { - return false; - } - }; -}}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/detail/greater.hpp b/bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/detail/greater.hpp deleted file mode 100644 index d875f16b2b..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/detail/greater.hpp +++ /dev/null @@ -1,55 +0,0 @@ -/*============================================================================= - 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_GREATER_05052005_1142) -#define FUSION_GREATER_05052005_1142 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template - struct sequence_greater - { - typedef typename result_of::end::type end1_type; - typedef typename result_of::end::type end2_type; - - template - BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const&, I2 const&, mpl::true_) - { - return false; - } - - template - BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const& a, I2 const& b, mpl::false_) - { - return extension::as_const(*a) > extension::as_const(*b) || - (!(extension::as_const(*b) > extension::as_const(*a)) && - call(fusion::next(a), fusion::next(b))); - } - - template - BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const& a, I2 const& b) - { - typename result_of::equal_to::type eq; - return call(a, b, eq); - } - }; -}}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/detail/greater_equal.hpp b/bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/detail/greater_equal.hpp deleted file mode 100644 index e0aa530e18..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/detail/greater_equal.hpp +++ /dev/null @@ -1,55 +0,0 @@ -/*============================================================================= - 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_GREATER_EQUAL_05052005_1142) -#define FUSION_GREATER_EQUAL_05052005_1142 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template - struct sequence_greater_equal - { - typedef typename result_of::end::type end1_type; - typedef typename result_of::end::type end2_type; - - template - BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const&, I2 const&, mpl::true_) - { - return true; - } - - template - BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const& a, I2 const& b, mpl::false_) - { - return extension::as_const(*a) >= extension::as_const(*b) - && (!(extension::as_const(*b) >= extension::as_const(*a)) || - call(fusion::next(a), fusion::next(b))); - } - - template - BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const& a, I2 const& b) - { - typename result_of::equal_to::type eq; - return call(a, b, eq); - } - }; -}}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/detail/less.hpp b/bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/detail/less.hpp deleted file mode 100644 index 8964ca7d13..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/detail/less.hpp +++ /dev/null @@ -1,55 +0,0 @@ -/*============================================================================= - 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_LESS_05052005_1141) -#define FUSION_LESS_05052005_1141 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template - struct sequence_less - { - typedef typename result_of::end::type end1_type; - typedef typename result_of::end::type end2_type; - - template - BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const&, I2 const&, mpl::true_) - { - return false; - } - - template - BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const& a, I2 const& b, mpl::false_) - { - return extension::as_const(*a) < extension::as_const(*b) || - (!(extension::as_const(*b) < extension::as_const(*a)) && - call(fusion::next(a), fusion::next(b))); - } - - template - BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const& a, I2 const& b) - { - typename result_of::equal_to::type eq; - return call(a, b, eq); - } - }; -}}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/detail/less_equal.hpp b/bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/detail/less_equal.hpp deleted file mode 100644 index 10bcb76791..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/detail/less_equal.hpp +++ /dev/null @@ -1,55 +0,0 @@ -/*============================================================================= - 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_LESS_EQUAL_05052005_1141) -#define FUSION_LESS_EQUAL_05052005_1141 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template - struct sequence_less_equal - { - typedef typename result_of::end::type end1_type; - typedef typename result_of::end::type end2_type; - - template - BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const&, I2 const&, mpl::true_) - { - return true; - } - - template - BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const& a, I2 const& b, mpl::false_) - { - return extension::as_const(*a) <= extension::as_const(*b) - && (!(extension::as_const(*b) <= extension::as_const(*a)) || - call(fusion::next(a), fusion::next(b))); - } - - template - BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const& a, I2 const& b) - { - typename result_of::equal_to::type eq; - return call(a, b, eq); - } - }; -}}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/detail/not_equal_to.hpp b/bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/detail/not_equal_to.hpp deleted file mode 100644 index b230ac1fba..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/detail/not_equal_to.hpp +++ /dev/null @@ -1,66 +0,0 @@ -/*============================================================================= - 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_NOT_EQUAL_TO_05052005_1141) -#define FUSION_NOT_EQUAL_TO_05052005_1141 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template - struct sequence_not_equal_to - { - typedef typename result_of::end::type end1_type; - typedef typename result_of::end::type end2_type; - - template - BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const&, I2 const&, mpl::true_) - { - return false; - } - - template - BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const& a, I2 const& b, mpl::false_) - { - return extension::as_const(*a) != extension::as_const(*b) - || call(fusion::next(a), fusion::next(b)); - } - - template - BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const& a, I2 const& b) - { - typename result_of::equal_to::type eq; - return call(a, b, eq); - } - }; - - template - struct sequence_not_equal_to - { - template - BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const& a, I2 const& b) - { - return true; - } - }; -}}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/equal_to.hpp b/bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/equal_to.hpp deleted file mode 100644 index 485df0bac2..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/equal_to.hpp +++ /dev/null @@ -1,59 +0,0 @@ -/*============================================================================= - 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_EQUAL_TO_05052005_0431) -#define FUSION_EQUAL_TO_05052005_0431 - -#include -#include -#include -#include -#include -#include -#include - -#if defined (BOOST_MSVC) -# pragma warning(push) -# pragma warning (disable: 4100) // unreferenced formal parameter -#endif - -namespace boost { namespace fusion -{ - template - BOOST_FUSION_GPU_ENABLED - inline bool - equal_to(Seq1 const& a, Seq2 const& b) - { - return result_of::size::value == result_of::size::value - && detail::sequence_equal_to< - Seq1 const, Seq2 const - , result_of::size::value == result_of::size::value>:: - call(fusion::begin(a), fusion::begin(b)); - } - - namespace operators - { - template - BOOST_FUSION_GPU_ENABLED - inline typename - boost::enable_if< - traits::enable_equality - , bool - >::type - operator==(Seq1 const& a, Seq2 const& b) - { - return fusion::equal_to(a, b); - } - } - using operators::operator==; -}} - -#if defined (BOOST_MSVC) -# pragma warning(pop) -#endif - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/greater.hpp b/bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/greater.hpp deleted file mode 100644 index 5ad7ef74b9..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/greater.hpp +++ /dev/null @@ -1,55 +0,0 @@ -/*============================================================================= - 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_GREATER_05052005_0432) -#define FUSION_GREATER_05052005_0432 - -#include -#include -#include -#include -#include - -#if defined(FUSION_DIRECT_OPERATOR_USAGE) -#include -#else -#include -#endif - -namespace boost { namespace fusion -{ - template - BOOST_FUSION_GPU_ENABLED - inline bool - greater(Seq1 const& a, Seq2 const& b) - { -#if defined(FUSION_DIRECT_OPERATOR_USAGE) - return detail::sequence_greater:: - call(fusion::begin(a), fusion::begin(b)); -#else - return (b < a); -#endif - } - - namespace operators - { - template - BOOST_FUSION_GPU_ENABLED - inline typename - boost::enable_if< - traits::enable_comparison - , bool - >::type - operator>(Seq1 const& a, Seq2 const& b) - { - return fusion::greater(a, b); - } - } - using operators::operator>; -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/greater_equal.hpp b/bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/greater_equal.hpp deleted file mode 100644 index 65904f8339..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/greater_equal.hpp +++ /dev/null @@ -1,55 +0,0 @@ -/*============================================================================= - 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_GREATER_EQUAL_05052005_0432) -#define FUSION_GREATER_EQUAL_05052005_0432 - -#include -#include -#include -#include -#include - -#if defined(FUSION_DIRECT_OPERATOR_USAGE) -#include -#else -#include -#endif - -namespace boost { namespace fusion -{ - template - BOOST_FUSION_GPU_ENABLED - inline bool - greater_equal(Seq1 const& a, Seq2 const& b) - { -#if defined(FUSION_DIRECT_OPERATOR_USAGE) - return detail::sequence_greater_equal:: - call(fusion::begin(a), fusion::begin(b)); -#else - return !(a < b); -#endif - } - - namespace operators - { - template - BOOST_FUSION_GPU_ENABLED - inline typename - boost::enable_if< - traits::enable_comparison - , bool - >::type - operator>=(Seq1 const& a, Seq2 const& b) - { - return fusion::greater_equal(a, b); - } - } - using operators::operator>=; -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/less.hpp b/bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/less.hpp deleted file mode 100644 index 28762b7394..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/less.hpp +++ /dev/null @@ -1,46 +0,0 @@ -/*============================================================================= - 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_LESS_05052005_0432) -#define FUSION_LESS_05052005_0432 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - template - BOOST_FUSION_GPU_ENABLED - inline bool - less(Seq1 const& a, Seq2 const& b) - { - return detail::sequence_less:: - call(fusion::begin(a), fusion::begin(b)); - } - - namespace operators - { - template - BOOST_FUSION_GPU_ENABLED - inline typename - boost::enable_if< - traits::enable_comparison - , bool - >::type - operator<(Seq1 const& a, Seq2 const& b) - { - return fusion::less(a, b); - } - } - using operators::operator<; -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/less_equal.hpp b/bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/less_equal.hpp deleted file mode 100644 index d0668208f0..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/less_equal.hpp +++ /dev/null @@ -1,87 +0,0 @@ -/*============================================================================= - 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_LESS_EQUAL_05052005_0432) -#define FUSION_LESS_EQUAL_05052005_0432 - -#include -#include -#include -#include -#include -#include - -#if defined(FUSION_DIRECT_OPERATOR_USAGE) -#include -#else -#include -#endif - -namespace boost { namespace fusion -{ - template - BOOST_FUSION_GPU_ENABLED - inline bool - less_equal(Seq1 const& a, Seq2 const& b) - { -#if defined(FUSION_DIRECT_OPERATOR_USAGE) - return detail::sequence_less_equal:: - call(fusion::begin(a), fusion::begin(b)); -#else - return !(b < a); -#endif - } - - namespace operators - { -#if defined(BOOST_MSVC) && (BOOST_MSVC <= 1400) -// Workaround for VC8.0 and VC7.1 - template - BOOST_FUSION_GPU_ENABLED - inline bool - operator<=(sequence_base const& a, sequence_base const& b) - { - return less_equal(a.derived(), b.derived()); - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename disable_if, bool>::type - operator<=(sequence_base const& a, Seq2 const& b) - { - return less_equal(a.derived(), b); - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename disable_if, bool>::type - operator<=(Seq1 const& a, sequence_base const& b) - { - return less_equal(a, b.derived()); - } - -#else -// Somehow VC8.0 and VC7.1 does not like this code -// but barfs somewhere else. - - template - BOOST_FUSION_GPU_ENABLED - inline typename - boost::enable_if< - traits::enable_comparison - , bool - >::type - operator<=(Seq1 const& a, Seq2 const& b) - { - return fusion::less_equal(a, b); - } -#endif - } - using operators::operator<=; -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/not_equal_to.hpp b/bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/not_equal_to.hpp deleted file mode 100644 index 4cd94f9e53..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/sequence/comparison/not_equal_to.hpp +++ /dev/null @@ -1,58 +0,0 @@ -/*============================================================================= - 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_NOT_EQUAL_TO_05052005_0431) -#define FUSION_NOT_EQUAL_TO_05052005_0431 - -#include -#include -#include -#include -#include - -#if defined(FUSION_DIRECT_OPERATOR_USAGE) -#include -#else -#include -#endif - -namespace boost { namespace fusion -{ - template - BOOST_FUSION_GPU_ENABLED - inline bool - not_equal_to(Seq1 const& a, Seq2 const& b) - { -#if defined(FUSION_DIRECT_OPERATOR_USAGE) - return result_of::size::value != result_of::size::value - || detail::sequence_not_equal_to< - Seq1 const, Seq2 const - , result_of::size::value == result_of::size::value>:: - call(fusion::begin(a), fusion::begin(b)); -#else - return !(a == b); -#endif - } - - namespace operators - { - template - BOOST_FUSION_GPU_ENABLED - inline typename - boost::enable_if< - traits::enable_equality - , bool - >::type - operator!=(Seq1 const& a, Seq2 const& b) - { - return fusion::not_equal_to(a, b); - } - } - using operators::operator!=; -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/sequence/convert.hpp b/bundled/boost-1.56.0/include/boost/fusion/sequence/convert.hpp deleted file mode 100644 index 461b92120d..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/sequence/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_10022005_1442) -#define FUSION_CONVERT_10022005_1442 - -namespace boost { namespace fusion -{ - namespace extension - { - template - struct convert_impl; - } - - namespace result_of - { - template - struct convert - { - typedef typename - extension::convert_impl::template apply - gen; - - typedef typename gen::type type; - }; - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::convert::type - convert(Sequence& seq) - { - typedef typename result_of::convert::gen gen; - return gen::call(seq); - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::convert::type - convert(Sequence const& seq) - { - typedef typename result_of::convert::gen gen; - return gen::call(seq); - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/sequence/intrinsic/at_key.hpp b/bundled/boost-1.56.0/include/boost/fusion/sequence/intrinsic/at_key.hpp deleted file mode 100644 index 844de840e4..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/sequence/intrinsic/at_key.hpp +++ /dev/null @@ -1,97 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 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(BOOST_FUSION_AT_KEY_20060304_1755) -#define BOOST_FUSION_AT_KEY_20060304_1755 - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - // Special tags: - struct sequence_facade_tag; - struct boost_array_tag; // boost::array tag - struct mpl_sequence_tag; // mpl sequence tag - struct std_pair_tag; // std::pair tag - - namespace extension - { - template - struct at_key_impl - { - template - struct apply - { - typedef typename - result_of::deref_data< - typename result_of::find::type - >::type - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Seq& seq) - { - return fusion::deref_data(fusion::find(seq)); - } - }; - }; - - template <> - struct at_key_impl - { - template - struct apply : Sequence::template at_key_impl {}; - }; - - template <> - struct at_key_impl; - - template <> - struct at_key_impl; - - template <> - struct at_key_impl; - } - - namespace result_of - { - template - struct at_key - : extension::at_key_impl::type>:: - template apply - {}; - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename - lazy_disable_if< - is_const - , result_of::at_key - >::type - at_key(Sequence& seq) - { - return result_of::at_key::call(seq); - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::at_key::type - at_key(Sequence const& seq) - { - return result_of::at_key::call(seq); - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/sequence/intrinsic/empty.hpp b/bundled/boost-1.56.0/include/boost/fusion/sequence/intrinsic/empty.hpp deleted file mode 100644 index 3c8666abd4..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/sequence/intrinsic/empty.hpp +++ /dev/null @@ -1,63 +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_EMPTY_09162005_0335) -#define FUSION_EMPTY_09162005_0335 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - // Special tags: - struct sequence_facade_tag; - struct mpl_sequence_tag; // mpl sequence tag - - namespace extension - { - template - struct empty_impl - { - template - struct apply - : mpl::bool_<(result_of::size::value == 0)> - {}; - }; - - template <> - struct empty_impl - { - template - struct apply : Sequence::template empty {}; - }; - - template <> - struct empty_impl; - } - - namespace result_of - { - template - struct empty - : extension::empty_impl::type>:: - template apply - {}; - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::empty::type - empty(Sequence const&) - { - typedef typename result_of::empty::type result; - return result(); - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/sequence/intrinsic/size.hpp b/bundled/boost-1.56.0/include/boost/fusion/sequence/intrinsic/size.hpp deleted file mode 100644 index 51e613f693..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/sequence/intrinsic/size.hpp +++ /dev/null @@ -1,90 +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_SIZE_05052005_0214) -#define FUSION_SIZE_05052005_0214 - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - // Special tags: - struct sequence_facade_tag; - struct boost_tuple_tag; // boost::tuples::tuple tag - struct boost_array_tag; // boost::array tag - struct mpl_sequence_tag; // mpl sequence tag - struct std_pair_tag; // std::pair tag - - namespace extension - { - template - struct size_impl - { - template - struct unsegmented_size : Sequence::size {}; - - template - struct apply - : mpl::if_< - traits::is_segmented - , detail::segmented_size - , unsegmented_size - >::type - {}; - }; - - template <> - struct size_impl - { - template - struct apply : Sequence::template size {}; - }; - - template <> - struct size_impl; - - template <> - struct size_impl; - - template <> - struct size_impl; - - template <> - struct size_impl; - } - - namespace result_of - { - template - struct size - : extension::size_impl::type>:: - template apply - - { - typedef typename extension::size_impl::type>:: - template apply::type size_application; - BOOST_STATIC_CONSTANT(int, value = size_application::value); - }; - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::size::type - size(Sequence const&) - { - typedef typename result_of::size::type result; - return result(); - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/sequence/intrinsic/value_at.hpp b/bundled/boost-1.56.0/include/boost/fusion/sequence/intrinsic/value_at.hpp deleted file mode 100644 index 362669b521..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/sequence/intrinsic/value_at.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(FUSION_VALUE_AT_05052005_0229) -#define FUSION_VALUE_AT_05052005_0229 - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - // Special tags: - struct sequence_facade_tag; - struct boost_tuple_tag; // boost::tuples::tuple tag - struct boost_array_tag; // boost::array tag - struct mpl_sequence_tag; // mpl sequence tag - struct std_pair_tag; // std::pair tag - - namespace extension - { - template - struct value_at_impl - { - template - struct apply; - }; - - template <> - struct value_at_impl - { - template - struct apply : Sequence::template value_at {}; - }; - - template <> - struct value_at_impl; - - template <> - struct value_at_impl; - - template <> - struct value_at_impl; - - template <> - struct value_at_impl; - } - - namespace result_of - { - template - struct value_at - : extension::value_at_impl::type>:: - template apply - {}; - - template - struct value_at_c - : fusion::result_of::value_at > - {}; - } -}} - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/sequence/intrinsic/value_at_key.hpp b/bundled/boost-1.56.0/include/boost/fusion/sequence/intrinsic/value_at_key.hpp deleted file mode 100644 index 6d8be3fbcd..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/sequence/intrinsic/value_at_key.hpp +++ /dev/null @@ -1,67 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 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_VALUE_AT_KEY_05052005_0229) -#define FUSION_VALUE_AT_KEY_05052005_0229 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - // Special tags: - struct sequence_facade_tag; - struct boost_array_tag; // boost::array tag - struct mpl_sequence_tag; // mpl sequence tag - struct std_pair_tag; // std::pair tag - - namespace extension - { - template - struct value_at_key_impl - { - template - struct apply - : result_of::value_of_data< - typename result_of::find::type - > - {}; - }; - - template <> - struct value_at_key_impl - { - template - struct apply : Sequence::template value_at_key {}; - }; - - template <> - struct value_at_key_impl; - - template <> - struct value_at_key_impl; - - template <> - struct value_at_key_impl; - } - - namespace result_of - { - template - struct value_at_key - : extension::value_at_key_impl::type>:: - template apply - {}; - } -}} - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/support/config.hpp b/bundled/boost-1.56.0/include/boost/fusion/support/config.hpp deleted file mode 100644 index 16e38f9587..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/support/config.hpp +++ /dev/null @@ -1,16 +0,0 @@ -/*============================================================================= - Copyright (c) 2014 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(FUSION_SUPPORT_CONFIG_01092014_1718) -#define FUSION_SUPPORT_CONFIG_01092014_1718 - -#include - -#ifndef BOOST_FUSION_GPU_ENABLED -#define BOOST_FUSION_GPU_ENABLED BOOST_GPU_ENABLED -#endif - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/support/pair.hpp b/bundled/boost-1.56.0/include/boost/fusion/support/pair.hpp deleted file mode 100644 index c547926e9b..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/support/pair.hpp +++ /dev/null @@ -1,168 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2006 Tobias Schwinger - - Distributed under the 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_PAIR_07222005_1203) -#define FUSION_PAIR_07222005_1203 - -#include -#include - -#include -#include -#include -#include -#include - -#if defined (BOOST_MSVC) -# pragma warning(push) -# pragma warning (disable: 4512) // assignment operator could not be generated. -#endif - -namespace boost { namespace fusion -{ - // A half runtime pair where the first type does not have data - template - struct pair - { - BOOST_FUSION_GPU_ENABLED - pair() - : second() {} - - BOOST_FUSION_GPU_ENABLED - pair(pair const& rhs) - : second(rhs.second) {} - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - BOOST_FUSION_GPU_ENABLED - pair(pair&& rhs) - : second(std::forward(rhs.second)) {} -#endif - - BOOST_FUSION_GPU_ENABLED - pair(typename detail::call_param::type val) - : second(val) {} - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - - template - BOOST_FUSION_GPU_ENABLED - pair(Second2&& val - , typename boost::enable_if >::type* /*dummy*/ = 0 - ) : second(std::forward(val)) {} - -#endif - - template - BOOST_FUSION_GPU_ENABLED - pair(pair const& rhs) - : second(rhs.second) {} - - template - BOOST_FUSION_GPU_ENABLED - pair& operator=(pair const& rhs) - { - second = rhs.second; - return *this; - } - - BOOST_FUSION_GPU_ENABLED - pair& operator=(pair const& rhs) - { - second = rhs.second; - return *this; - } - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - BOOST_FUSION_GPU_ENABLED - pair& operator=(pair&& rhs) - { - second = std::forward(rhs.second); - return *this; - } -#endif - - typedef First first_type; - typedef Second second_type; - Second second; - }; - - namespace result_of - { - template - struct make_pair - { - typedef fusion::pair::type> type; - }; - - template - struct first - { - typedef typename Pair::first_type type; - }; - - template - struct second - { - typedef typename Pair::second_type type; - }; - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::make_pair::type - make_pair(Second const& val) - { - return pair::type>(val); - } - - template - inline std::ostream& - operator<<(std::ostream& os, pair const& p) - { - os << p.second; - return os; - } - - template - inline std::istream& - operator>>(std::istream& is, pair& p) - { - is >> p.second; - return is; - } - - template - BOOST_FUSION_GPU_ENABLED - inline bool - operator==(pair const& l, pair const& r) - { - return l.second == r.second; - } - - template - BOOST_FUSION_GPU_ENABLED - inline bool - operator!=(pair const& l, pair const& r) - { - return l.second != r.second; - } - - template - BOOST_FUSION_GPU_ENABLED - inline bool - operator<(pair const& l, pair const& r) - { - return l.second < r.second; - } -}} - -#if defined (BOOST_MSVC) -# pragma warning(pop) -#endif - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/support/unused.hpp b/bundled/boost-1.56.0/include/boost/fusion/support/unused.hpp deleted file mode 100644 index b3eec5ce13..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/support/unused.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) -==============================================================================*/ -#if !defined(BOOST_FUSION_SUPPORT_UNUSED_20070305_1038) -#define BOOST_FUSION_SUPPORT_UNUSED_20070305_1038 - -#include -#include - -#include -#if defined(BOOST_MSVC) -# pragma warning(push) -# pragma warning(disable: 4522) // multiple assignment operators specified warning -#endif - -#define BOOST_FUSION_UNUSED_HAS_IO - -namespace boost { namespace fusion -{ - struct unused_type - { - BOOST_FUSION_GPU_ENABLED - unused_type() - { - } - - template - BOOST_FUSION_GPU_ENABLED - unused_type(T const&) - { - } - - template - BOOST_FUSION_GPU_ENABLED - unused_type const& - operator=(T const&) const - { - return *this; - } - - template - BOOST_FUSION_GPU_ENABLED - unused_type& - operator=(T const&) - { - return *this; - } - - BOOST_FUSION_GPU_ENABLED - unused_type const& - operator=(unused_type const&) const - { - return *this; - } - - BOOST_FUSION_GPU_ENABLED - unused_type& - operator=(unused_type const&) - { - return *this; - } - }; - - unused_type const unused = unused_type(); - - namespace detail - { - struct unused_only - { - BOOST_FUSION_GPU_ENABLED - unused_only(unused_type const&) {} - }; - } - - inline std::ostream& operator<<(std::ostream& out, detail::unused_only const&) - { - return out; - } - - inline std::istream& operator>>(std::istream& in, unused_type&) - { - return in; - } -}} - -#if defined(BOOST_MSVC) -# pragma warning(pop) -#endif - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple10.hpp b/bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple10.hpp deleted file mode 100644 index 87b64e6711..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple10.hpp +++ /dev/null @@ -1,209 +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 -{ - template - struct tuple : vector - { - typedef vector< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> - base_type; - BOOST_FUSION_GPU_ENABLED tuple() - : base_type() {} - BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(std::pair const& rhs) - : base_type(rhs) {} - BOOST_FUSION_GPU_ENABLED - explicit - tuple(typename detail::call_param::type _0) - : base_type(_0) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1) - : base_type(_0 , _1) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2) - : base_type(_0 , _1 , _2) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3) - : base_type(_0 , _1 , _2 , _3) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4) - : base_type(_0 , _1 , _2 , _3 , _4) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5) - : base_type(_0 , _1 , _2 , _3 , _4 , _5) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(T const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(std::pair const& rhs) - { - base_type::operator=(rhs); - return *this; - } - }; - template - struct tuple_size : result_of::size {}; - template - struct tuple_element : result_of::value_at_c {}; - template - BOOST_FUSION_GPU_ENABLED - inline typename - lazy_disable_if< - is_const - , result_of::at_c - >::type - get(Tuple& tup) - { - return at_c(tup); - } - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::at_c::type - get(Tuple const& tup) - { - return at_c(tup); - } -}} diff --git a/bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple20.hpp b/bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple20.hpp deleted file mode 100644 index 210a13ad25..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple20.hpp +++ /dev/null @@ -1,349 +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 -{ - template - struct tuple : vector - { - typedef vector< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19> - base_type; - BOOST_FUSION_GPU_ENABLED tuple() - : base_type() {} - BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(std::pair const& rhs) - : base_type(rhs) {} - BOOST_FUSION_GPU_ENABLED - explicit - tuple(typename detail::call_param::type _0) - : base_type(_0) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1) - : base_type(_0 , _1) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2) - : base_type(_0 , _1 , _2) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3) - : base_type(_0 , _1 , _2 , _3) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4) - : base_type(_0 , _1 , _2 , _3 , _4) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5) - : base_type(_0 , _1 , _2 , _3 , _4 , _5) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(T const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(std::pair const& rhs) - { - base_type::operator=(rhs); - return *this; - } - }; - template - struct tuple_size : result_of::size {}; - template - struct tuple_element : result_of::value_at_c {}; - template - BOOST_FUSION_GPU_ENABLED - inline typename - lazy_disable_if< - is_const - , result_of::at_c - >::type - get(Tuple& tup) - { - return at_c(tup); - } - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::at_c::type - get(Tuple const& tup) - { - return at_c(tup); - } -}} diff --git a/bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple30.hpp b/bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple30.hpp deleted file mode 100644 index 33a3bee699..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple30.hpp +++ /dev/null @@ -1,489 +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 -{ - template - struct tuple : vector - { - 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> - base_type; - BOOST_FUSION_GPU_ENABLED tuple() - : base_type() {} - BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(std::pair const& rhs) - : base_type(rhs) {} - BOOST_FUSION_GPU_ENABLED - explicit - tuple(typename detail::call_param::type _0) - : base_type(_0) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1) - : base_type(_0 , _1) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2) - : base_type(_0 , _1 , _2) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3) - : base_type(_0 , _1 , _2 , _3) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4) - : base_type(_0 , _1 , _2 , _3 , _4) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5) - : base_type(_0 , _1 , _2 , _3 , _4 , _5) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(T const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(std::pair const& rhs) - { - base_type::operator=(rhs); - return *this; - } - }; - template - struct tuple_size : result_of::size {}; - template - struct tuple_element : result_of::value_at_c {}; - template - BOOST_FUSION_GPU_ENABLED - inline typename - lazy_disable_if< - is_const - , result_of::at_c - >::type - get(Tuple& tup) - { - return at_c(tup); - } - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::at_c::type - get(Tuple const& tup) - { - return at_c(tup); - } -}} diff --git a/bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple40.hpp b/bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple40.hpp deleted file mode 100644 index 4292d3a66c..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple40.hpp +++ /dev/null @@ -1,629 +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 -{ - template - struct tuple : vector - { - 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> - base_type; - BOOST_FUSION_GPU_ENABLED tuple() - : base_type() {} - BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(std::pair const& rhs) - : base_type(rhs) {} - BOOST_FUSION_GPU_ENABLED - explicit - tuple(typename detail::call_param::type _0) - : base_type(_0) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1) - : base_type(_0 , _1) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2) - : base_type(_0 , _1 , _2) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3) - : base_type(_0 , _1 , _2 , _3) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4) - : base_type(_0 , _1 , _2 , _3 , _4) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5) - : base_type(_0 , _1 , _2 , _3 , _4 , _5) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(T const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(std::pair const& rhs) - { - base_type::operator=(rhs); - return *this; - } - }; - template - struct tuple_size : result_of::size {}; - template - struct tuple_element : result_of::value_at_c {}; - template - BOOST_FUSION_GPU_ENABLED - inline typename - lazy_disable_if< - is_const - , result_of::at_c - >::type - get(Tuple& tup) - { - return at_c(tup); - } - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::at_c::type - get(Tuple const& tup) - { - return at_c(tup); - } -}} diff --git a/bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple50.hpp b/bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple50.hpp deleted file mode 100644 index c58682754f..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple50.hpp +++ /dev/null @@ -1,769 +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 -{ - template - struct tuple : vector - { - 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> - base_type; - BOOST_FUSION_GPU_ENABLED tuple() - : base_type() {} - BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(std::pair const& rhs) - : base_type(rhs) {} - BOOST_FUSION_GPU_ENABLED - explicit - tuple(typename detail::call_param::type _0) - : base_type(_0) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1) - : base_type(_0 , _1) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2) - : base_type(_0 , _1 , _2) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3) - : base_type(_0 , _1 , _2 , _3) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4) - : base_type(_0 , _1 , _2 , _3 , _4) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5) - : base_type(_0 , _1 , _2 , _3 , _4 , _5) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45 , typename detail::call_param::type _46) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45 , typename detail::call_param::type _46 , typename detail::call_param::type _47) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45 , typename detail::call_param::type _46 , typename detail::call_param::type _47 , typename detail::call_param::type _48) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45 , typename detail::call_param::type _46 , typename detail::call_param::type _47 , typename detail::call_param::type _48 , typename detail::call_param::type _49) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48 , _49) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(T const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(std::pair const& rhs) - { - base_type::operator=(rhs); - return *this; - } - }; - template - struct tuple_size : result_of::size {}; - template - struct tuple_element : result_of::value_at_c {}; - template - BOOST_FUSION_GPU_ENABLED - inline typename - lazy_disable_if< - is_const - , result_of::at_c - >::type - get(Tuple& tup) - { - return at_c(tup); - } - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::at_c::type - get(Tuple const& tup) - { - return at_c(tup); - } -}} diff --git a/bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple_tie10.hpp b/bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple_tie10.hpp deleted file mode 100644 index e5d27a7e66..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple_tie10.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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0) - { - return tuple( - _0); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1) - { - return tuple( - _0 , _1); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2) - { - return tuple( - _0 , _1 , _2); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) - { - return tuple( - _0 , _1 , _2 , _3); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) - { - return tuple( - _0 , _1 , _2 , _3 , _4); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); - } -}} diff --git a/bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple_tie20.hpp b/bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple_tie20.hpp deleted file mode 100644 index 5e668a3120..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple_tie20.hpp +++ /dev/null @@ -1,171 +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 -{ - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0) - { - return tuple( - _0); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1) - { - return tuple( - _0 , _1); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2) - { - return tuple( - _0 , _1 , _2); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) - { - return tuple( - _0 , _1 , _2 , _3); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) - { - return tuple( - _0 , _1 , _2 , _3 , _4); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); - } -}} diff --git a/bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple_tie30.hpp b/bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple_tie30.hpp deleted file mode 100644 index 23e602312d..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple_tie30.hpp +++ /dev/null @@ -1,251 +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 -{ - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0) - { - return tuple( - _0); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1) - { - return tuple( - _0 , _1); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2) - { - return tuple( - _0 , _1 , _2); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) - { - return tuple( - _0 , _1 , _2 , _3); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) - { - return tuple( - _0 , _1 , _2 , _3 , _4); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); - } -}} diff --git a/bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple_tie40.hpp b/bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple_tie40.hpp deleted file mode 100644 index 2d020ec0cf..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple_tie40.hpp +++ /dev/null @@ -1,331 +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 -{ - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0) - { - return tuple( - _0); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1) - { - return tuple( - _0 , _1); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2) - { - return tuple( - _0 , _1 , _2); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) - { - return tuple( - _0 , _1 , _2 , _3); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) - { - return tuple( - _0 , _1 , _2 , _3 , _4); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39); - } -}} diff --git a/bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple_tie50.hpp b/bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple_tie50.hpp deleted file mode 100644 index e30de17c6c..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/tuple/detail/preprocessed/tuple_tie50.hpp +++ /dev/null @@ -1,411 +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 -{ - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0) - { - return tuple( - _0); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1) - { - return tuple( - _0 , _1); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2) - { - return tuple( - _0 , _1 , _2); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) - { - return tuple( - _0 , _1 , _2 , _3); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) - { - return tuple( - _0 , _1 , _2 , _3 , _4); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45 , T46 & _46) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45 , T46 & _46 , T47 & _47) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45 , T46 & _46 , T47 & _47 , T48 & _48) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45 , T46 & _46 , T47 & _47 , T48 & _48 , T49 & _49) - { - return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48 , _49); - } -}} diff --git a/bundled/boost-1.56.0/include/boost/fusion/tuple/make_tuple.hpp b/bundled/boost-1.56.0/include/boost/fusion/tuple/make_tuple.hpp deleted file mode 100644 index 9c3bb45ed9..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/tuple/make_tuple.hpp +++ /dev/null @@ -1,86 +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_TUPLE_10032005_0843) -#define FUSION_MAKE_TUPLE_10032005_0843 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - BOOST_FUSION_GPU_ENABLED inline tuple<> - make_tuple() - { - return tuple<>(); - } -}} - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/make_tuple" FUSION_MAX_VECTOR_SIZE_STR ".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ -#define BOOST_FUSION_AS_FUSION_ELEMENT(z, n, data) \ - typename detail::as_fusion_element::type - -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) -#include BOOST_PP_ITERATE() - -#undef BOOST_FUSION_AS_FUSION_ELEMENT - -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// - -#define N BOOST_PP_ITERATION() - - template - BOOST_FUSION_GPU_ENABLED - inline tuple - make_tuple(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& _)) - { - return tuple( - BOOST_PP_ENUM_PARAMS(N, _)); - } - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) - diff --git a/bundled/boost-1.56.0/include/boost/fusion/tuple/tuple.hpp b/bundled/boost-1.56.0/include/boost/fusion/tuple/tuple.hpp deleted file mode 100644 index 953f2b6664..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/tuple/tuple.hpp +++ /dev/null @@ -1,122 +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_TUPLE_10032005_0810) -#define FUSION_TUPLE_10032005_0810 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/tuple" FUSION_MAX_VECTOR_SIZE_STR ".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - template - struct tuple : vector - { - typedef vector< - BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, T)> - base_type; - - BOOST_FUSION_GPU_ENABLED tuple() - : base_type() {} - - BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) - : base_type(rhs) {} - - template - BOOST_FUSION_GPU_ENABLED - tuple(std::pair const& rhs) - : base_type(rhs) {} - - #include - - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(T const& rhs) - { - base_type::operator=(rhs); - return *this; - } - - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(std::pair const& rhs) - { - base_type::operator=(rhs); - return *this; - } - }; - - template - struct tuple_size : result_of::size {}; - - template - struct tuple_element : result_of::value_at_c {}; - - template - BOOST_FUSION_GPU_ENABLED - inline typename - lazy_disable_if< - is_const - , result_of::at_c - >::type - get(Tuple& tup) - { - return at_c(tup); - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::at_c::type - get(Tuple const& tup) - { - return at_c(tup); - } -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/tuple/tuple_fwd.hpp b/bundled/boost-1.56.0/include/boost/fusion/tuple/tuple_fwd.hpp deleted file mode 100644 index 68969183d1..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/tuple/tuple_fwd.hpp +++ /dev/null @@ -1,52 +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_TUPLE_FORWARD_10032005_0956) -#define FUSION_TUPLE_FORWARD_10032005_0956 - -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/tuple" FUSION_MAX_VECTOR_SIZE_STR "_fwd.hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct void_; - - template < - BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( - FUSION_MAX_VECTOR_SIZE, typename T, void_) - > - struct tuple; -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/tuple/tuple_tie.hpp b/bundled/boost-1.56.0/include/boost/fusion/tuple/tuple_tie.hpp deleted file mode 100644 index eeb0c15888..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/tuple/tuple_tie.hpp +++ /dev/null @@ -1,76 +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_TUPLE_TIE_10032005_0846) -#define FUSION_TUPLE_TIE_10032005_0846 - -#include -#include -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/tuple_tie" FUSION_MAX_VECTOR_SIZE_STR ".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ -#define BOOST_FUSION_REF(z, n, data) BOOST_PP_CAT(T, n)& - -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) -#include BOOST_PP_ITERATE() - -#undef BOOST_FUSION_REF - -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// - -#define N BOOST_PP_ITERATION() - - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(BOOST_PP_ENUM_BINARY_PARAMS(N, T, & _)) - { - return tuple( - BOOST_PP_ENUM_PARAMS(N, _)); - } - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) - diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/filter_view/detail/begin_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/filter_view/detail/begin_impl.hpp deleted file mode 100644 index 89f67d02ad..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/filter_view/detail/begin_impl.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) -==============================================================================*/ -#if !defined(FUSION_BEGIN_IMPL_05062005_0903) -#define FUSION_BEGIN_IMPL_05062005_0903 - -namespace boost { namespace fusion -{ - struct filter_view_tag; - - template - struct filter_iterator; - - namespace extension - { - template - struct begin_impl; - - template <> - struct begin_impl - { - template - struct apply - { - typedef typename Sequence::first_type first_type; - typedef typename Sequence::last_type last_type; - typedef typename Sequence::pred_type pred_type; - typedef typename Sequence::category category; - typedef filter_iterator type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& s) - { - return type(s.first()); - } - }; - }; - } -}} - -#endif - - diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/filter_view/detail/deref_data_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/filter_view/detail/deref_data_impl.hpp deleted file mode 100644 index ba8631f501..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/filter_view/detail/deref_data_impl.hpp +++ /dev/null @@ -1,39 +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_VIEW_FILTER_VIEW_DETAIL_DEREF_DATA_IMPL_HPP -#define BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_DEREF_DATA_IMPL_HPP - -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct deref_data_impl; - - template <> - struct deref_data_impl - { - template - struct apply - { - typedef typename - result_of::deref_data::type - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(It const& it) - { - return fusion::deref_data(it.first); - } - }; - }; -}}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/filter_view/detail/end_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/filter_view/detail/end_impl.hpp deleted file mode 100644 index fee9f6d459..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/filter_view/detail/end_impl.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(FUSION_END_IMPL_05062005_0906) -#define FUSION_END_IMPL_05062005_0906 - -namespace boost { namespace fusion -{ - struct filter_view_tag; - - template - struct filter_iterator; - - namespace extension - { - template - struct end_impl; - - template <> - struct end_impl - { - template - struct apply - { - typedef typename Sequence::last_type last_type; - typedef typename Sequence::pred_type pred_type; - typedef typename Sequence::category category; - typedef filter_iterator type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& s) - { - return type(s.last()); - } - }; - }; - } -}} - -#endif - - diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/filter_view/detail/next_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/filter_view/detail/next_impl.hpp deleted file mode 100644 index 0091e897ea..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/filter_view/detail/next_impl.hpp +++ /dev/null @@ -1,79 +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_NEXT_IMPL_06052005_0900) -#define FUSION_NEXT_IMPL_06052005_0900 - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct filter_view_iterator_tag; - - template - struct filter_iterator; - - namespace extension - { - template - struct next_impl; - - template <> - struct next_impl - { - template - struct apply - { - typedef typename Iterator::first_type first_type; - typedef typename Iterator::last_type last_type; - typedef typename Iterator::pred_type pred_type; - typedef typename Iterator::category category; - - typedef typename - mpl::eval_if< - result_of::equal_to - , mpl::identity - , result_of::next - >::type - next_type; - - typedef typename - detail::static_find_if< - next_type - , last_type - , mpl::bind1< - typename mpl::lambda::type - , mpl::bind1,mpl::_1> - > - > - filter; - - typedef filter_iterator< - category, typename filter::type, last_type, pred_type> - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(filter::iter_call(i.first)); - } - }; - }; - } -}} - -#endif - - diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/flatten_view.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/flatten_view.hpp deleted file mode 100644 index dcef08dec7..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/flatten_view.hpp +++ /dev/null @@ -1,15 +0,0 @@ -/*////////////////////////////////////////////////////////////////////////////// - Copyright (c) 2013 Jamboree - - Distributed under the Boost Software 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_SEQUENCE_FLATTEN_VIEW_HPP_INCLUDED -#define BOOST_FUSION_SEQUENCE_FLATTEN_VIEW_HPP_INCLUDED - - -#include -#include - - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/flatten_view/flatten_view.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/flatten_view/flatten_view.hpp deleted file mode 100644 index aa47240771..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/flatten_view/flatten_view.hpp +++ /dev/null @@ -1,127 +0,0 @@ -/*////////////////////////////////////////////////////////////////////////////// - Copyright (c) 2013 Jamboree - - Distributed under the Boost Software 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_FLATTEN_VIEW_HPP_INCLUDED -#define BOOST_FUSION_FLATTEN_VIEW_HPP_INCLUDED - - -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -namespace boost { namespace fusion -{ - struct forward_traversal_tag; - struct flatten_view_tag; - - template - struct flatten_view - : sequence_base > - { - typedef flatten_view_tag fusion_tag; - typedef fusion_sequence_tag tag; // this gets picked up by MPL - typedef mpl::true_ is_view; - typedef forward_traversal_tag category; - - typedef Sequence sequence_type; - typedef typename result_of::begin::type first_type; - typedef typename result_of::end::type last_type; - - explicit flatten_view(Sequence& seq) - : seq(seq) - {} - - first_type first() const { return fusion::begin(seq); } - last_type last() const { return fusion::end(seq); } - - typename mpl::if_, Sequence, Sequence&>::type seq; - }; -}} - -namespace boost { namespace fusion { namespace extension -{ - template<> - struct begin_impl - { - template - struct apply - { - typedef typename Sequence::first_type first_type; - - typedef typename - result_of::begin< - mpl::single_view< - typename Sequence::sequence_type> >::type - root_iterator; - - typedef - detail::seek_descent - seek_descent; - - typedef typename seek_descent::type type; - - static inline - type call(Sequence& seq) - { - return seek_descent::apply(root_iterator(), seq.first()); - } - }; - }; - - template<> - struct end_impl - { - template - struct apply - { - typedef typename Sequence::last_type last_type; - - typedef typename - result_of::end< - mpl::single_view< - typename Sequence::sequence_type> >::type - type; - - static inline - type call(Sequence&) - { - return type(); - } - }; - }; - - template<> - struct size_impl - { - template - struct apply - : result_of::distance - < - typename result_of::begin::type - , typename result_of::end::type - > - {}; - }; - - template<> - struct empty_impl - { - template - struct apply - : result_of::empty - {}; - }; -}}} - - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/iterator_range/detail/at_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/iterator_range/detail/at_impl.hpp deleted file mode 100644 index 0626ae2ec5..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/iterator_range/detail/at_impl.hpp +++ /dev/null @@ -1,46 +0,0 @@ -/*============================================================================= - Copyright (c) 2007 Tobias Schwinger - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_ITERATOR_RANGE_AT_IMPL_HPP_INCLUDED) -#define BOOST_FUSION_ITERATOR_RANGE_AT_IMPL_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct iterator_range_tag; - - namespace extension - { - template - struct at_impl; - - template <> - struct at_impl - { - template - struct apply - { - typedef typename Seq::begin_type begin_type; - typedef typename result_of::advance::type pos; - typedef typename result_of::deref::type type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Seq& s) - { - return * fusion::advance(s.first); - } - }; - }; - } -}} - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/iterator_range/detail/begin_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/iterator_range/detail/begin_impl.hpp deleted file mode 100644 index e34b6ede30..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/iterator_range/detail/begin_impl.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) -==============================================================================*/ -#if !defined(FUSION_BEGIN_IMPL_05062005_1226) -#define FUSION_BEGIN_IMPL_05062005_1226 - -namespace boost { namespace fusion -{ - struct iterator_range_tag; - - namespace extension - { - template - struct begin_impl; - - template <> - struct begin_impl - { - template - struct apply - { - typedef typename Sequence::begin_type type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& s) - { - return s.first; - } - }; - }; - } -}} - -#endif - - diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/iterator_range/detail/end_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/iterator_range/detail/end_impl.hpp deleted file mode 100644 index 2428198cb8..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/iterator_range/detail/end_impl.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) -==============================================================================*/ -#if !defined(FUSION_END_IMPL_05062005_1226) -#define FUSION_END_IMPL_05062005_1226 - -namespace boost { namespace fusion -{ - struct iterator_range_tag; - - namespace extension - { - template - struct end_impl; - - template <> - struct end_impl - { - template - struct apply - { - typedef typename Sequence::end_type type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& s) - { - return s.last; - } - }; - }; - } -}} - -#endif - - diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/joint_view/detail/begin_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/joint_view/detail/begin_impl.hpp deleted file mode 100644 index f58d129042..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/joint_view/detail/begin_impl.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) -==============================================================================*/ -#if !defined(FUSION_BEGIN_IMPL_07162005_0115) -#define FUSION_BEGIN_IMPL_07162005_0115 - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct joint_view_tag; - - template - struct joint_view_iterator; - - namespace extension - { - template - struct begin_impl; - - template <> - struct begin_impl - { - template - struct apply - { - typedef typename Sequence::first_type first_type; - typedef typename Sequence::last_type last_type; - typedef typename Sequence::concat_type concat_type; - typedef typename Sequence::category category; - typedef result_of::equal_to equal_to; - - typedef typename - mpl::if_< - equal_to - , concat_type - , joint_view_iterator - >::type - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& s, mpl::true_) - { - return s.concat(); - } - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& s, mpl::false_) - { - return type(s.first(), s.concat()); - } - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& s) - { - return call(s, equal_to()); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/joint_view/detail/deref_data_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/joint_view/detail/deref_data_impl.hpp deleted file mode 100644 index 02780d99d9..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/joint_view/detail/deref_data_impl.hpp +++ /dev/null @@ -1,39 +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_VIEW_JOINT_VIEW_DETAIL_DEREF_DATA_IMPL_HPP -#define BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_DEREF_DATA_IMPL_HPP - -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct deref_data_impl; - - template <> - struct deref_data_impl - { - template - struct apply - { - typedef typename - result_of::deref_data::type - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(It const& it) - { - return fusion::deref_data(it.first); - } - }; - }; -}}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/joint_view/detail/end_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/joint_view/detail/end_impl.hpp deleted file mode 100644 index b9e0113815..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/joint_view/detail/end_impl.hpp +++ /dev/null @@ -1,42 +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_END_IMPL_07162005_0128) -#define FUSION_END_IMPL_07162005_0128 - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct joint_view_tag; - - namespace extension - { - template - struct end_impl; - - template <> - struct end_impl - { - template - struct apply - { - typedef typename Sequence::concat_last_type type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& s) - { - return s.concat_last(); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/joint_view/detail/next_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/joint_view/detail/next_impl.hpp deleted file mode 100644 index a3c066d1f3..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/joint_view/detail/next_impl.hpp +++ /dev/null @@ -1,75 +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_NEXT_IMPL_07162005_0136) -#define FUSION_NEXT_IMPL_07162005_0136 - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct joint_view_iterator_tag; - - template - struct joint_view_iterator; - - namespace extension - { - template - struct next_impl; - - template <> - struct next_impl - { - template - struct apply - { - typedef typename Iterator::first_type first_type; - typedef typename Iterator::last_type last_type; - typedef typename Iterator::concat_type concat_type; - typedef typename Iterator::category category; - typedef typename result_of::next::type next_type; - typedef result_of::equal_to equal_to; - - typedef typename - mpl::if_< - equal_to - , concat_type - , joint_view_iterator - >::type - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i, mpl::true_) - { - return i.concat; - } - - BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i, mpl::false_) - { - return type(fusion::next(i.first), i.concat); - } - - BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return call(i, equal_to()); - } - }; - }; - } -}} - -#endif - - diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/nview/detail/advance_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/nview/detail/advance_impl.hpp deleted file mode 100644 index ad82983eac..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/nview/detail/advance_impl.hpp +++ /dev/null @@ -1,51 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Hartmut Kaiser - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_NVIEW_ADVANCE_IMPL_SEP_24_2009_0212PM) -#define BOOST_FUSION_NVIEW_ADVANCE_IMPL_SEP_24_2009_0212PM - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct nview_iterator_tag; - - template - struct nview_iterator; - - namespace extension - { - template - struct advance_impl; - - template<> - struct advance_impl - { - template - struct apply - { - typedef typename Iterator::first_type::iterator_type iterator_type; - typedef typename Iterator::sequence_type sequence_type; - - typedef nview_iterator::type> type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(i.seq); - } - }; - }; - } - -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/nview/detail/at_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/nview/detail/at_impl.hpp deleted file mode 100644 index 45f9faf6f6..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/nview/detail/at_impl.hpp +++ /dev/null @@ -1,47 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Hartmut Kaiser - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_NVIEW_AT_IMPL_SEP_24_2009_0225PM) -#define BOOST_FUSION_NVIEW_AT_IMPL_SEP_24_2009_0225PM - -#include -#include - -namespace boost { namespace fusion -{ - struct nview_tag; - - namespace extension - { - template - struct at_impl; - - template<> - struct at_impl - { - template - struct apply - { - typedef typename Sequence::sequence_type sequence_type; - typedef typename Sequence::index_type index_type; - - typedef typename result_of::at::type index; - typedef typename result_of::at::type type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& seq) - { - return fusion::at(seq.seq); - } - }; - }; - } - -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/nview/detail/begin_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/nview/detail/begin_impl.hpp deleted file mode 100644 index ca600b9a16..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/nview/detail/begin_impl.hpp +++ /dev/null @@ -1,50 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Hartmut Kaiser - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_NVIEW_BEGIN_IMPL_SEP_23_2009_1036PM) -#define BOOST_FUSION_NVIEW_BEGIN_IMPL_SEP_23_2009_1036PM - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct nview_tag; - - template - struct nview_iterator; - - namespace extension - { - template - struct begin_impl; - - template<> - struct begin_impl - { - template - struct apply - { - typedef typename Sequence::index_type index_type; - - typedef nview_iterator::type> type; - - BOOST_FUSION_GPU_ENABLED - static type call(Sequence& s) - { - return type(s); - } - }; - }; - } - -}} - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/nview/detail/deref_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/nview/detail/deref_impl.hpp deleted file mode 100644 index bbdb982528..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/nview/detail/deref_impl.hpp +++ /dev/null @@ -1,50 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Hartmut Kaiser - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_NVIEW_DEREF_IMPL_SEP_24_2009_0818AM) -#define BOOST_FUSION_NVIEW_DEREF_IMPL_SEP_24_2009_0818AM - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct nview_iterator_tag; - - namespace extension - { - template - struct deref_impl; - - template<> - struct deref_impl - { - template - struct apply - { - typedef typename Iterator::first_type first_type; - typedef typename Iterator::sequence_type sequence_type; - - typedef typename result_of::deref::type index; - typedef typename result_of::at< - typename sequence_type::sequence_type, index>::type type; - - BOOST_FUSION_GPU_ENABLED - static type call(Iterator const& i) - { - return at(i.seq.seq); - } - }; - }; - - } - -}} - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/nview/detail/distance_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/nview/detail/distance_impl.hpp deleted file mode 100644 index e3e5a9a086..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/nview/detail/distance_impl.hpp +++ /dev/null @@ -1,46 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Hartmut Kaiser - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_NVIEW_DISTANCE_IMPL_SEP_23_2009_0328PM) -#define BOOST_FUSION_NVIEW_DISTANCE_IMPL_SEP_23_2009_0328PM - -#include -#include - -namespace boost { namespace fusion -{ - struct nview_iterator_tag; - - namespace extension - { - template - struct distance_impl; - - template<> - struct distance_impl - { - template - struct apply - : result_of::distance - { - typedef typename result_of::distance< - typename First::first_type, typename Last::first_type - >::type type; - - BOOST_FUSION_GPU_ENABLED - static type - call(First const& /*first*/, Last const& /*last*/) - { - return type(); - } - }; - }; - } - -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/nview/detail/end_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/nview/detail/end_impl.hpp deleted file mode 100644 index d36260dbb7..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/nview/detail/end_impl.hpp +++ /dev/null @@ -1,52 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Hartmut Kaiser - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_NVIEW_END_IMPL_SEP_24_2009_0140PM) -#define BOOST_FUSION_NVIEW_END_IMPL_SEP_24_2009_0140PM - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct nview_tag; - - template - struct nview_iterator; - - namespace extension - { - template - struct end_impl; - - // Unary Version - template <> - struct end_impl - { - template - struct apply - { - typedef typename Sequence::index_type index_type; - - typedef nview_iterator::type> type; - - BOOST_FUSION_GPU_ENABLED - static type call(Sequence& s) - { - return type(s); - } - }; - }; - } - -}} - -#endif - - diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/nview/detail/next_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/nview/detail/next_impl.hpp deleted file mode 100644 index 5193bfe655..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/nview/detail/next_impl.hpp +++ /dev/null @@ -1,50 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Hartmut Kaiser - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_NVIEW_NEXT_IMPL_SEP_24_2009_0116PM) -#define BOOST_FUSION_NVIEW_NEXT_IMPL_SEP_24_2009_0116PM - -#include -#include - -namespace boost { namespace fusion -{ - struct nview_iterator_tag; - - template - struct nview_iterator; - - namespace extension - { - template - struct next_impl; - - template <> - struct next_impl - { - template - struct apply - { - typedef typename Iterator::first_type::iterator_type first_type; - typedef typename Iterator::sequence_type sequence_type; - - typedef nview_iterator::type> type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(i.seq); - } - }; - }; - } - -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/nview/detail/nview_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/nview/detail/nview_impl.hpp deleted file mode 100644 index 6c7a3e21d1..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/nview/detail/nview_impl.hpp +++ /dev/null @@ -1,78 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Hartmut Kaiser - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_PP_IS_ITERATING - -#if !defined(BOOST_FUSION_NVIEW_IMPL_SEP_23_2009_1017PM) -#define BOOST_FUSION_NVIEW_IMPL_SEP_23_2009_1017PM - -#include -#include -#include -#include -#include -#include -#include - -#define BOOST_PP_ITERATION_PARAMS_1 \ - (3, (1, FUSION_MAX_VECTOR_SIZE, \ - "boost/fusion/view/nview/detail/nview_impl.hpp")) \ - /**/ - -/////////////////////////////////////////////////////////////////////////////// -namespace boost { namespace fusion { namespace result_of -{ - template - struct as_nview - { - typedef mpl::vector_c< - int, BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, I) - > index_type; - typedef nview type; - }; -}}} - -#include BOOST_PP_ITERATE() - -#endif - -/////////////////////////////////////////////////////////////////////////////// -// Preprocessor vertical repetition code -/////////////////////////////////////////////////////////////////////////////// -#else // defined(BOOST_PP_IS_ITERATING) - -#define N BOOST_PP_ITERATION() - -#if N < FUSION_MAX_VECTOR_SIZE -namespace boost { namespace fusion { namespace result_of -{ - template - struct as_nview - { - typedef mpl::vector_c index_type; - typedef nview type; - }; -}}} -#endif - -namespace boost { namespace fusion -{ - template - BOOST_FUSION_GPU_ENABLED - inline nview > - as_nview(Sequence& s) - { - typedef mpl::vector_c index_type; - return nview(s); - } - -}} - -#undef N - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/nview/detail/prior_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/nview/detail/prior_impl.hpp deleted file mode 100644 index 374b45f669..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/nview/detail/prior_impl.hpp +++ /dev/null @@ -1,50 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Hartmut Kaiser - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_NVIEW_PRIOR_IMPL_SEP_24_2009_0142PM) -#define BOOST_FUSION_NVIEW_PRIOR_IMPL_SEP_24_2009_0142PM - -#include -#include - -namespace boost { namespace fusion -{ - struct nview_iterator_tag; - - template - struct nview_iterator; - - namespace extension - { - template - struct prior_impl; - - template <> - struct prior_impl - { - template - struct apply - { - typedef typename Iterator::first_type::iterator_type first_type; - typedef typename Iterator::sequence_type sequence_type; - - typedef nview_iterator::type> type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(i.seq); - } - }; - }; - } - -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/repetitive_view/detail/begin_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/repetitive_view/detail/begin_impl.hpp deleted file mode 100644 index 3da6b21dbf..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/repetitive_view/detail/begin_impl.hpp +++ /dev/null @@ -1,51 +0,0 @@ -/*============================================================================= - Copyright (c) 2007 Tobias Schwinger - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_REPETITIVE_VIEW_BEGIN_IMPL_HPP_INCLUDED) -#define BOOST_FUSION_REPETITIVE_VIEW_BEGIN_IMPL_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct repetitive_view_tag; - - template - struct repetitive_view_iterator; - - namespace extension - { - template - struct begin_impl; - - template<> - struct begin_impl - { - template - struct apply - { - typedef typename View::sequence_type sequence_type; - - typedef repetitive_view_iterator::type > type; - - BOOST_FUSION_GPU_ENABLED - static type call(View const& v) - { - return type(v.seq); - } - }; - }; - - } - -}} - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/repetitive_view/detail/deref_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/repetitive_view/detail/deref_impl.hpp deleted file mode 100644 index c54ff38ef8..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/repetitive_view/detail/deref_impl.hpp +++ /dev/null @@ -1,46 +0,0 @@ -/*============================================================================= - Copyright (c) 2007 Tobias Schwinger - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_REPETITIVE_VIEW_DEREF_IMPL_HPP_INCLUDED) -#define BOOST_FUSION_REPETITIVE_VIEW_DEREF_IMPL_HPP_INCLUDED - -#include -#include - -namespace boost { namespace fusion -{ - struct repetitive_view_iterator_tag; - - namespace extension - { - template - struct deref_impl; - - template<> - struct deref_impl - { - template - struct apply - { - typedef typename - result_of::deref::type - type; - - BOOST_FUSION_GPU_ENABLED - static type call(Iterator const& i) - { - return *i.pos; - } - }; - }; - - } - -}} - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/repetitive_view/detail/end_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/repetitive_view/detail/end_impl.hpp deleted file mode 100644 index ca1c270f95..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/repetitive_view/detail/end_impl.hpp +++ /dev/null @@ -1,51 +0,0 @@ -/*============================================================================= - Copyright (c) 2007 Tobias Schwinger - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_REPETITIVE_VIEW_END_IMPL_HPP_INCLUDED) -#define BOOST_FUSION_REPETITIVE_VIEW_END_IMPL_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct repetitive_view_tag; - - template - struct repetitive_view_iterator; - - namespace extension - { - template - struct end_impl; - - template<> - struct end_impl - { - template - struct apply - { - typedef typename View::sequence_type sequence_type; - - typedef repetitive_view_iterator::type > type; - - BOOST_FUSION_GPU_ENABLED - static type call(View const& v) - { - return type(v.seq,end(v.seq)); - } - }; - }; - - } - -}} - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/repetitive_view/detail/next_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/repetitive_view/detail/next_impl.hpp deleted file mode 100644 index acefd513c0..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/repetitive_view/detail/next_impl.hpp +++ /dev/null @@ -1,94 +0,0 @@ -/*============================================================================= - Copyright (c) 2007 Tobias Schwinger - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_REPETITIVE_VIEW_NEXT_IMPL_HPP_INCLUDED) -#define BOOST_FUSION_REPETITIVE_VIEW_NEXT_IMPL_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct repetitive_view_iterator_tag; - - template - struct repetitive_view_iterator; - - namespace extension - { - template - struct next_impl; - - template <> - struct next_impl - { - template::type>::value > - struct apply_nonempty // - { - // advanvce to next position - - typedef repetitive_view_iterator< - typename Iterator::sequence_type, - typename result_of::next::type - > - type; - - BOOST_FUSION_GPU_ENABLED - static type call(Iterator const& i) - { - return type(i.seq, next(i.pos)); - } - }; - template - struct apply_nonempty - { - // reset to beginning - - typedef repetitive_view_iterator< - typename Iterator::sequence_type, - typename Iterator::first_type - > - type; - - BOOST_FUSION_GPU_ENABLED - static type call(Iterator const& i) - { - return type(i.seq); - } - }; - - template ::value > - struct apply // - : apply_nonempty - { }; - - template - struct apply - { - // eps^n = eps - - typedef Iterator type; - - BOOST_FUSION_GPU_ENABLED - static type call(Iterator const& i) - { - return type(i); - } - }; - }; - } -}} - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/reverse_view/detail/advance_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/reverse_view/detail/advance_impl.hpp deleted file mode 100644 index 1304d0a9c2..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/reverse_view/detail/advance_impl.hpp +++ /dev/null @@ -1,49 +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_ADVANCE_IMPL_14122005_2015) -#define FUSION_ADVANCE_IMPL_14122005_2015 - -#include -#include -#include - -namespace boost { namespace fusion { - - struct reverse_view_iterator_tag; - - template - struct reverse_view_iterator; - - namespace extension - { - template - struct advance_impl; - - template<> - struct advance_impl - { - template - struct apply - { - typedef typename Iterator::first_type first_type; - typedef typename mpl::negate::type negative_dist; - typedef typename result_of::advance::type advanced_type; - typedef reverse_view_iterator type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(boost::fusion::advance(i.first)); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/reverse_view/detail/at_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/reverse_view/detail/at_impl.hpp deleted file mode 100644 index ebad8f3524..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/reverse_view/detail/at_impl.hpp +++ /dev/null @@ -1,43 +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_VIEW_REVERSE_VIEW_DETAIL_AT_IMPL_HPP -#define BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_AT_IMPL_HPP - -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct at_impl; - - template <> - struct at_impl - { - template - struct apply - { - typedef mpl::minus, N> real_n; - - typedef typename - result_of::at::type - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Seq& seq) - { - return fusion::at(seq.seq); - } - }; - }; -}}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/reverse_view/detail/begin_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/reverse_view/detail/begin_impl.hpp deleted file mode 100644 index 2f20df57a4..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/reverse_view/detail/begin_impl.hpp +++ /dev/null @@ -1,43 +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_BEGIN_IMPL_07202005_0849) -#define FUSION_BEGIN_IMPL_07202005_0849 - -namespace boost { namespace fusion -{ - struct reverse_view_tag; - - template - struct reverse_view_iterator; - - namespace extension - { - template - struct begin_impl; - - template <> - struct begin_impl - { - template - struct apply - { - typedef reverse_view_iterator type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence const& s) - { - return type(s.last()); - } - }; - }; - } -}} - -#endif - - diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp deleted file mode 100644 index 20d381baba..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp +++ /dev/null @@ -1,39 +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_VIEW_REVERSE_VIEW_DETAIL_DEREF_DATA_IMPL_HPP -#define BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_DEREF_DATA_IMPL_HPP - -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct deref_data_impl; - - template <> - struct deref_data_impl - { - template - struct apply - { - typedef typename - result_of::deref_data::type - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(It const& it) - { - return fusion::deref_data(it.first); - } - }; - }; -}}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/reverse_view/detail/deref_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/reverse_view/detail/deref_impl.hpp deleted file mode 100644 index 530921fe3a..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/reverse_view/detail/deref_impl.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_DEREF_IMPL_07202005_0851) -#define FUSION_DEREF_IMPL_07202005_0851 - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct reverse_view_iterator_tag; - - namespace extension - { - template - struct deref_impl; - - template <> - struct deref_impl - { - template - struct apply - { - typedef typename - result_of::deref< - typename result_of::prior< - typename Iterator::first_type - >::type - >::type - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return *fusion::prior(i.first); - } - }; - }; - } -}} - -#endif - - diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/reverse_view/detail/distance_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/reverse_view/detail/distance_impl.hpp deleted file mode 100644 index 3a5fdc6114..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/reverse_view/detail/distance_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_DISTANCE_IMPL_14122005_2104) -#define FUSION_DISTANCE_IMPL_14122005_2104 - -#include -#include - -namespace boost { namespace fusion { - - struct reverse_view_iterator_tag; - - template - struct reverse_view_iterator; - - namespace extension - { - template - struct distance_impl; - - template<> - struct distance_impl - { - template - struct apply - { - typedef typename First::first_type first_type; - typedef typename Last::first_type last_type; - typedef typename result_of::distance::type type; - - BOOST_FUSION_GPU_ENABLED - static type - call(First const& first, Last const& last) - { - return boost::fusion::distance(last.first, first.first); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/reverse_view/detail/end_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/reverse_view/detail/end_impl.hpp deleted file mode 100644 index 1747d64f33..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/reverse_view/detail/end_impl.hpp +++ /dev/null @@ -1,43 +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_END_IMPL_07202005_0851) -#define FUSION_END_IMPL_07202005_0851 - -namespace boost { namespace fusion -{ - struct reverse_view_tag; - - template - struct reverse_view_iterator; - - namespace extension - { - template - struct end_impl; - - template <> - struct end_impl - { - template - struct apply - { - typedef reverse_view_iterator type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence const& s) - { - return type(s.first()); - } - }; - }; - } -}} - -#endif - - diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/reverse_view/detail/next_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/reverse_view/detail/next_impl.hpp deleted file mode 100644 index 1aaa692023..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/reverse_view/detail/next_impl.hpp +++ /dev/null @@ -1,49 +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_NEXT_IMPL_07202005_0856) -#define FUSION_NEXT_IMPL_07202005_0856 - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct reverse_view_iterator_tag; - - template - struct reverse_view_iterator; - - namespace extension - { - template <> - struct next_impl - { - template - struct apply - { - typedef typename Iterator::first_type first_type; - typedef typename prior_impl:: - template apply - wrapped; - - typedef reverse_view_iterator type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(wrapped::call(i.first)); - } - }; - }; - } -}} - -#endif - - diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/reverse_view/detail/prior_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/reverse_view/detail/prior_impl.hpp deleted file mode 100644 index 4007ad4d97..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/reverse_view/detail/prior_impl.hpp +++ /dev/null @@ -1,49 +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_PRIOR_IMPL_07202005_0857) -#define FUSION_PRIOR_IMPL_07202005_0857 - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct reverse_view_iterator_tag; - - template - struct reverse_view_iterator; - - namespace extension - { - template <> - struct prior_impl - { - template - struct apply - { - typedef typename Iterator::first_type first_type; - typedef typename next_impl:: - template apply - wrapped; - - typedef reverse_view_iterator type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(wrapped::call(i.first)); - } - }; - }; - } -}} - -#endif - - diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/single_view/detail/advance_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/single_view/detail/advance_impl.hpp deleted file mode 100644 index 9dd9e4d712..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/single_view/detail/advance_impl.hpp +++ /dev/null @@ -1,49 +0,0 @@ -/*============================================================================= - Copyright (c) 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) -==============================================================================*/ - -#if !defined(BOOST_FUSION_SINGLE_VIEW_ADVANCE_IMPL_JUL_07_2011_1348PM) -#define BOOST_FUSION_SINGLE_VIEW_ADVANCE_IMPL_JUL_07_2011_1348PM - -#include -#include - -namespace boost { namespace fusion -{ - struct single_view_iterator_tag; - - template - struct single_view_iterator; - - namespace extension - { - template - struct advance_impl; - - template<> - struct advance_impl - { - template - struct apply - { - typedef single_view_iterator< - typename Iterator::single_view_type, - typename mpl::plus::type> - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(i.view); - } - }; - }; - } - -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/single_view/detail/at_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/single_view/detail/at_impl.hpp deleted file mode 100644 index b63497c8d2..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/single_view/detail/at_impl.hpp +++ /dev/null @@ -1,46 +0,0 @@ -/*============================================================================= - Copyright (c) 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) -==============================================================================*/ - -#if !defined(BOOST_FUSION_SINGLE_VIEW_AT_IMPL_JUL_07_2011_1348PM) -#define BOOST_FUSION_SINGLE_VIEW_AT_IMPL_JUL_07_2011_1348PM - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct single_view_tag; - - namespace extension - { - template - struct at_impl; - - template<> - struct at_impl - { - template - struct apply - { - BOOST_MPL_ASSERT((mpl::equal_to >)); - typedef typename Sequence::value_type type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& seq) - { - return seq.val; - } - }; - }; - } - -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/single_view/detail/begin_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/single_view/detail/begin_impl.hpp deleted file mode 100644 index 63e4292348..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/single_view/detail/begin_impl.hpp +++ /dev/null @@ -1,47 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 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) -==============================================================================*/ -#if !defined(BOOST_FUSION_SINGLE_VIEW_BEGIN_IMPL_05052005_0305) -#define BOOST_FUSION_SINGLE_VIEW_BEGIN_IMPL_05052005_0305 - -#include -#include - -namespace boost { namespace fusion -{ - struct single_view_tag; - - template - struct single_view_iterator; - - namespace extension - { - template - struct begin_impl; - - template <> - struct begin_impl - { - template - struct apply - { - typedef single_view_iterator > type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& seq) - { - return type(seq); - } - }; - }; - } -}} - -#endif - - diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/single_view/detail/deref_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/single_view/detail/deref_impl.hpp deleted file mode 100644 index ad50a41357..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/single_view/detail/deref_impl.hpp +++ /dev/null @@ -1,47 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 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) -==============================================================================*/ -#if !defined(BOOST_FUSION_SINGLE_VIEW_DEREF_IMPL_05052005_0258) -#define BOOST_FUSION_SINGLE_VIEW_DEREF_IMPL_05052005_0258 - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct single_view_iterator_tag; - - namespace extension - { - template - struct deref_impl; - - template <> - struct deref_impl - { - template - struct apply - { - BOOST_MPL_ASSERT((mpl::equal_to >)); - typedef typename Iterator::value_type type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return i.view.val; - } - }; - }; - } -}} - -#endif - - diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/single_view/detail/distance_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/single_view/detail/distance_impl.hpp deleted file mode 100644 index 73231b4152..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/single_view/detail/distance_impl.hpp +++ /dev/null @@ -1,45 +0,0 @@ -/*============================================================================= - Copyright (c) 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) -==============================================================================*/ - -#if !defined(BOOST_FUSION_SINGLE_VIEW_DISTANCE_IMPL_JUL_07_2011_1348PM) -#define BOOST_FUSION_SINGLE_VIEW_DISTANCE_IMPL_JUL_07_2011_1348PM - -#include -#include - -namespace boost { namespace fusion -{ - struct single_view_iterator_tag; - - namespace extension - { - template - struct distance_impl; - - template<> - struct distance_impl - { - template - struct apply - : mpl::minus - { - typedef typename mpl::minus::type type; - - BOOST_FUSION_GPU_ENABLED - static type - call(First const& /*first*/, Last const& /*last*/) - { - return type(); - } - }; - }; - } - -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/single_view/detail/end_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/single_view/detail/end_impl.hpp deleted file mode 100644 index 50a7c56240..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/single_view/detail/end_impl.hpp +++ /dev/null @@ -1,47 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 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) -==============================================================================*/ -#if !defined(BOOST_FUSION_SINGLE_VIEW_END_IMPL_05052005_0332) -#define BOOST_FUSION_SINGLE_VIEW_END_IMPL_05052005_0332 - -#include -#include - -namespace boost { namespace fusion -{ - struct single_view_tag; - - template - struct single_view_iterator; - - namespace extension - { - template - struct end_impl; - - template <> - struct end_impl - { - template - struct apply - { - typedef single_view_iterator > type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& seq) - { - return type(seq); - } - }; - }; - } -}} - -#endif - - diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/single_view/detail/next_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/single_view/detail/next_impl.hpp deleted file mode 100644 index d5e0ac8037..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/single_view/detail/next_impl.hpp +++ /dev/null @@ -1,52 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 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) -==============================================================================*/ -#if !defined(BOOST_FUSION_SINGLE_VIEW_NEXT_IMPL_05052005_0331) -#define BOOST_FUSION_SINGLE_VIEW_NEXT_IMPL_05052005_0331 - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct single_view_iterator_tag; - - template - struct single_view_iterator; - - namespace extension - { - template - struct next_impl; - - template <> - struct next_impl - { - template - struct apply - { - typedef single_view_iterator< - typename Iterator::single_view_type, - typename mpl::next::type> - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - BOOST_STATIC_ASSERT((type::position::value < 2)); - return type(i.view); - } - }; - }; - } -}} - -#endif - - diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/single_view/detail/prior_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/single_view/detail/prior_impl.hpp deleted file mode 100644 index c34e481a27..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/single_view/detail/prior_impl.hpp +++ /dev/null @@ -1,48 +0,0 @@ -/*============================================================================= - Copyright (c) 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) -==============================================================================*/ -#if !defined(BOOST_FUSION_SINGLE_VIEW_PRIOR_IMPL_JUL_07_2011_1348PM) -#define BOOST_FUSION_SINGLE_VIEW_PRIOR_IMPL_JUL_07_2011_1348PM - -#include -#include - -namespace boost { namespace fusion -{ - struct single_view_iterator_tag; - - template - struct single_view_iterator; - - namespace extension - { - template - struct prior_impl; - - template <> - struct prior_impl - { - template - struct apply - { - typedef single_view_iterator< - typename Iterator::single_view_type, - typename mpl::prior::type> - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(i.view); - } - }; - }; - } - -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/transform_view/detail/advance_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/transform_view/detail/advance_impl.hpp deleted file mode 100644 index ae8a84ce63..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/transform_view/detail/advance_impl.hpp +++ /dev/null @@ -1,78 +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_ADVANCE_IMPL_13122005_1906) -#define FUSION_ADVANCE_IMPL_13122005_1906 - -#include -#include - -namespace boost { namespace fusion -{ - struct transform_view_iterator_tag; - struct transform_view_iterator2_tag; - - template - struct transform_view_iterator; - - template - struct transform_view_iterator2; - - namespace extension - { - template - struct advance_impl; - - // Unary Version - template<> - struct advance_impl - { - template - struct apply - { - typedef typename Iterator::first_type first_type; - typedef typename result_of::advance::type advanced_type; - typedef typename Iterator::transform_type transform_type; - typedef transform_view_iterator type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(boost::fusion::advance(i.first), i.f); - } - }; - }; - - // Binary Version - template<> - struct advance_impl - { - template - struct apply - { - typedef typename Iterator::first1_type first1_type; - typedef typename Iterator::first2_type first2_type; - typedef typename result_of::advance::type advanced1_type; - typedef typename result_of::advance::type advanced2_type; - typedef typename Iterator::transform_type transform_type; - typedef transform_view_iterator2 type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type( - boost::fusion::advance(i.first1) - , boost::fusion::advance(i.first2), i.f); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/transform_view/detail/at_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/transform_view/detail/at_impl.hpp deleted file mode 100644 index 5c6dd8fb0d..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/transform_view/detail/at_impl.hpp +++ /dev/null @@ -1,66 +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(BOOST_FUSION_AT_IMPL_20061029_1946) -#define BOOST_FUSION_AT_IMPL_20061029_1946 - -#include -#include -#include -#include - -namespace boost { namespace fusion { - struct transform_view_tag; - struct transform_view2_tag; - - namespace extension - { - template - struct at_impl; - - template<> - struct at_impl - { - template - struct apply - { - typedef typename Seq::transform_type F; - typedef detail::apply_transform_result transform_type; - typedef typename boost::fusion::result_of::at::type value_type; - typedef typename mpl::apply::type type; - - BOOST_FUSION_GPU_ENABLED - static type call(Seq& seq) - { - return seq.f(boost::fusion::at(seq.seq)); - } - }; - }; - - template<> - struct at_impl - { - template - struct apply - { - typedef typename Seq::transform_type F; - typedef detail::apply_transform_result transform_type; - typedef typename boost::fusion::result_of::at::type value1_type; - typedef typename boost::fusion::result_of::at::type value2_type; - typedef typename mpl::apply::type type; - - BOOST_FUSION_GPU_ENABLED - static type call(Seq& seq) - { - return seq.f(boost::fusion::at(seq.seq1), boost::fusion::at(seq.seq2)); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/transform_view/detail/begin_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/transform_view/detail/begin_impl.hpp deleted file mode 100644 index 7c40505ae2..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/transform_view/detail/begin_impl.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) -==============================================================================*/ -#if !defined(FUSION_BEGIN_IMPL_07162005_1031) -#define FUSION_BEGIN_IMPL_07162005_1031 - -#include -#include - -namespace boost { namespace fusion -{ - template - struct transform_view_iterator; - - template - struct transform_view_iterator2; - - namespace extension - { - template - struct begin_impl; - - // Unary Version - template <> - struct begin_impl - { - template - struct apply - { - typedef typename Sequence::first_type first_type; - typedef typename Sequence::transform_type transform_type; - typedef transform_view_iterator type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& s) - { - return type(s.first(), s.f); - } - }; - }; - - // Binary Version - template <> - struct begin_impl - { - template - struct apply - { - typedef typename Sequence::first1_type first1_type; - typedef typename Sequence::first2_type first2_type; - typedef typename Sequence::transform_type transform_type; - typedef transform_view_iterator2 type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& s) - { - return type(s.first1(), s.first2(), s.f); - } - }; - }; - } -}} - -#endif - - diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/transform_view/detail/deref_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/transform_view/detail/deref_impl.hpp deleted file mode 100644 index 35dacbd1d7..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/transform_view/detail/deref_impl.hpp +++ /dev/null @@ -1,79 +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_DEREF_IMPL_07162005_1026) -#define FUSION_DEREF_IMPL_07162005_1026 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct transform_view_iterator_tag; - struct transform_view_iterator2_tag; - - namespace extension - { - template - struct deref_impl; - - // Unary Version - template <> - struct deref_impl - { - template - struct apply - { - typedef typename - result_of::deref::type - value_type; - - typedef detail::apply_transform_result transform_type; - typedef typename mpl::apply::type type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return i.f(*i.first); - } - }; - }; - - // Binary Version - template <> - struct deref_impl - { - template - struct apply - { - typedef typename - result_of::deref::type - value1_type; - typedef typename - result_of::deref::type - value2_type; - - typedef detail::apply_transform_result transform_type; - typedef typename mpl::apply::type type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return i.f(*i.first1, *i.first2); - } - }; - }; - } -}} - -#endif - - diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/transform_view/detail/distance_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/transform_view/detail/distance_impl.hpp deleted file mode 100644 index ecbc8c5dd0..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/transform_view/detail/distance_impl.hpp +++ /dev/null @@ -1,62 +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_DISTANCE_IMPL_13122005_2139) -#define FUSION_DISTANCE_IMPL_13122005_2139 - -#include -#include - -namespace boost { namespace fusion { - - struct transform_view_iterator_tag; - struct transform_view_iterator2_tag; - - namespace extension - { - template - struct distance_impl; - - // Unary Version - template<> - struct distance_impl - { - template - struct apply - : result_of::distance - { - BOOST_FUSION_GPU_ENABLED - static - typename result_of::distance::type - call(First const& first, Last const& last) - { - return boost::fusion::distance(first.first, last.first); - } - }; - }; - - // Binary Version - template<> - struct distance_impl - { - template - struct apply - : result_of::distance - { - BOOST_FUSION_GPU_ENABLED - static - typename result_of::distance::type - call(First const& first, Last const& last) - { - return boost::fusion::distance(first.first1, last.first1); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/transform_view/detail/end_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/transform_view/detail/end_impl.hpp deleted file mode 100644 index 58e161b1f6..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/transform_view/detail/end_impl.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) -==============================================================================*/ -#if !defined(FUSION_END_IMPL_07162005_1028) -#define FUSION_END_IMPL_07162005_1028 - -#include -#include - -namespace boost { namespace fusion -{ - template - struct transform_view_iterator; - - template - struct transform_view_iterator2; - - namespace extension - { - template - struct end_impl; - - // Unary Version - template <> - struct end_impl - { - template - struct apply - { - typedef typename Sequence::last_type last_type; - typedef typename Sequence::transform_type transform_type; - typedef transform_view_iterator type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& s) - { - return type(s.last(), s.f); - } - }; - }; - - // Binary Version - template <> - struct end_impl - { - template - struct apply - { - typedef typename Sequence::last1_type last1_type; - typedef typename Sequence::last2_type last2_type; - typedef typename Sequence::transform_type transform_type; - typedef transform_view_iterator2 type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& s) - { - return type(s.last1(), s.last2(), s.f); - } - }; - }; - } -}} - -#endif - - diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/transform_view/detail/next_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/transform_view/detail/next_impl.hpp deleted file mode 100644 index cebba59526..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/transform_view/detail/next_impl.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) -==============================================================================*/ -#if !defined(FUSION_NEXT_IMPL_07162005_1029) -#define FUSION_NEXT_IMPL_07162005_1029 - -#include -#include - -namespace boost { namespace fusion -{ - struct transform_view_iterator_tag; - struct transform_view_iterator2_tag; - - template - struct transform_view_iterator; - - template - struct transform_view_iterator2; - - namespace extension - { - template - struct next_impl; - - // Unary Version - template <> - struct next_impl - { - template - struct apply - { - typedef typename Iterator::first_type first_type; - typedef typename result_of::next::type next_type; - typedef typename Iterator::transform_type transform_type; - typedef transform_view_iterator type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(fusion::next(i.first), i.f); - } - }; - }; - - // Binary Version - template <> - struct next_impl - { - template - struct apply - { - typedef typename Iterator::first1_type first1_type; - typedef typename Iterator::first2_type first2_type; - typedef typename result_of::next::type next1_type; - typedef typename result_of::next::type next2_type; - typedef typename Iterator::transform_type transform_type; - typedef transform_view_iterator2 type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(fusion::next(i.first1), fusion::next(i.first2), i.f); - } - }; - }; - } -}} - -#endif - - diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/transform_view/detail/prior_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/transform_view/detail/prior_impl.hpp deleted file mode 100644 index 19c802c622..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/transform_view/detail/prior_impl.hpp +++ /dev/null @@ -1,76 +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_PREV_IMPL_13122005_2110) -#define FUSION_PREV_IMPL_13122005_2110 - -#include -#include - -namespace boost { namespace fusion -{ - struct transform_view_iterator_tag; - struct transform_view_iterator2_tag; - - template - struct transform_view_iterator; - - template - struct transform_view_iterator2; - - namespace extension - { - template - struct prior_impl; - - // Unary Version - template<> - struct prior_impl - { - template - struct apply - { - typedef typename Iterator::first_type first_type; - typedef typename result_of::prior::type prior_type; - typedef typename Iterator::transform_type transform_type; - typedef transform_view_iterator type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(fusion::prior(i.first), i.f); - } - }; - }; - - // Binary Version - template<> - struct prior_impl - { - template - struct apply - { - typedef typename Iterator::first1_type first1_type; - typedef typename Iterator::first2_type first2_type; - typedef typename result_of::prior::type prior1_type; - typedef typename result_of::prior::type prior2_type; - typedef typename Iterator::transform_type transform_type; - typedef transform_view_iterator2 type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(fusion::prior(i.first1), fusion::prior(i.first2), i.f); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/zip_view/detail/advance_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/zip_view/detail/advance_impl.hpp deleted file mode 100644 index 17012ac8b6..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/zip_view/detail/advance_impl.hpp +++ /dev/null @@ -1,72 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 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_ADVANCE_IMPL_20061024_2021) -#define FUSION_ADVANCE_IMPL_20061024_2021 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { - - struct zip_view_iterator_tag; - - namespace detail - { - template - struct poly_advance - { - template - struct result; - - template - struct result(It)> - { - typedef typename remove_reference::type it; - typedef typename result_of::advance::type type; - }; - - template - BOOST_FUSION_GPU_ENABLED - typename result::type - operator()(const It& it) const - { - return fusion::advance(it); - } - }; - } - - namespace extension - { - template - struct advance_impl; - - template<> - struct advance_impl - { - template - struct apply - { - typedef zip_view_iterator< - typename result_of::transform >::type> type; - - BOOST_FUSION_GPU_ENABLED - static type - call(It const& it) - { - return type( - fusion::transform(it.iterators_, detail::poly_advance())); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/zip_view/detail/at_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/zip_view/detail/at_impl.hpp deleted file mode 100644 index f92c981725..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/zip_view/detail/at_impl.hpp +++ /dev/null @@ -1,97 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 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_AT_IMPL_20060124_1933) -#define FUSION_AT_IMPL_20060124_1933 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -namespace boost { namespace fusion -{ - struct zip_view_tag; - - namespace detail - { - template - struct poly_at - { - template - struct result; - - template - struct result(SeqRef)> - : mpl::eval_if, - mpl::identity, - result_of::at::type, N> > - { - BOOST_MPL_ASSERT((is_reference)); - }; - - template - BOOST_FUSION_GPU_ENABLED - typename result::type - operator()(Seq& seq) const - { - return fusion::at(seq); - } - - template - BOOST_FUSION_GPU_ENABLED - typename result::type - operator()(Seq const& seq) const - { - return fusion::at(seq); - } - - BOOST_FUSION_GPU_ENABLED - unused_type operator()(unused_type const&) const - { - return unused_type(); - } - }; - } - - namespace extension - { - template - struct at_impl; - - template<> - struct at_impl - { - template - struct apply - { - typedef typename result_of::as_vector< - typename result_of::transform< - typename Seq::sequences, detail::poly_at >::type>::type type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Seq& seq) - { - return type( - fusion::transform(seq.sequences_, detail::poly_at())); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/zip_view/detail/begin_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/zip_view/detail/begin_impl.hpp deleted file mode 100644 index 32be2c7d33..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/zip_view/detail/begin_impl.hpp +++ /dev/null @@ -1,97 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 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_BEGIN_IMPL_20060123_2147) -#define FUSION_BEGIN_IMPL_20060123_2147 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { - - struct zip_view_tag; - - namespace detail - { - struct poly_begin - { - template - struct result; - - template - struct result - : mpl::eval_if, - mpl::identity, - result_of::begin::type> > - { - BOOST_MPL_ASSERT((is_reference)); - }; - - template - BOOST_FUSION_GPU_ENABLED - typename result::type - operator()(Seq& seq) const - { - return fusion::begin(seq); - } - - template - BOOST_FUSION_GPU_ENABLED - typename result::type - operator()(Seq const& seq) const - { - return fusion::begin(seq); - } - - BOOST_FUSION_GPU_ENABLED - unused_type operator()(unused_type const&) const - { - return unused_type(); - } - }; - } - - namespace extension - { - template - struct begin_impl; - - template<> - struct begin_impl - { - template - struct apply - { - typedef zip_view_iterator< - typename result_of::transform::type, - typename Sequence::category> type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& sequence) - { - return type( - fusion::transform(sequence.sequences_, detail::poly_begin())); - } - }; - - - - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/zip_view/detail/deref_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/zip_view/detail/deref_impl.hpp deleted file mode 100644 index e9f091c3b5..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/zip_view/detail/deref_impl.hpp +++ /dev/null @@ -1,87 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 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_DEREF_IMPL_20061024_1959) -#define FUSION_DEREF_IMPL_20061024_1959 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { - - struct zip_view_iterator_tag; - - namespace detail - { - struct poly_deref - { - template - struct result; - - template - struct result - { - typedef typename remove_const< - typename remove_reference::type>::type it; - - typedef typename mpl::eval_if, - mpl::identity, - result_of::deref >::type type; - }; - - template - BOOST_FUSION_GPU_ENABLED - typename result::type - operator()(const It& it) const - { - return fusion::deref(it); - } - - BOOST_FUSION_GPU_ENABLED - unused_type operator()(unused_type const&) const - { - return unused_type(); - } - }; - } - - namespace extension - { - template - struct deref_impl; - - template<> - struct deref_impl - { - template - struct apply - { - typedef typename result_of::as_vector< - typename result_of::transform::type>::type type; - - BOOST_FUSION_GPU_ENABLED - static type - call(It const& it) - { - return type( - fusion::transform(it.iterators_, detail::poly_deref())); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/zip_view/detail/distance_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/zip_view/detail/distance_impl.hpp deleted file mode 100644 index 8beaccca44..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/zip_view/detail/distance_impl.hpp +++ /dev/null @@ -1,84 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 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_DISTANCE_IMPL_20060124_2033) -#define FUSION_DISTANCE_IMPL_20060124_2033 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { - - struct zip_view_iterator_tag; - - struct random_access_iterator_tag; - - namespace detail - { - template - struct best_distance - { - typedef typename result_of::find_if< - typename SearchIt::iterators, is_same, random_access_iterator_tag> > finder; - - BOOST_MPL_ASSERT_NOT((is_same >)); - - typedef typename result_of::distance::type type; - }; - - template - struct default_distance - : result_of::distance< - typename result_of::value_at_c::type, - typename result_of::value_at_c::type> - {}; - - template - struct zip_view_iterator_distance - { - typedef typename result_of::find_if< - typename It1::iterators, is_same, random_access_iterator_tag> > finder; - - typedef typename mpl::eval_if< - is_same::type>, - detail::default_distance , - detail::best_distance >::type type; - }; - } - - namespace extension - { - template - struct distance_impl; - - template<> - struct distance_impl - { - template - struct apply - : detail::zip_view_iterator_distance::type - { - BOOST_FUSION_GPU_ENABLED - static typename detail::zip_view_iterator_distance::type - call(It1 const& /*it1*/, It2 const& /*it2*/) - { - return typename detail::zip_view_iterator_distance::type(); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/zip_view/detail/end_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/zip_view/detail/end_impl.hpp deleted file mode 100644 index d57b08fbd7..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/zip_view/detail/end_impl.hpp +++ /dev/null @@ -1,108 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 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_END_IMPL_20060123_2208) -#define FUSION_END_IMPL_20060123_2208 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace boost { namespace fusion { - - struct zip_view_tag; - - namespace detail - { - template - struct get_endpoint - { - typedef typename remove_reference::type Seq; - typedef typename result_of::begin::type begin; - typedef typename result_of::advance::type type; - }; - - template - struct endpoints - { - template - struct result; - - template - struct result(SeqRef)> - : mpl::eval_if, - mpl::identity, - get_endpoint > - { - BOOST_MPL_ASSERT((is_reference)); - }; - - template - BOOST_FUSION_GPU_ENABLED - typename result::type - operator()(Seq& seq) const - { - return fusion::advance(fusion::begin(seq)); - } - - template - BOOST_FUSION_GPU_ENABLED - typename result::type - operator()(Seq const& seq) const - { - return fusion::advance(fusion::begin(seq)); - } - - BOOST_FUSION_GPU_ENABLED - unused_type operator()(unused_type const&) const - { - return unused_type(); - } - }; - } - - namespace extension - { - template - struct end_impl; - - template<> - struct end_impl - { - template - struct apply - { - typedef zip_view_iterator< - typename result_of::transform >::type, - typename Sequence::category> type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& sequence) - { - return type( - fusion::transform(sequence.sequences_, detail::endpoints())); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/zip_view/detail/next_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/zip_view/detail/next_impl.hpp deleted file mode 100644 index e9236b4200..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/zip_view/detail/next_impl.hpp +++ /dev/null @@ -1,87 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 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_NEXT_IMPL_20060124_2006) -#define FUSION_NEXT_IMPL_20060124_2006 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { - - struct zip_view_iterator_tag; - - namespace detail - { - struct poly_next - { - template - struct result; - - template - struct result - { - typedef typename remove_const< - typename remove_reference::type>::type it; - - typedef typename mpl::eval_if, - mpl::identity, - result_of::next >::type type; - }; - - template - BOOST_FUSION_GPU_ENABLED - typename result::type - operator()(const It& it) const - { - return fusion::next(it); - } - - BOOST_FUSION_GPU_ENABLED - unused_type operator()(unused_type const&) const - { - return unused_type(); - } - }; - } - - namespace extension - { - template - struct next_impl; - - template<> - struct next_impl - { - template - struct apply - { - typedef fusion::zip_view_iterator< - typename result_of::transform::type, - typename Iterator::category> type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& it) - { - return type( - fusion::transform(it.iterators_, detail::poly_next())); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/fusion/view/zip_view/detail/prior_impl.hpp b/bundled/boost-1.56.0/include/boost/fusion/view/zip_view/detail/prior_impl.hpp deleted file mode 100644 index aa69229565..0000000000 --- a/bundled/boost-1.56.0/include/boost/fusion/view/zip_view/detail/prior_impl.hpp +++ /dev/null @@ -1,87 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 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_PRIOR_IMPL_20060124_2006) -#define FUSION_PRIOR_IMPL_20060124_2006 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { - - struct zip_view_iterator_tag; - - namespace detail - { - struct poly_prior - { - template - struct result; - - template - struct result - { - typedef typename remove_const< - typename remove_reference::type>::type it; - typedef typename mpl::eval_if, - mpl::identity, - result_of::prior >::type type; - }; - - template - BOOST_FUSION_GPU_ENABLED - typename result::type - operator()(const It& it) const - { - return fusion::prior(it); - } - - BOOST_FUSION_GPU_ENABLED - unused_type operator()(unused_type const&) const - { - return unused_type(); - } - }; - } - - namespace extension - { - template - struct prior_impl; - - template<> - struct prior_impl - { - template - struct apply - { - typedef zip_view_iterator< - typename result_of::transform::type, - typename Iterator::category> type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& it) - - { - return type( - fusion::transform(it.iterators_, detail::poly_prior())); - } - }; - }; - } -}} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/get_pointer.hpp b/bundled/boost-1.56.0/include/boost/get_pointer.hpp deleted file mode 100644 index b27b98a609..0000000000 --- a/bundled/boost-1.56.0/include/boost/get_pointer.hpp +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright Peter Dimov and David Abrahams 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) -#ifndef GET_POINTER_DWA20021219_HPP -#define GET_POINTER_DWA20021219_HPP - -#include - -// In order to avoid circular dependencies with Boost.TR1 -// we make sure that our include of doesn't try to -// pull in the TR1 headers: that's why we use this header -// rather than including directly: -#include // std::auto_ptr - -namespace boost { - -// get_pointer(p) extracts a ->* capable pointer from p - -template T * get_pointer(T * p) -{ - return p; -} - -// get_pointer(shared_ptr const & p) has been moved to shared_ptr.hpp - -template T * get_pointer(std::auto_ptr const& p) -{ - return p.get(); -} - -#if !defined( BOOST_NO_CXX11_SMART_PTR ) - -template T * get_pointer( std::unique_ptr const& p ) -{ - return p.get(); -} - -template T * get_pointer( std::shared_ptr const& p ) -{ - return p.get(); -} - -#endif - -} // namespace boost - -#endif // GET_POINTER_DWA20021219_HPP diff --git a/bundled/boost-1.56.0/include/boost/graph/copy.hpp b/bundled/boost-1.56.0/include/boost/graph/copy.hpp deleted file mode 100644 index 21bb0fb01e..0000000000 --- a/bundled/boost-1.56.0/include/boost/graph/copy.hpp +++ /dev/null @@ -1,511 +0,0 @@ -// -//======================================================================= -// Copyright 1997-2001 University of Notre Dame. -// Authors: Jeremy G. Siek, Lie-Quan Lee, Andrew Lumsdaine -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -//======================================================================= -// - -/* - This file implements the following functions: - - - template - void copy_graph(const VertexListGraph& g_in, MutableGraph& g_out) - - template - void copy_graph(const VertexListGraph& g_in, MutableGraph& g_out, - const bgl_named_params& params) - - - template - typename graph_traits::vertex_descriptor - copy_component(IncidenceGraph& g_in, - typename graph_traits::vertex_descriptor src, - MutableGraph& g_out) - - template - typename graph_traits::vertex_descriptor - copy_component(IncidenceGraph& g_in, - typename graph_traits::vertex_descriptor src, - MutableGraph& g_out, - const bgl_named_params& params) - */ - - -#ifndef BOOST_GRAPH_COPY_HPP -#define BOOST_GRAPH_COPY_HPP - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { - - namespace detail { - - // Hack to make transpose_graph work with the same interface as before - template - struct remove_reverse_edge_descriptor { - typedef Desc type; - static Desc convert(const Desc& d, const Graph&) {return d;} - }; - - template - struct remove_reverse_edge_descriptor > { - typedef Desc type; - static Desc convert(const reverse_graph_edge_descriptor& d, const Graph& g) { - return get(edge_underlying, g, d); - } - }; - - // Add a reverse_graph_edge_descriptor wrapper if the Graph is a - // reverse_graph but the edge descriptor is from the original graph (this - // case comes from the fact that transpose_graph uses reverse_graph - // internally but doesn't expose the different edge descriptor type to the - // user). - template - struct add_reverse_edge_descriptor { - typedef Desc type; - static Desc convert(const Desc& d) {return d;} - }; - - template - struct add_reverse_edge_descriptor > { - typedef reverse_graph_edge_descriptor type; - static reverse_graph_edge_descriptor convert(const Desc& d) { - return reverse_graph_edge_descriptor(d); - } - }; - - template - struct add_reverse_edge_descriptor, boost::reverse_graph > { - typedef reverse_graph_edge_descriptor type; - static reverse_graph_edge_descriptor convert(const reverse_graph_edge_descriptor& d) { - return d; - } - }; - - // Default edge and vertex property copiers - - template - struct edge_copier { - edge_copier(const Graph1& g1, Graph2& g2) - : edge_all_map1(get(edge_all, g1)), - edge_all_map2(get(edge_all, g2)) { } - - template - void operator()(const Edge1& e1, Edge2& e2) const { - put(edge_all_map2, e2, get(edge_all_map1, add_reverse_edge_descriptor::convert(e1))); - } - typename property_map::const_type edge_all_map1; - mutable typename property_map::type edge_all_map2; - }; - template - inline edge_copier - make_edge_copier(const Graph1& g1, Graph2& g2) - { - return edge_copier(g1, g2); - } - - template - struct vertex_copier { - vertex_copier(const Graph1& g1, Graph2& g2) - : vertex_all_map1(get(vertex_all, g1)), - vertex_all_map2(get(vertex_all, g2)) { } - - template - void operator()(const Vertex1& v1, Vertex2& v2) const { - put(vertex_all_map2, v2, get(vertex_all_map1, v1)); - } - typename property_map::const_type vertex_all_map1; - mutable typename property_map::type - vertex_all_map2; - }; - template - inline vertex_copier - make_vertex_copier(const Graph1& g1, Graph2& g2) - { - return vertex_copier(g1, g2); - } - - // Copy all the vertices and edges of graph g_in into graph g_out. - // The copy_vertex and copy_edge function objects control how vertex - // and edge properties are copied. - - template - struct copy_graph_impl { }; - - template <> struct copy_graph_impl<0> - { - template - static void apply(const Graph& g_in, MutableGraph& g_out, - CopyVertex copy_vertex, CopyEdge copy_edge, - Orig2CopyVertexIndexMap orig2copy, IndexMap) - { - typedef remove_reverse_edge_descriptor::edge_descriptor> cvt; - typename graph_traits::vertex_iterator vi, vi_end; - for (boost::tie(vi, vi_end) = vertices(g_in); vi != vi_end; ++vi) { - typename graph_traits::vertex_descriptor - new_v = add_vertex(g_out); - put(orig2copy, *vi, new_v); - copy_vertex(*vi, new_v); - } - typename graph_traits::edge_iterator ei, ei_end; - for (boost::tie(ei, ei_end) = edges(g_in); ei != ei_end; ++ei) { - typename graph_traits::edge_descriptor new_e; - bool inserted; - boost::tie(new_e, inserted) = add_edge(get(orig2copy, source(*ei, g_in)), - get(orig2copy, target(*ei, g_in)), - g_out); - copy_edge(cvt::convert(*ei, g_in), new_e); - } - } - }; - - // for directed graphs - template <> struct copy_graph_impl<1> - { - template - static void apply(const Graph& g_in, MutableGraph& g_out, - CopyVertex copy_vertex, CopyEdge copy_edge, - Orig2CopyVertexIndexMap orig2copy, IndexMap) - { - typedef remove_reverse_edge_descriptor::edge_descriptor> cvt; - typename graph_traits::vertex_iterator vi, vi_end; - for (boost::tie(vi, vi_end) = vertices(g_in); vi != vi_end; ++vi) { - typename graph_traits::vertex_descriptor - new_v = add_vertex(g_out); - put(orig2copy, *vi, new_v); - copy_vertex(*vi, new_v); - } - for (boost::tie(vi, vi_end) = vertices(g_in); vi != vi_end; ++vi) { - typename graph_traits::out_edge_iterator ei, ei_end; - for (boost::tie(ei, ei_end) = out_edges(*vi, g_in); ei != ei_end; ++ei) { - typename graph_traits::edge_descriptor new_e; - bool inserted; - boost::tie(new_e, inserted) = add_edge(get(orig2copy, source(*ei, g_in)), - get(orig2copy, target(*ei, g_in)), - g_out); - copy_edge(cvt::convert(*ei, g_in), new_e); - } - } - } - }; - - // for undirected graphs - template <> struct copy_graph_impl<2> - { - template - static void apply(const Graph& g_in, MutableGraph& g_out, - CopyVertex copy_vertex, CopyEdge copy_edge, - Orig2CopyVertexIndexMap orig2copy, - IndexMap index_map) - { - typedef remove_reverse_edge_descriptor::edge_descriptor> cvt; - typedef color_traits Color; - std::vector - color(num_vertices(g_in), Color::white()); - typename graph_traits::vertex_iterator vi, vi_end; - for (boost::tie(vi, vi_end) = vertices(g_in); vi != vi_end; ++vi) { - typename graph_traits::vertex_descriptor - new_v = add_vertex(g_out); - put(orig2copy, *vi, new_v); - copy_vertex(*vi, new_v); - } - for (boost::tie(vi, vi_end) = vertices(g_in); vi != vi_end; ++vi) { - typename graph_traits::out_edge_iterator ei, ei_end; - for (boost::tie(ei, ei_end) = out_edges(*vi, g_in); ei != ei_end; ++ei) { - typename graph_traits::edge_descriptor new_e; - bool inserted; - if (color[get(index_map, target(*ei, g_in))] == Color::white()) { - boost::tie(new_e, inserted) = add_edge(get(orig2copy, source(*ei,g_in)), - get(orig2copy, target(*ei,g_in)), - g_out); - copy_edge(cvt::convert(*ei, g_in), new_e); - } - } - color[get(index_map, *vi)] = Color::black(); - } - } - }; - - template - struct choose_graph_copy { - typedef typename Graph::traversal_category Trv; - typedef typename Graph::directed_category Dr; - enum { algo = - (is_convertible::value - && is_convertible::value) - ? 0 : is_convertible::value ? 1 : 2 }; - typedef copy_graph_impl type; - }; - - //------------------------------------------------------------------------- - struct choose_copier_parameter { - template - struct bind_ { - typedef const P& result_type; - static result_type apply(const P& p, const G1&, G2&) - { return p; } - }; - }; - struct choose_default_edge_copier { - template - struct bind_ { - typedef edge_copier result_type; - static result_type apply(const P&, const G1& g1, G2& g2) { - return result_type(g1, g2); - } - }; - }; - template - struct choose_edge_copy { - typedef choose_copier_parameter type; - }; - template <> - struct choose_edge_copy { - typedef choose_default_edge_copier type; - }; - template - struct choose_edge_copier_helper { - typedef typename choose_edge_copy::type Selector; - typedef typename Selector:: template bind_ Bind; - typedef Bind type; - typedef typename Bind::result_type result_type; - }; - template - typename detail::choose_edge_copier_helper::result_type - choose_edge_copier(const Param& params, const G1& g_in, G2& g_out) - { - typedef typename - detail::choose_edge_copier_helper::type Choice; - return Choice::apply(params, g_in, g_out); - } - - - struct choose_default_vertex_copier { - template - struct bind_ { - typedef vertex_copier result_type; - static result_type apply(const P&, const G1& g1, G2& g2) { - return result_type(g1, g2); - } - }; - }; - template - struct choose_vertex_copy { - typedef choose_copier_parameter type; - }; - template <> - struct choose_vertex_copy { - typedef choose_default_vertex_copier type; - }; - template - struct choose_vertex_copier_helper { - typedef typename choose_vertex_copy::type Selector; - typedef typename Selector:: template bind_ Bind; - typedef Bind type; - typedef typename Bind::result_type result_type; - }; - template - typename detail::choose_vertex_copier_helper::result_type - choose_vertex_copier(const Param& params, const G1& g_in, G2& g_out) - { - typedef typename - detail::choose_vertex_copier_helper::type Choice; - return Choice::apply(params, g_in, g_out); - } - - } // namespace detail - - - template - void copy_graph(const VertexListGraph& g_in, MutableGraph& g_out) - { - if (num_vertices(g_in) == 0) - return; - typedef typename graph_traits::vertex_descriptor vertex_t; - std::vector orig2copy(num_vertices(g_in)); - typedef typename detail::choose_graph_copy::type - copy_impl; - copy_impl::apply - (g_in, g_out, - detail::make_vertex_copier(g_in, g_out), - detail::make_edge_copier(g_in, g_out), - make_iterator_property_map(orig2copy.begin(), - get(vertex_index, g_in), orig2copy[0]), - get(vertex_index, g_in) - ); - } - - template - void copy_graph(const VertexListGraph& g_in, MutableGraph& g_out, - const bgl_named_params& params) - { - typename std::vector::size_type n; - n = is_default_param(get_param(params, orig_to_copy_t())) - ? num_vertices(g_in) : 1; - if (n == 0) - return; - std::vector::vertex_descriptor> - orig2copy(n); - - typedef typename detail::choose_graph_copy::type - copy_impl; - copy_impl::apply - (g_in, g_out, - detail::choose_vertex_copier(get_param(params, vertex_copy_t()), - g_in, g_out), - detail::choose_edge_copier(get_param(params, edge_copy_t()), - g_in, g_out), - choose_param(get_param(params, orig_to_copy_t()), - make_iterator_property_map - (orig2copy.begin(), - choose_const_pmap(get_param(params, vertex_index), - g_in, vertex_index), orig2copy[0])), - choose_const_pmap(get_param(params, vertex_index), g_in, vertex_index) - ); - } - - namespace detail { - - template - struct graph_copy_visitor : public bfs_visitor<> - { - graph_copy_visitor(NewGraph& graph, Copy2OrigIndexMap c, - CopyVertex cv, CopyEdge ce) - : g_out(graph), orig2copy(c), copy_vertex(cv), copy_edge(ce) { } - - template - typename graph_traits::vertex_descriptor copy_one_vertex(Vertex u) const { - typename graph_traits::vertex_descriptor - new_u = add_vertex(g_out); - put(orig2copy, u, new_u); - copy_vertex(u, new_u); - return new_u; - } - - template - void tree_edge(Edge e, const Graph& g_in) const { - // For a tree edge, the target vertex has not been copied yet. - typename graph_traits::edge_descriptor new_e; - bool inserted; - boost::tie(new_e, inserted) = add_edge(get(orig2copy, source(e, g_in)), - this->copy_one_vertex(target(e, g_in)), - g_out); - copy_edge(e, new_e); - } - - template - void non_tree_edge(Edge e, const Graph& g_in) const { - // For a non-tree edge, the target vertex has already been copied. - typename graph_traits::edge_descriptor new_e; - bool inserted; - boost::tie(new_e, inserted) = add_edge(get(orig2copy, source(e, g_in)), - get(orig2copy, target(e, g_in)), - g_out); - copy_edge(e, new_e); - } - private: - NewGraph& g_out; - Copy2OrigIndexMap orig2copy; - CopyVertex copy_vertex; - CopyEdge copy_edge; - }; - - template - typename graph_traits::vertex_descriptor - copy_component_impl - (const Graph& g_in, - typename graph_traits::vertex_descriptor src, - MutableGraph& g_out, - CopyVertex copy_vertex, CopyEdge copy_edge, - Orig2CopyVertexIndexMap orig2copy, - const Params& params) - { - graph_copy_visitor vis(g_out, orig2copy, copy_vertex, copy_edge); - typename graph_traits::vertex_descriptor src_copy - = vis.copy_one_vertex(src); - breadth_first_search(g_in, src, params.visitor(vis)); - return src_copy; - } - - } // namespace detail - - - // Copy all the vertices and edges of graph g_in that are reachable - // from the source vertex into graph g_out. Return the vertex - // in g_out that matches the source vertex of g_in. - template - typename graph_traits::vertex_descriptor - copy_component(IncidenceGraph& g_in, - typename graph_traits::vertex_descriptor src, - MutableGraph& g_out, - const bgl_named_params& params) - { - typename std::vector::size_type n; - n = is_default_param(get_param(params, orig_to_copy_t())) - ? num_vertices(g_in) : 1; - std::vector::vertex_descriptor> - orig2copy(n); - - return detail::copy_component_impl - (g_in, src, g_out, - detail::choose_vertex_copier(get_param(params, vertex_copy_t()), - g_in, g_out), - detail::choose_edge_copier(get_param(params, edge_copy_t()), - g_in, g_out), - choose_param(get_param(params, orig_to_copy_t()), - make_iterator_property_map - (orig2copy.begin(), - choose_pmap(get_param(params, vertex_index), - g_in, vertex_index), orig2copy[0])), - params - ); - } - - template - typename graph_traits::vertex_descriptor - copy_component(IncidenceGraph& g_in, - typename graph_traits::vertex_descriptor src, - MutableGraph& g_out) - { - std::vector::vertex_descriptor> - orig2copy(num_vertices(g_in)); - - return detail::copy_component_impl - (g_in, src, g_out, - make_vertex_copier(g_in, g_out), - make_edge_copier(g_in, g_out), - make_iterator_property_map(orig2copy.begin(), - get(vertex_index, g_in), orig2copy[0]), - bgl_named_params('x') // dummy param object - ); - } - -} // namespace boost - -#endif // BOOST_GRAPH_COPY_HPP diff --git a/bundled/boost-1.56.0/include/boost/graph/distributed/adjlist/serialization.hpp b/bundled/boost-1.56.0/include/boost/graph/distributed/adjlist/serialization.hpp deleted file mode 100644 index ab75ef91ef..0000000000 --- a/bundled/boost-1.56.0/include/boost/graph/distributed/adjlist/serialization.hpp +++ /dev/null @@ -1,988 +0,0 @@ -// Copyright Daniel Wallin 2007. Use, modification and distribution is -// subject to the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GRAPH_DISTRIBUTED_ADJLIST_SERIALIZATION_070925_HPP -#define BOOST_GRAPH_DISTRIBUTED_ADJLIST_SERIALIZATION_070925_HPP - -#ifndef BOOST_GRAPH_USE_MPI -#error "Parallel BGL files should not be included unless has been included" -#endif - -# include -# include -# include -# include -# include -# include -# include - -namespace boost { - -namespace detail { namespace parallel -{ - - // Wraps a local descriptor, making it serializable. - template - struct serializable_local_descriptor - { - serializable_local_descriptor() - {} - - serializable_local_descriptor(Local local) - : local(local) - {} - - operator Local const&() const - { - return local; - } - - bool operator==(serializable_local_descriptor const& other) const - { - return local == other.local; - } - - bool operator<(serializable_local_descriptor const& other) const - { - return local < other.local; - } - - template - void serialize(Archive& ar, const unsigned int /*version*/) - { - ar & unsafe_serialize(local); - } - - Local local; - }; - - template - struct pending_edge - { - pending_edge( - Vertex source, Vertex target - , Properties properties, void* property_ptr - ) - : source(source) - , target(target) - , properties(properties) - , property_ptr(property_ptr) - {} - - Vertex source; - Vertex target; - Properties properties; - void* property_ptr; - }; - - inline bool is_digit(char c) - { - return (bool)std::isdigit(c); - } - - inline std::vector - available_process_files(std::string const& filename) - { - if (!filesystem::exists(filename)) - return std::vector(); - - std::vector result; - - for (filesystem::directory_iterator i(filename), end; i != end; ++i) - { - if (!filesystem::is_regular(*i)) - boost::throw_exception(std::runtime_error("directory contains non-regular entries")); - - std::string process_name = i->path().filename().string(); - for (std::string::size_type i = 0; i < process_name.size(); ++i) - if (!is_digit(process_name[i])) - boost::throw_exception(std::runtime_error("directory contains files with invalid names")); - - result.push_back(boost::lexical_cast(process_name)); - } - - return result; - } - - template - void maybe_load_properties( - Archive& ar, char const* name, property& properties) - { - ar >> serialization::make_nvp(name, get_property_value(properties, Tag())); - maybe_load_properties(ar, name, static_cast(properties)); - } - - template - void maybe_load_properties( - Archive&, char const*, no_property&) - {} - - template - void maybe_load_properties( - Archive& ar, char const* name, Bundle& bundle) - { - ar >> serialization::make_nvp(name, bundle); - no_property prop; - maybe_load_properties(ar, name, prop); - } - - - - - - - template - struct graph_loader - { - typedef typename Graph::vertex_descriptor vertex_descriptor; - typedef typename Graph::local_vertex_descriptor local_vertex_descriptor; - typedef typename Graph::vertex_property_type vertex_property_type; - typedef typename Graph::edge_descriptor edge_descriptor; - typedef typename Graph::local_edge_descriptor local_edge_descriptor; - typedef typename Graph::edge_property_type edge_property_type; - typedef typename Graph::process_group_type process_group_type; - typedef typename process_group_type::process_id_type process_id_type; - typedef typename Graph::directed_selector directed_selector; - typedef typename mpl::if_< - is_same, vecS, VertexListS - >::type vertex_list_selector; - typedef pending_edge - pending_edge_type; - typedef serializable_local_descriptor - serializable_vertex_descriptor; - - graph_loader(Graph& g, Archive& ar) - : m_g(g) - , m_ar(ar) - , m_pg(g.process_group()) - , m_requested_vertices(num_processes(m_pg)) - , m_remote_vertices(num_processes(m_pg)) - , m_property_ptrs(num_processes(m_pg)) - { - g.clear(); - load_prefix(); - load_vertices(); - load_edges(); - ar >> make_nvp("distribution", m_g.distribution()); - } - - private: - struct pending_in_edge - { - pending_in_edge( - vertex_descriptor u, vertex_descriptor v, void* property_ptr - ) - : u(u) - , v(v) - , property_ptr(property_ptr) - {} - - vertex_descriptor u; - vertex_descriptor v; - void* property_ptr; - }; - - bool is_root() const - { - return process_id(m_pg) == 0; - } - - template - serialization::nvp const make_nvp(char const* name, T& value) const - { - return serialization::nvp(name, value); - } - - void load_prefix(); - void load_vertices(); - - template - void maybe_load_and_store_local_vertex(Anything); - void maybe_load_and_store_local_vertex(vecS); - - void load_edges(); - void load_in_edges(bidirectionalS); - void load_in_edges(directedS); - void add_pending_in_edge( - vertex_descriptor u, vertex_descriptor v, void* property_ptr, vecS); - template - void add_pending_in_edge( - vertex_descriptor u, vertex_descriptor v, void* property_ptr, Anything); - template - void add_edge( - vertex_descriptor u, vertex_descriptor v - , edge_property_type const& property, void* property_ptr, Anything); - void add_edge( - vertex_descriptor u, vertex_descriptor v - , edge_property_type const& property, void* property_ptr, vecS); - void add_remote_vertex_request( - vertex_descriptor u, vertex_descriptor v, directedS); - void add_remote_vertex_request( - vertex_descriptor u, vertex_descriptor v, bidirectionalS); - void add_in_edge( - edge_descriptor const&, void*, directedS); - void add_in_edge( - edge_descriptor const& edge, void* old_property_ptr, bidirectionalS); - - void resolve_remote_vertices(directedS); - void resolve_remote_vertices(bidirectionalS); - vertex_descriptor resolve_remote_vertex(vertex_descriptor u) const; - vertex_descriptor resolve_remote_vertex(vertex_descriptor u, vecS) const; - template - vertex_descriptor resolve_remote_vertex(vertex_descriptor u, Anything) const; - - void resolve_property_ptrs(); - - void commit_pending_edges(vecS); - template - void commit_pending_edges(Anything); - void commit_pending_in_edges(directedS); - void commit_pending_in_edges(bidirectionalS); - - void* maybe_load_property_ptr(directedS) { return 0; } - void* maybe_load_property_ptr(bidirectionalS); - - Graph& m_g; - Archive& m_ar; - process_group_type m_pg; - - std::vector m_id_mapping; - - // Maps local vertices as loaded from the archive to - // the ones actually added to the graph. Only used - // when !vecS. - std::map m_local_vertices; - - // This is the list of remote vertex descriptors that we - // are going to receive from other processes. This is - // kept sorted so that we can determine the position of - // the matching vertex descriptor in m_remote_vertices. - std::vector > m_requested_vertices; - - // This is the list of remote vertex descriptors that - // we send and receive from other processes. - std::vector > m_remote_vertices; - - // ... - std::vector m_pending_edges; - - // The pending in-edges that will be added in the commit step, after - // the remote vertex descriptors has been resolved. Only used - // when bidirectionalS and !vecS. - std::vector m_pending_in_edges; - - std::vector > > m_property_ptrs; - }; - - template - void graph_loader::load_prefix() - { - typename process_group_type::process_size_type num_processes_; - m_ar >> make_nvp("num_processes", num_processes_); - - if (num_processes_ != num_processes(m_pg)) - boost::throw_exception(std::runtime_error("number of processes mismatch")); - - process_id_type old_id; - m_ar >> make_nvp("id", old_id); - - std::vector mapping; - m_ar >> make_nvp("mapping", mapping); - - // Fetch all the old id's from the other processes. - std::vector old_ids; - all_gather(m_pg, &old_id, &old_id+1, old_ids); - - m_id_mapping.resize(num_processes(m_pg), -1); - - for (process_id_type i = 0; i < num_processes(m_pg); ++i) - { -# ifdef PBGL_SERIALIZE_DEBUG - if (is_root()) - std::cout << i << " used to be " << old_ids[i] << "\n"; -# endif - BOOST_ASSERT(m_id_mapping[old_ids[i]] == -1); - m_id_mapping[old_ids[i]] = i; - } - - std::vector new_mapping( - mapping.size()); - - for (int i = 0; i < num_processes(m_pg); ++i) - { - new_mapping[mapping[old_ids[i]]] = i; - } - - m_g.distribution().assign_mapping( - new_mapping.begin(), new_mapping.end()); - } - - template - void graph_loader::load_vertices() - { - int V; - m_ar >> BOOST_SERIALIZATION_NVP(V); - -# ifdef PBGL_SERIALIZE_DEBUG - if (is_root()) - std::cout << "Loading vertices\n"; -# endif - - for (int i = 0; i < V; ++i) - { - maybe_load_and_store_local_vertex(vertex_list_selector()); - } - } - - template - template - void graph_loader::maybe_load_and_store_local_vertex(Anything) - { - // Load the original vertex descriptor - local_vertex_descriptor local; - m_ar >> make_nvp("local", unsafe_serialize(local)); - - // Load the properties - vertex_property_type property; - detail::parallel::maybe_load_properties(m_ar, "vertex_property", - property); - - // Add the vertex - vertex_descriptor v(process_id(m_pg), add_vertex(property, m_g.base())); - - if (m_g.on_add_vertex) - m_g.on_add_vertex(v, m_g); - - // Create the mapping from the "old" local descriptor to the new - // local descriptor. - m_local_vertices[local] = v.local; - } - - template - void graph_loader::maybe_load_and_store_local_vertex(vecS) - { - // Load the properties - vertex_property_type property; - detail::parallel::maybe_load_properties(m_ar, "vertex_property", - property); - - // Add the vertex - vertex_descriptor v(process_id(m_pg), - add_vertex(m_g.build_vertex_property(property), - m_g.base())); - - if (m_g.on_add_vertex) - m_g.on_add_vertex(v, m_g); - } - - template - void graph_loader::load_edges() - { - int E; - m_ar >> BOOST_SERIALIZATION_NVP(E); - -# ifdef PBGL_SERIALIZE_DEBUG - if (is_root()) - std::cout << "Loading edges\n"; -# endif - - for (int i = 0; i < E; ++i) - { - local_vertex_descriptor local_src; - process_id_type target_owner; - local_vertex_descriptor local_tgt; - - m_ar >> make_nvp("source", unsafe_serialize(local_src)); - m_ar >> make_nvp("target_owner", target_owner); - m_ar >> make_nvp("target", unsafe_serialize(local_tgt)); - - process_id_type new_src_owner = process_id(m_pg); - process_id_type new_tgt_owner = m_id_mapping[target_owner]; - - vertex_descriptor source(new_src_owner, local_src); - vertex_descriptor target(new_tgt_owner, local_tgt); - - edge_property_type properties; - detail::parallel::maybe_load_properties(m_ar, "edge_property", properties); - - void* property_ptr = maybe_load_property_ptr(directed_selector()); - add_edge(source, target, properties, property_ptr, vertex_list_selector()); - } - - load_in_edges(directed_selector()); - commit_pending_edges(vertex_list_selector()); - } - - template - void graph_loader::load_in_edges(bidirectionalS) - { - std::size_t I; - m_ar >> BOOST_SERIALIZATION_NVP(I); - -# ifdef PBGL_SERIALIZE_DEBUG - if (is_root()) - std::cout << "Loading in-edges\n"; -# endif - - for (int i = 0; i < I; ++i) - { - process_id_type src_owner; - local_vertex_descriptor local_src; - local_vertex_descriptor local_target; - void* property_ptr; - - m_ar >> make_nvp("src_owner", src_owner); - m_ar >> make_nvp("source", unsafe_serialize(local_src)); - m_ar >> make_nvp("target", unsafe_serialize(local_target)); - m_ar >> make_nvp("property_ptr", unsafe_serialize(property_ptr)); - - src_owner = m_id_mapping[src_owner]; - - vertex_descriptor u(src_owner, local_src); - vertex_descriptor v(process_id(m_pg), local_target); - - add_pending_in_edge(u, v, property_ptr, vertex_list_selector()); - } - } - - template - void graph_loader::load_in_edges(directedS) - {} - - template - void graph_loader::add_pending_in_edge( - vertex_descriptor u, vertex_descriptor v, void* property_ptr, vecS) - { - m_pending_in_edges.push_back(pending_in_edge(u,v,property_ptr)); - } - - template - template - void graph_loader::add_pending_in_edge( - vertex_descriptor u, vertex_descriptor v, void* property_ptr, Anything) - { - // u and v represent the out-edge here, meaning v is local - // to us, and u is always remote. - m_pending_in_edges.push_back(pending_in_edge(u,v,property_ptr)); - add_remote_vertex_request(v, u, bidirectionalS()); - } - - template - template - void graph_loader::add_edge( - vertex_descriptor u, vertex_descriptor v - , edge_property_type const& property, void* property_ptr, Anything) - { - m_pending_edges.push_back(pending_edge_type(u, v, property, property_ptr)); - add_remote_vertex_request(u, v, directed_selector()); - } - - template - void graph_loader::add_remote_vertex_request( - vertex_descriptor u, vertex_descriptor v, directedS) - { - // We have to request the remote vertex. - m_requested_vertices[owner(v)].push_back(local(v)); - } - - template - void graph_loader::add_remote_vertex_request( - vertex_descriptor u, vertex_descriptor v, bidirectionalS) - { - // If the edge spans to another process, we know - // that that process has a matching in-edge, so - // we can just send our vertex. No requests - // necessary. - if (owner(v) != m_g.processor()) - { - m_remote_vertices[owner(v)].push_back(local(u)); - m_requested_vertices[owner(v)].push_back(local(v)); - } - } - - template - void graph_loader::add_edge( - vertex_descriptor u, vertex_descriptor v - , edge_property_type const& property, void* property_ptr, vecS) - { - std::pair inserted = - detail::parallel::add_local_edge( - local(u), local(v) - , m_g.build_edge_property(property), m_g.base()); - BOOST_ASSERT(inserted.second); - put(edge_target_processor_id, m_g.base(), inserted.first, owner(v)); - - edge_descriptor e(owner(u), owner(v), true, inserted.first); - - if (inserted.second && m_g.on_add_edge) - m_g.on_add_edge(e, m_g); - - add_in_edge(e, property_ptr, directed_selector()); - } - - template - void graph_loader::add_in_edge( - edge_descriptor const&, void*, directedS) - {} - - template - void graph_loader::add_in_edge( - edge_descriptor const& edge, void* old_property_ptr, bidirectionalS) - { - if (owner(target(edge, m_g)) == m_g.processor()) - { - detail::parallel::stored_in_edge - e(m_g.processor(), local(edge)); - boost::graph_detail::push(get( - vertex_in_edges, m_g.base())[local(target(edge, m_g))], e); - } - else - { - // We send the (old,new) property pointer pair to - // the remote process. This could be optimized to - // only send the new one -- the ordering can be - // made implicit because the old pointer value is - // stored on the remote process. - // - // Doing that is a little bit more complicated, but - // in case it turns out it's important we can do it. - void* property_ptr = local(edge).get_property(); - m_property_ptrs[owner(target(edge, m_g))].push_back( - unsafe_pair(old_property_ptr, property_ptr)); - } - } - - template - void graph_loader::resolve_property_ptrs() - { -# ifdef PBGL_SERIALIZE_DEBUG - if (is_root()) - std::cout << "Resolving property pointers\n"; -# endif - - for (int i = 0; i < num_processes(m_pg); ++i) - { - std::sort( - m_property_ptrs[i].begin(), m_property_ptrs[i].end()); - } - - boost::parallel::inplace_all_to_all(m_pg, m_property_ptrs); - } - - template - void graph_loader::resolve_remote_vertices(directedS) - { - for (int i = 0; i < num_processes(m_pg); ++i) - { - std::sort(m_requested_vertices[i].begin(), m_requested_vertices[i].end()); - } - - boost::parallel::inplace_all_to_all( - m_pg, m_requested_vertices, m_remote_vertices); - - for (int i = 0; i < num_processes(m_pg); ++i) - { - BOOST_FOREACH(serializable_vertex_descriptor& u, m_remote_vertices[i]) - { - u = m_local_vertices[u]; - } - } - - boost::parallel::inplace_all_to_all(m_pg, m_remote_vertices); - } - - template - void graph_loader::resolve_remote_vertices(bidirectionalS) - { -# ifdef PBGL_SERIALIZE_DEBUG - if (is_root()) - std::cout << "Resolving remote vertices\n"; -# endif - - for (int i = 0; i < num_processes(m_pg); ++i) - { - std::sort(m_requested_vertices[i].begin(), m_requested_vertices[i].end()); - std::sort(m_remote_vertices[i].begin(), m_remote_vertices[i].end()); - - BOOST_FOREACH(serializable_vertex_descriptor& u, m_remote_vertices[i]) - { - u = m_local_vertices[u]; - } - } - - boost::parallel::inplace_all_to_all(m_pg, m_remote_vertices); - - for (int i = 0; i < num_processes(m_pg); ++i) - BOOST_ASSERT(m_remote_vertices[i].size() == m_requested_vertices[i].size()); - } - - template - void graph_loader::commit_pending_edges(vecS) - { - commit_pending_in_edges(directed_selector()); - } - - template - template - void graph_loader::commit_pending_edges(Anything) - { - resolve_remote_vertices(directed_selector()); - - BOOST_FOREACH(pending_edge_type const& e, m_pending_edges) - { - vertex_descriptor u = resolve_remote_vertex(e.source); - vertex_descriptor v = resolve_remote_vertex(e.target); - add_edge(u, v, e.properties, e.property_ptr, vecS()); - } - - commit_pending_in_edges(directed_selector()); - } - - template - void graph_loader::commit_pending_in_edges(directedS) - {} - - template - void graph_loader::commit_pending_in_edges(bidirectionalS) - { - resolve_property_ptrs(); - - BOOST_FOREACH(pending_in_edge const& e, m_pending_in_edges) - { - vertex_descriptor u = resolve_remote_vertex(e.u, vertex_list_selector()); - vertex_descriptor v = resolve_remote_vertex(e.v, vertex_list_selector()); - - typedef detail::parallel::stored_in_edge stored_edge; - - std::vector >::iterator i = std::lower_bound( - m_property_ptrs[owner(u)].begin() - , m_property_ptrs[owner(u)].end() - , unsafe_pair(e.property_ptr, 0) - ); - - if (i == m_property_ptrs[owner(u)].end() - || i->first != e.property_ptr) - { - BOOST_ASSERT(false); - } - - local_edge_descriptor local_edge(local(u), local(v), i->second); - stored_edge edge(owner(u), local_edge); - boost::graph_detail::push( - get(vertex_in_edges, m_g.base())[local(v)], edge); - } - } - - template - typename graph_loader::vertex_descriptor - graph_loader::resolve_remote_vertex( - vertex_descriptor u) const - { - if (owner(u) == process_id(m_pg)) - { - return vertex_descriptor( - process_id(m_pg), m_local_vertices.find(local(u))->second); - } - - typename std::vector::const_iterator - i = std::lower_bound( - m_requested_vertices[owner(u)].begin() - , m_requested_vertices[owner(u)].end() - , serializable_vertex_descriptor(local(u)) - ); - - if (i == m_requested_vertices[owner(u)].end() - || *i != local(u)) - { - BOOST_ASSERT(false); - } - - local_vertex_descriptor local = - m_remote_vertices[owner(u)][m_requested_vertices[owner(u)].end() - i]; - return vertex_descriptor(owner(u), local); - } - - template - typename graph_loader::vertex_descriptor - graph_loader::resolve_remote_vertex( - vertex_descriptor u, vecS) const - { - return u; - } - - template - template - typename graph_loader::vertex_descriptor - graph_loader::resolve_remote_vertex( - vertex_descriptor u, Anything) const - { - return resolve_remote_vertex(u); - } - - template - void* - graph_loader::maybe_load_property_ptr(bidirectionalS) - { - void* ptr; - m_ar >> make_nvp("property_ptr", unsafe_serialize(ptr)); - return ptr; - } - -template -void maybe_save_local_descriptor(Archive& ar, D const&, vecS) -{} - -template -void maybe_save_local_descriptor(Archive& ar, D const& d, NotVecS) -{ - ar << serialization::make_nvp( - "local", unsafe_serialize(const_cast(d))); -} - -template -void maybe_save_properties( - Archive&, char const*, no_property const&) -{} - -template -void maybe_save_properties( - Archive& ar, char const* name, property const& properties) -{ - ar & serialization::make_nvp(name, get_property_value(properties, Tag())); - maybe_save_properties(ar, name, static_cast(properties)); -} - -template -void save_in_edges(Archive& ar, Graph const& g, directedS) -{} - -// We need to save the edges in the base edge -// list, and the in_edges that are stored in the -// vertex_in_edges vertex property. -template -void save_in_edges(Archive& ar, Graph const& g, bidirectionalS) -{ - typedef typename Graph::process_group_type - process_group_type; - typedef typename process_group_type::process_id_type - process_id_type; - typedef typename graph_traits< - Graph>::vertex_descriptor vertex_descriptor; - typedef typename vertex_descriptor::local_descriptor_type - local_vertex_descriptor; - typedef typename graph_traits< - Graph>::edge_descriptor edge_descriptor; - - process_id_type id = g.processor(); - - std::vector saved_in_edges; - - BGL_FORALL_VERTICES_T(v, g, Graph) - { - BOOST_FOREACH(edge_descriptor const& e, in_edges(v, g)) - { - // Only save the in_edges that isn't owned by this process. - if (owner(e) == id) - continue; - - saved_in_edges.push_back(e); - } - } - - std::size_t I = saved_in_edges.size(); - ar << BOOST_SERIALIZATION_NVP(I); - - BOOST_FOREACH(edge_descriptor const& e, saved_in_edges) - { - process_id_type src_owner = owner(source(e,g)); - local_vertex_descriptor local_src = local(source(e,g)); - local_vertex_descriptor local_target = local(target(e,g)); - void* property_ptr = local(e).get_property(); - - using serialization::make_nvp; - - ar << make_nvp("src_owner", src_owner); - ar << make_nvp("source", unsafe_serialize(local_src)); - ar << make_nvp("target", unsafe_serialize(local_target)); - ar << make_nvp("property_ptr", unsafe_serialize(property_ptr)); - } -} - -template -void maybe_save_property_ptr(Archive&, Edge const&, directedS) -{} - -template -void maybe_save_property_ptr(Archive& ar, Edge const& e, bidirectionalS) -{ - void* ptr = local(e).get_property(); - ar << serialization::make_nvp("property_ptr", unsafe_serialize(ptr)); -} - -template -void save_edges(Archive& ar, Graph const& g, DirectedS) -{ - typedef typename Graph::process_group_type - process_group_type; - typedef typename process_group_type::process_id_type - process_id_type; - typedef typename graph_traits< - Graph>::vertex_descriptor vertex_descriptor; - - typedef typename Graph::edge_property_type edge_property_type; - - int E = num_edges(g); - ar << BOOST_SERIALIZATION_NVP(E); - - // For *directed* graphs, we can just save - // the edge list and be done. - // - // For *bidirectional* graphs, we need to also - // save the "vertex_in_edges" property map, - // because it might contain in-edges that - // are not locally owned. - BGL_FORALL_EDGES_T(e, g, Graph) - { - vertex_descriptor src(source(e, g)); - vertex_descriptor tgt(target(e, g)); - - typename vertex_descriptor::local_descriptor_type - local_u(local(src)); - typename vertex_descriptor::local_descriptor_type - local_v(local(tgt)); - - process_id_type target_owner = owner(tgt); - - using serialization::make_nvp; - - ar << make_nvp("source", unsafe_serialize(local_u)); - ar << make_nvp("target_owner", target_owner); - ar << make_nvp("target", unsafe_serialize(local_v)); - - maybe_save_properties( - ar, "edge_property" - , static_cast(get(edge_all_t(), g, e)) - ); - - maybe_save_property_ptr(ar, e, DirectedS()); - } - - save_in_edges(ar, g, DirectedS()); -} - -}} // namespace detail::parallel - -template -template -void PBGL_DISTRIB_ADJLIST_TYPE::load(std::string const& filename) -{ - process_group_type pg = process_group(); - process_id_type id = process_id(pg); - - synchronize(pg); - - std::vector disk_files = detail::parallel::available_process_files(filename); - std::sort(disk_files.begin(), disk_files.end()); - - // Negotiate which process gets which file. Serialized. - std::vector consumed_files; - int picked_file = -1; - - if (id > 0) - receive_oob(pg, id-1, 0, consumed_files); - - std::sort(consumed_files.begin(), consumed_files.end()); - std::vector available_files; - std::set_difference( - disk_files.begin(), disk_files.end() - , consumed_files.begin(), consumed_files.end() - , std::back_inserter(available_files) - ); - - if (available_files.empty()) - boost::throw_exception(std::runtime_error("no file available")); - - // back() used for debug purposes. Making sure the - // ranks are shuffled. - picked_file = available_files.back(); - -# ifdef PBGL_SERIALIZE_DEBUG - std::cout << id << " picked " << picked_file << "\n"; -# endif - - consumed_files.push_back(picked_file); - - if (id < num_processes(pg) - 1) - send_oob(pg, id+1, 0, consumed_files); - - std::string local_filename = filename + "/" + - lexical_cast(picked_file); - - std::ifstream in(local_filename.c_str(), std::ios_base::binary); - IStreamConstructibleArchive ar(in); - - detail::parallel::graph_loader< - graph_type, IStreamConstructibleArchive, InVertexListS - > loader(*this, ar); - -# ifdef PBGL_SERIALIZE_DEBUG - std::cout << "Process " << id << " done loading.\n"; -# endif - - synchronize(pg); -} - -template -template -void PBGL_DISTRIB_ADJLIST_TYPE::save(std::string const& filename) const -{ - typedef typename config_type::VertexListS vertex_list_selector; - - process_group_type pg = process_group(); - process_id_type id = process_id(pg); - - if (filesystem::exists(filename) && !filesystem::is_directory(filename)) - boost::throw_exception(std::runtime_error("entry exists, but is not a directory")); - - filesystem::remove_all(filename); - filesystem::create_directory(filename); - - synchronize(pg); - - std::string local_filename = filename + "/" + - lexical_cast(id); - - std::ofstream out(local_filename.c_str(), std::ios_base::binary); - OStreamConstructibleArchive ar(out); - - using serialization::make_nvp; - - typename process_group_type::process_size_type num_processes_ = num_processes(pg); - ar << make_nvp("num_processes", num_processes_); - ar << BOOST_SERIALIZATION_NVP(id); - ar << make_nvp("mapping", this->distribution().mapping()); - - int V = num_vertices(*this); - ar << BOOST_SERIALIZATION_NVP(V); - - BGL_FORALL_VERTICES_T(v, *this, graph_type) - { - local_vertex_descriptor local_descriptor(local(v)); - detail::parallel::maybe_save_local_descriptor( - ar, local_descriptor, vertex_list_selector()); - detail::parallel::maybe_save_properties( - ar, "vertex_property" - , static_cast(get(vertex_all_t(), *this, v)) - ); - } - - detail::parallel::save_edges(ar, *this, directed_selector()); - - ar << make_nvp("distribution", this->distribution()); -} - -} // namespace boost - -#endif // BOOST_GRAPH_DISTRIBUTED_ADJLIST_SERIALIZATION_070925_HPP - diff --git a/bundled/boost-1.56.0/include/boost/intrusive/avl_set.hpp b/bundled/boost-1.56.0/include/boost/intrusive/avl_set.hpp deleted file mode 100644 index 2d78b4ded8..0000000000 --- a/bundled/boost-1.56.0/include/boost/intrusive/avl_set.hpp +++ /dev/null @@ -1,946 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2007-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_AVL_SET_HPP -#define BOOST_INTRUSIVE_AVL_SET_HPP - -#include -#include -#include -#include -#include -#include - -namespace boost { -namespace intrusive { - -//! The class template avl_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 -#else -template -#endif -class avl_set_impl -#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED - : public bstree_impl -#endif -{ - /// @cond - typedef bstree_impl tree_type; - BOOST_MOVABLE_BUT_NOT_COPYABLE(avl_set_impl) - - typedef tree_type implementation_defined; - /// @endcond - - public: - typedef typename implementation_defined::value_type value_type; - 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::avltree::avltree(const value_compare &,const value_traits &) - explicit avl_set_impl( const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : tree_type(cmp, v_traits) - {} - - //! @copydoc ::boost::intrusive::avltree::avltree(bool,Iterator,Iterator,const value_compare &,const value_traits &) - template - avl_set_impl( Iterator b, Iterator e - , const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : tree_type(true, b, e, cmp, v_traits) - {} - - //! @copydoc ::boost::intrusive::avltree::avltree(avltree &&) - avl_set_impl(BOOST_RV_REF(avl_set_impl) x) - : tree_type(::boost::move(static_cast(x))) - {} - - //! @copydoc ::boost::intrusive::avltree::operator=(avltree &&) - avl_set_impl& operator=(BOOST_RV_REF(avl_set_impl) x) - { return static_cast(tree_type::operator=(::boost::move(static_cast(x)))); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! @copydoc ::boost::intrusive::avltree::~avltree() - ~avl_set_impl(); - - //! @copydoc ::boost::intrusive::avltree::begin() - iterator begin(); - - //! @copydoc ::boost::intrusive::avltree::begin()const - const_iterator begin() const; - - //! @copydoc ::boost::intrusive::avltree::cbegin()const - const_iterator cbegin() const; - - //! @copydoc ::boost::intrusive::avltree::end() - iterator end(); - - //! @copydoc ::boost::intrusive::avltree::end()const - const_iterator end() const; - - //! @copydoc ::boost::intrusive::avltree::cend()const - const_iterator cend() const; - - //! @copydoc ::boost::intrusive::avltree::begin() - reverse_iterator avlegin(); - - //! @copydoc ::boost::intrusive::avltree::begin()const - const_reverse_iterator avlegin() const; - - //! @copydoc ::boost::intrusive::avltree::crbegin()const - const_reverse_iterator crbegin() const; - - //! @copydoc ::boost::intrusive::avltree::rend() - reverse_iterator rend(); - - //! @copydoc ::boost::intrusive::avltree::rend()const - const_reverse_iterator rend() const; - - //! @copydoc ::boost::intrusive::avltree::crend()const - const_reverse_iterator crend() const; - - //! @copydoc ::boost::intrusive::avltree::container_from_end_iterator(iterator) - static avl_set_impl &container_from_end_iterator(iterator end_iterator); - - //! @copydoc ::boost::intrusive::avltree::container_from_end_iterator(const_iterator) - static const avl_set_impl &container_from_end_iterator(const_iterator end_iterator); - - //! @copydoc ::boost::intrusive::avltree::container_from_iterator(iterator) - static avl_set_impl &container_from_iterator(iterator it); - - //! @copydoc ::boost::intrusive::avltree::container_from_iterator(const_iterator) - static const avl_set_impl &container_from_iterator(const_iterator it); - - //! @copydoc ::boost::intrusive::avltree::key_comp()const - key_compare key_comp() const; - - //! @copydoc ::boost::intrusive::avltree::value_comp()const - value_compare value_comp() const; - - //! @copydoc ::boost::intrusive::avltree::empty()const - bool empty() const; - - //! @copydoc ::boost::intrusive::avltree::size()const - size_type size() const; - - //! @copydoc ::boost::intrusive::avltree::swap - void swap(avl_set_impl& other); - - //! @copydoc ::boost::intrusive::avltree::clone_from - template - void clone_from(const avl_set_impl &src, Cloner cloner, Disposer disposer); - - #endif //#ifdef BOOST_iNTRUSIVE_DOXYGEN_INVOKED - - //! @copydoc ::boost::intrusive::avltree::insert_unique(reference) - std::pair insert(reference value) - { return tree_type::insert_unique(value); } - - //! @copydoc ::boost::intrusive::avltree::insert_unique(const_iterator,reference) - iterator insert(const_iterator hint, reference value) - { return tree_type::insert_unique(hint, value); } - - //! @copydoc ::boost::intrusive::avltree::insert_unique_check(const KeyType&,KeyValueCompare,insert_commit_data&) - template - std::pair insert_check - (const KeyType &key, KeyValueCompare key_value_comp, insert_commit_data &commit_data) - { return tree_type::insert_unique_check(key, key_value_comp, commit_data); } - - //! @copydoc ::boost::intrusive::avltree::insert_unique_check(const_iterator,const KeyType&,KeyValueCompare,insert_commit_data&) - template - std::pair insert_check - (const_iterator hint, const KeyType &key - ,KeyValueCompare key_value_comp, insert_commit_data &commit_data) - { return tree_type::insert_unique_check(hint, key, key_value_comp, commit_data); } - - //! @copydoc ::boost::intrusive::avltree::insert_unique(Iterator,Iterator) - template - void insert(Iterator b, Iterator e) - { tree_type::insert_unique(b, e); } - - //! @copydoc ::boost::intrusive::avltree::insert_unique_commit - iterator insert_commit(reference value, const insert_commit_data &commit_data) - { return tree_type::insert_unique_commit(value, commit_data); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - //! @copydoc ::boost::intrusive::avltree::insert_before - iterator insert_before(const_iterator pos, reference value); - - //! @copydoc ::boost::intrusive::avltree::push_back - void push_back(reference value); - - //! @copydoc ::boost::intrusive::avltree::push_front - void push_front(reference value); - - //! @copydoc ::boost::intrusive::avltree::erase(const_iterator) - iterator erase(const_iterator i); - - //! @copydoc ::boost::intrusive::avltree::erase(const_iterator,const_iterator) - iterator erase(const_iterator b, const_iterator e); - - //! @copydoc ::boost::intrusive::avltree::erase(const_reference) - size_type erase(const_reference value); - - //! @copydoc ::boost::intrusive::avltree::erase(const KeyType&,KeyValueCompare) - template - size_type erase(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::avltree::erase_and_dispose(const_iterator,Disposer) - template - iterator erase_and_dispose(const_iterator i, Disposer disposer); - - //! @copydoc ::boost::intrusive::avltree::erase_and_dispose(const_iterator,const_iterator,Disposer) - template - iterator erase_and_dispose(const_iterator b, const_iterator e, Disposer disposer); - - //! @copydoc ::boost::intrusive::avltree::erase_and_dispose(const_reference, Disposer) - template - size_type erase_and_dispose(const_reference value, Disposer disposer); - - //! @copydoc ::boost::intrusive::avltree::erase_and_dispose(const KeyType&,KeyValueCompare,Disposer) - template - size_type erase_and_dispose(const KeyType& key, KeyValueCompare comp, Disposer disposer); - - //! @copydoc ::boost::intrusive::avltree::clear - void clear(); - - //! @copydoc ::boost::intrusive::avltree::clear_and_dispose - template - void clear_and_dispose(Disposer disposer); - - #endif // #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! @copydoc ::boost::intrusive::avltree::count(const_reference)const - size_type count(const_reference value) const - { return static_cast(this->tree_type::find(value) != this->tree_type::cend()); } - - //! @copydoc ::boost::intrusive::avltree::count(const KeyType&,KeyValueCompare)const - template - size_type count(const KeyType& key, KeyValueCompare comp) const - { return static_cast(this->tree_type::find(key, comp) != this->tree_type::cend()); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! @copydoc ::boost::intrusive::avltree::lower_bound(const_reference) - iterator lower_bound(const_reference value); - - //! @copydoc ::boost::intrusive::avltree::lower_bound(const KeyType&,KeyValueCompare) - template - iterator lower_bound(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::avltree::lower_bound(const_reference)const - const_iterator lower_bound(const_reference value) const; - - //! @copydoc ::boost::intrusive::avltree::lower_bound(const KeyType&,KeyValueCompare)const - template - const_iterator lower_bound(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::avltree::upper_bound(const_reference) - iterator upper_bound(const_reference value); - - //! @copydoc ::boost::intrusive::avltree::upper_bound(const KeyType&,KeyValueCompare) - template - iterator upper_bound(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::avltree::upper_bound(const_reference)const - const_iterator upper_bound(const_reference value) const; - - //! @copydoc ::boost::intrusive::avltree::upper_bound(const KeyType&,KeyValueCompare)const - template - const_iterator upper_bound(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::avltree::find(const_reference) - iterator find(const_reference value); - - //! @copydoc ::boost::intrusive::avltree::find(const KeyType&,KeyValueCompare) - template - iterator find(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::avltree::find(const_reference)const - const_iterator find(const_reference value) const; - - //! @copydoc ::boost::intrusive::avltree::find(const KeyType&,KeyValueCompare)const - template - const_iterator find(const KeyType& key, KeyValueCompare comp) const; - - #endif // #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! @copydoc ::boost::intrusive::rbtree::equal_range(const_reference) - std::pair equal_range(const_reference value) - { return this->tree_type::lower_bound_range(value); } - - //! @copydoc ::boost::intrusive::rbtree::equal_range(const KeyType&,KeyValueCompare) - template - std::pair equal_range(const KeyType& key, KeyValueCompare comp) - { return this->tree_type::lower_bound_range(key, comp); } - - //! @copydoc ::boost::intrusive::rbtree::equal_range(const_reference)const - std::pair - equal_range(const_reference value) const - { return this->tree_type::lower_bound_range(value); } - - //! @copydoc ::boost::intrusive::rbtree::equal_range(const KeyType&,KeyValueCompare)const - template - std::pair - equal_range(const KeyType& key, KeyValueCompare comp) const - { return this->tree_type::lower_bound_range(key, comp); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! @copydoc ::boost::intrusive::avltree::bounded_range(const_reference,const_reference,bool,bool) - std::pair bounded_range - (const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed); - - //! @copydoc ::boost::intrusive::avltree::bounded_range(const KeyType&,const KeyType&,KeyValueCompare,bool,bool) - template - std::pair bounded_range - (const KeyType& lower_key, const KeyType& upper_key, KeyValueCompare comp, bool left_closed, bool right_closed); - - //! @copydoc ::boost::intrusive::avltree::bounded_range(const_reference,const_reference,bool,bool)const - std::pair - bounded_range(const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed) const; - - //! @copydoc ::boost::intrusive::avltree::bounded_range(const KeyType&,const KeyType&,KeyValueCompare,bool,bool)const - template - std::pair bounded_range - (const KeyType& lower_key, const KeyType& upper_key, KeyValueCompare comp, bool left_closed, bool right_closed) const; - - //! @copydoc ::boost::intrusive::avltree::s_iterator_to(reference) - static iterator s_iterator_to(reference value); - - //! @copydoc ::boost::intrusive::avltree::s_iterator_to(const_reference) - static const_iterator s_iterator_to(const_reference value); - - //! @copydoc ::boost::intrusive::avltree::iterator_to(reference) - iterator iterator_to(reference value); - - //! @copydoc ::boost::intrusive::avltree::iterator_to(const_reference)const - const_iterator iterator_to(const_reference value) const; - - //! @copydoc ::boost::intrusive::avltree::init_node(reference) - static void init_node(reference value); - - //! @copydoc ::boost::intrusive::avltree::unlink_leftmost_without_rebalance - pointer unlink_leftmost_without_rebalance(); - - //! @copydoc ::boost::intrusive::avltree::replace_node - void replace_node(iterator replace_this, reference with_this); - - //! @copydoc ::boost::intrusive::avltree::remove_node - void remove_node(reference value); - #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED -}; - -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - -template -bool operator!= (const avl_set_impl &x, const avl_set_impl &y); - -template -bool operator>(const avl_set_impl &x, const avl_set_impl &y); - -template -bool operator<=(const avl_set_impl &x, const avl_set_impl &y); - -template -bool operator>=(const avl_set_impl &x, const avl_set_impl &y); - -template -void swap(avl_set_impl &x, avl_set_impl &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 -#else -template -#endif -struct make_avl_set -{ - /// @cond - typedef typename pack_options - < avltree_defaults, - #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) - O1, O2, O3, O4, O5 - #else - Options... - #endif - >::type packed_options; - - typedef typename detail::get_value_traits - ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; - - typedef avl_set_impl - < value_traits - , typename packed_options::compare - , typename packed_options::size_type - , packed_options::constant_time_size - , header_holder_type - > implementation_defined; - /// @endcond - typedef implementation_defined type; -}; - -#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED -#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) -template -#else -template -#endif -class avl_set - : public make_avl_set::type -{ - typedef typename make_avl_set - ::type Base; - - BOOST_MOVABLE_BUT_NOT_COPYABLE(avl_set) - public: - typedef typename Base::value_compare value_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::value)); - - explicit avl_set( const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : Base(cmp, v_traits) - {} - - template - avl_set( Iterator b, Iterator e - , const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : Base(b, e, cmp, v_traits) - {} - - avl_set(BOOST_RV_REF(avl_set) x) - : Base(::boost::move(static_cast(x))) - {} - - avl_set& operator=(BOOST_RV_REF(avl_set) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } - - static avl_set &container_from_end_iterator(iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } - - static const avl_set &container_from_end_iterator(const_iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } - - static avl_set &container_from_iterator(iterator it) - { return static_cast(Base::container_from_iterator(it)); } - - static const avl_set &container_from_iterator(const_iterator it) - { return static_cast(Base::container_from_iterator(it)); } -}; - -#endif - -//! The class template avl_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 -#else -template -#endif -class avl_multiset_impl -#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED - : public bstree_impl -#endif -{ - /// @cond - typedef bstree_impl tree_type; - - BOOST_MOVABLE_BUT_NOT_COPYABLE(avl_multiset_impl) - typedef tree_type implementation_defined; - /// @endcond - - public: - typedef typename implementation_defined::value_type value_type; - 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::avltree::avltree(const value_compare &,const value_traits &) - explicit avl_multiset_impl( const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : tree_type(cmp, v_traits) - {} - - //! @copydoc ::boost::intrusive::avltree::avltree(bool,Iterator,Iterator,const value_compare &,const value_traits &) - template - avl_multiset_impl( Iterator b, Iterator e - , const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : tree_type(false, b, e, cmp, v_traits) - {} - - //! @copydoc ::boost::intrusive::avltree::avltree(avltree &&) - avl_multiset_impl(BOOST_RV_REF(avl_multiset_impl) x) - : tree_type(::boost::move(static_cast(x))) - {} - - //! @copydoc ::boost::intrusive::avltree::operator=(avltree &&) - avl_multiset_impl& operator=(BOOST_RV_REF(avl_multiset_impl) x) - { return static_cast(tree_type::operator=(::boost::move(static_cast(x)))); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - //! @copydoc ::boost::intrusive::avltree::~avltree() - ~avl_multiset_impl(); - - //! @copydoc ::boost::intrusive::avltree::begin() - iterator begin(); - - //! @copydoc ::boost::intrusive::avltree::begin()const - const_iterator begin() const; - - //! @copydoc ::boost::intrusive::avltree::cbegin()const - const_iterator cbegin() const; - - //! @copydoc ::boost::intrusive::avltree::end() - iterator end(); - - //! @copydoc ::boost::intrusive::avltree::end()const - const_iterator end() const; - - //! @copydoc ::boost::intrusive::avltree::cend()const - const_iterator cend() const; - - //! @copydoc ::boost::intrusive::avltree::rbegin() - reverse_iterator rbegin(); - - //! @copydoc ::boost::intrusive::avltree::rbegin()const - const_reverse_iterator rbegin() const; - - //! @copydoc ::boost::intrusive::avltree::crbegin()const - const_reverse_iterator crbegin() const; - - //! @copydoc ::boost::intrusive::avltree::rend() - reverse_iterator rend(); - - //! @copydoc ::boost::intrusive::avltree::rend()const - const_reverse_iterator rend() const; - - //! @copydoc ::boost::intrusive::avltree::crend()const - const_reverse_iterator crend() const; - - //! @copydoc ::boost::intrusive::avltree::container_from_end_iterator(iterator) - static avl_multiset_impl &container_from_end_iterator(iterator end_iterator); - - //! @copydoc ::boost::intrusive::avltree::container_from_end_iterator(const_iterator) - static const avl_multiset_impl &container_from_end_iterator(const_iterator end_iterator); - - //! @copydoc ::boost::intrusive::avltree::container_from_iterator(iterator) - static avl_multiset_impl &container_from_iterator(iterator it); - - //! @copydoc ::boost::intrusive::avltree::container_from_iterator(const_iterator) - static const avl_multiset_impl &container_from_iterator(const_iterator it); - - //! @copydoc ::boost::intrusive::avltree::key_comp()const - key_compare key_comp() const; - - //! @copydoc ::boost::intrusive::avltree::value_comp()const - value_compare value_comp() const; - - //! @copydoc ::boost::intrusive::avltree::empty()const - bool empty() const; - - //! @copydoc ::boost::intrusive::avltree::size()const - size_type size() const; - - //! @copydoc ::boost::intrusive::avltree::swap - void swap(avl_multiset_impl& other); - - //! @copydoc ::boost::intrusive::avltree::clone_from - template - void clone_from(const avl_multiset_impl &src, Cloner cloner, Disposer disposer); - - #endif //#ifdef BOOST_iNTRUSIVE_DOXYGEN_INVOKED - - //! @copydoc ::boost::intrusive::avltree::insert_equal(reference) - iterator insert(reference value) - { return tree_type::insert_equal(value); } - - //! @copydoc ::boost::intrusive::avltree::insert_equal(const_iterator,reference) - iterator insert(const_iterator hint, reference value) - { return tree_type::insert_equal(hint, value); } - - //! @copydoc ::boost::intrusive::avltree::insert_equal(Iterator,Iterator) - template - void insert(Iterator b, Iterator e) - { tree_type::insert_equal(b, e); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - //! @copydoc ::boost::intrusive::avltree::insert_before - iterator insert_before(const_iterator pos, reference value); - - //! @copydoc ::boost::intrusive::avltree::push_back - void push_back(reference value); - - //! @copydoc ::boost::intrusive::avltree::push_front - void push_front(reference value); - - //! @copydoc ::boost::intrusive::avltree::erase(const_iterator) - iterator erase(const_iterator i); - - //! @copydoc ::boost::intrusive::avltree::erase(const_iterator,const_iterator) - iterator erase(const_iterator b, const_iterator e); - - //! @copydoc ::boost::intrusive::avltree::erase(const_reference) - size_type erase(const_reference value); - - //! @copydoc ::boost::intrusive::avltree::erase(const KeyType&,KeyValueCompare) - template - size_type erase(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::avltree::erase_and_dispose(const_iterator,Disposer) - template - iterator erase_and_dispose(const_iterator i, Disposer disposer); - - //! @copydoc ::boost::intrusive::avltree::erase_and_dispose(const_iterator,const_iterator,Disposer) - template - iterator erase_and_dispose(const_iterator b, const_iterator e, Disposer disposer); - - //! @copydoc ::boost::intrusive::avltree::erase_and_dispose(const_reference, Disposer) - template - size_type erase_and_dispose(const_reference value, Disposer disposer); - - //! @copydoc ::boost::intrusive::avltree::erase_and_dispose(const KeyType&,KeyValueCompare,Disposer) - template - size_type erase_and_dispose(const KeyType& key, KeyValueCompare comp, Disposer disposer); - - //! @copydoc ::boost::intrusive::avltree::clear - void clear(); - - //! @copydoc ::boost::intrusive::avltree::clear_and_dispose - template - void clear_and_dispose(Disposer disposer); - - //! @copydoc ::boost::intrusive::avltree::count(const_reference)const - size_type count(const_reference value) const; - - //! @copydoc ::boost::intrusive::avltree::count(const KeyType&,KeyValueCompare)const - template - size_type count(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::avltree::lower_bound(const_reference) - iterator lower_bound(const_reference value); - - //! @copydoc ::boost::intrusive::avltree::lower_bound(const KeyType&,KeyValueCompare) - template - iterator lower_bound(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::avltree::lower_bound(const_reference)const - const_iterator lower_bound(const_reference value) const; - - //! @copydoc ::boost::intrusive::avltree::lower_bound(const KeyType&,KeyValueCompare)const - template - const_iterator lower_bound(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::avltree::upper_bound(const_reference) - iterator upper_bound(const_reference value); - - //! @copydoc ::boost::intrusive::avltree::upper_bound(const KeyType&,KeyValueCompare) - template - iterator upper_bound(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::avltree::upper_bound(const_reference)const - const_iterator upper_bound(const_reference value) const; - - //! @copydoc ::boost::intrusive::avltree::upper_bound(const KeyType&,KeyValueCompare)const - template - const_iterator upper_bound(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::avltree::find(const_reference) - iterator find(const_reference value); - - //! @copydoc ::boost::intrusive::avltree::find(const KeyType&,KeyValueCompare) - template - iterator find(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::avltree::find(const_reference)const - const_iterator find(const_reference value) const; - - //! @copydoc ::boost::intrusive::avltree::find(const KeyType&,KeyValueCompare)const - template - const_iterator find(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::avltree::equal_range(const_reference) - std::pair equal_range(const_reference value); - - //! @copydoc ::boost::intrusive::avltree::equal_range(const KeyType&,KeyValueCompare) - template - std::pair equal_range(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::avltree::equal_range(const_reference)const - std::pair - equal_range(const_reference value) const; - - //! @copydoc ::boost::intrusive::avltree::equal_range(const KeyType&,KeyValueCompare)const - template - std::pair - equal_range(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::avltree::bounded_range(const_reference,const_reference,bool,bool) - std::pair bounded_range - (const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed); - - //! @copydoc ::boost::intrusive::avltree::bounded_range(const KeyType&,const KeyType&,KeyValueCompare,bool,bool) - template - std::pair bounded_range - (const KeyType& lower_key, const KeyType& upper_key, KeyValueCompare comp, bool left_closed, bool right_closed); - - //! @copydoc ::boost::intrusive::avltree::bounded_range(const_reference,const_reference,bool,bool)const - std::pair - bounded_range(const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed) const; - - //! @copydoc ::boost::intrusive::avltree::bounded_range(const KeyType&,const KeyType&,KeyValueCompare,bool,bool)const - template - std::pair bounded_range - (const KeyType& lower_key, const KeyType& upper_key, KeyValueCompare comp, bool left_closed, bool right_closed) const; - - //! @copydoc ::boost::intrusive::avltree::s_iterator_to(reference) - static iterator s_iterator_to(reference value); - - //! @copydoc ::boost::intrusive::avltree::s_iterator_to(const_reference) - static const_iterator s_iterator_to(const_reference value); - - //! @copydoc ::boost::intrusive::avltree::iterator_to(reference) - iterator iterator_to(reference value); - - //! @copydoc ::boost::intrusive::avltree::iterator_to(const_reference)const - const_iterator iterator_to(const_reference value) const; - - //! @copydoc ::boost::intrusive::avltree::init_node(reference) - static void init_node(reference value); - - //! @copydoc ::boost::intrusive::avltree::unlink_leftmost_without_rebalance - pointer unlink_leftmost_without_rebalance(); - - //! @copydoc ::boost::intrusive::avltree::replace_node - void replace_node(iterator replace_this, reference with_this); - - //! @copydoc ::boost::intrusive::avltree::remove_node - void remove_node(reference value); - #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED -}; - -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - -template -bool operator!= (const avl_multiset_impl &x, const avl_multiset_impl &y); - -template -bool operator>(const avl_multiset_impl &x, const avl_multiset_impl &y); - -template -bool operator<=(const avl_multiset_impl &x, const avl_multiset_impl &y); - -template -bool operator>=(const avl_multiset_impl &x, const avl_multiset_impl &y); - -template -void swap(avl_multiset_impl &x, avl_multiset_impl &y); - -#endif //#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - -//! Helper metafunction to define a \c avl_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 -#else -template -#endif -struct make_avl_multiset -{ - /// @cond - typedef typename pack_options - < avltree_defaults, - #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) - O1, O2, O3, O4, O5 - #else - Options... - #endif - >::type packed_options; - - typedef typename detail::get_value_traits - ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; - - typedef avl_multiset_impl - < value_traits - , typename packed_options::compare - , typename packed_options::size_type - , packed_options::constant_time_size - , header_holder_type - > implementation_defined; - /// @endcond - typedef implementation_defined type; -}; - -#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED - -#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) -template -#else -template -#endif -class avl_multiset - : public make_avl_multiset::type -{ - typedef typename make_avl_multiset::type Base; - - BOOST_MOVABLE_BUT_NOT_COPYABLE(avl_multiset) - - public: - typedef typename Base::value_compare value_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::value)); - - explicit avl_multiset( const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : Base(cmp, v_traits) - {} - - template - avl_multiset( Iterator b, Iterator e - , const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : Base(b, e, cmp, v_traits) - {} - - avl_multiset(BOOST_RV_REF(avl_multiset) x) - : Base(::boost::move(static_cast(x))) - {} - - avl_multiset& operator=(BOOST_RV_REF(avl_multiset) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } - - static avl_multiset &container_from_end_iterator(iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } - - static const avl_multiset &container_from_end_iterator(const_iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } - - static avl_multiset &container_from_iterator(iterator it) - { return static_cast(Base::container_from_iterator(it)); } - - static const avl_multiset &container_from_iterator(const_iterator it) - { return static_cast(Base::container_from_iterator(it)); } -}; - -#endif - -} //namespace intrusive -} //namespace boost - -#include - -#endif //BOOST_INTRUSIVE_AVL_SET_HPP diff --git a/bundled/boost-1.56.0/include/boost/intrusive/avltree.hpp b/bundled/boost-1.56.0/include/boost/intrusive/avltree.hpp deleted file mode 100644 index ddc24f9e27..0000000000 --- a/bundled/boost-1.56.0/include/boost/intrusive/avltree.hpp +++ /dev/null @@ -1,543 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2007-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_AVLTREE_HPP -#define BOOST_INTRUSIVE_AVLTREE_HPP - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { -namespace intrusive { - -/// @cond - -struct avltree_defaults -{ - typedef detail::default_avltree_hook proto_value_traits; - static const bool constant_time_size = true; - typedef std::size_t size_type; - typedef void compare; - typedef void header_holder_type; -}; - -/// @endcond - -//! The class template avltree is an intrusive AVL tree container, that -//! is used to construct intrusive avl_set and avl_multiset containers. -//! The no-throw guarantee holds only, if the value_compare object -//! doesn't throw. -//! -//! 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 -#else -template -#endif -class avltree_impl - /// @cond - : public bstree_impl - /// @endcond -{ - public: - typedef ValueTraits value_traits; - /// @cond - typedef bstree_impl< ValueTraits, VoidOrKeyComp, SizeType - , ConstantTimeSize, AvlTreeAlgorithms - , HeaderHolder> tree_type; - typedef tree_type implementation_defined; - /// @endcond - - typedef typename implementation_defined::pointer pointer; - typedef typename implementation_defined::const_pointer const_pointer; - typedef typename implementation_defined::value_type value_type; - typedef typename implementation_defined::key_type key_type; - 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::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 = implementation_defined::constant_time_size; - /// @cond - private: - - //noncopyable - BOOST_MOVABLE_BUT_NOT_COPYABLE(avltree_impl) - - /// @endcond - - public: - - typedef typename implementation_defined::insert_commit_data insert_commit_data; - - - //! @copydoc ::boost::intrusive::bstree::bstree(const value_compare &,const value_traits &) - explicit avltree_impl( const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : tree_type(cmp, v_traits) - {} - - //! @copydoc ::boost::intrusive::bstree::bstree(bool,Iterator,Iterator,const value_compare &,const value_traits &) - template - avltree_impl( bool unique, Iterator b, Iterator e - , const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : tree_type(unique, b, e, cmp, v_traits) - {} - - //! @copydoc ::boost::intrusive::bstree::bstree(bstree &&) - avltree_impl(BOOST_RV_REF(avltree_impl) x) - : tree_type(::boost::move(static_cast(x))) - {} - - //! @copydoc ::boost::intrusive::bstree::operator=(bstree &&) - avltree_impl& operator=(BOOST_RV_REF(avltree_impl) x) - { return static_cast(tree_type::operator=(::boost::move(static_cast(x)))); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! @copydoc ::boost::intrusive::bstree::~bstree() - ~avltree_impl(); - - //! @copydoc ::boost::intrusive::bstree::begin() - iterator begin(); - - //! @copydoc ::boost::intrusive::bstree::begin()const - const_iterator begin() const; - - //! @copydoc ::boost::intrusive::bstree::cbegin()const - const_iterator cbegin() const; - - //! @copydoc ::boost::intrusive::bstree::end() - iterator end(); - - //! @copydoc ::boost::intrusive::bstree::end()const - const_iterator end() const; - - //! @copydoc ::boost::intrusive::bstree::cend()const - const_iterator cend() const; - - //! @copydoc ::boost::intrusive::bstree::rbegin() - reverse_iterator rbegin(); - - //! @copydoc ::boost::intrusive::bstree::rbegin()const - const_reverse_iterator rbegin() const; - - //! @copydoc ::boost::intrusive::bstree::crbegin()const - const_reverse_iterator crbegin() const; - - //! @copydoc ::boost::intrusive::bstree::rend() - reverse_iterator rend(); - - //! @copydoc ::boost::intrusive::bstree::rend()const - const_reverse_iterator rend() const; - - //! @copydoc ::boost::intrusive::bstree::crend()const - const_reverse_iterator crend() const; - - //! @copydoc ::boost::intrusive::bstree::container_from_end_iterator(iterator) - static avltree_impl &container_from_end_iterator(iterator end_iterator); - - //! @copydoc ::boost::intrusive::bstree::container_from_end_iterator(const_iterator) - static const avltree_impl &container_from_end_iterator(const_iterator end_iterator); - - //! @copydoc ::boost::intrusive::bstree::container_from_iterator(iterator) - static avltree_impl &container_from_iterator(iterator it); - - //! @copydoc ::boost::intrusive::bstree::container_from_iterator(const_iterator) - static const avltree_impl &container_from_iterator(const_iterator it); - - //! @copydoc ::boost::intrusive::bstree::key_comp()const - key_compare key_comp() const; - - //! @copydoc ::boost::intrusive::bstree::value_comp()const - value_compare value_comp() const; - - //! @copydoc ::boost::intrusive::bstree::empty()const - bool empty() const; - - //! @copydoc ::boost::intrusive::bstree::size()const - size_type size() const; - - //! @copydoc ::boost::intrusive::bstree::swap - void swap(avltree_impl& other); - - //! @copydoc ::boost::intrusive::bstree::clone_from - template - void clone_from(const avltree_impl &src, Cloner cloner, Disposer disposer); - - //! @copydoc ::boost::intrusive::bstree::insert_equal(reference) - iterator insert_equal(reference value); - - //! @copydoc ::boost::intrusive::bstree::insert_equal(const_iterator,reference) - iterator insert_equal(const_iterator hint, reference value); - - //! @copydoc ::boost::intrusive::bstree::insert_equal(Iterator,Iterator) - template - void insert_equal(Iterator b, Iterator e); - - //! @copydoc ::boost::intrusive::bstree::insert_unique(reference) - std::pair insert_unique(reference value); - - //! @copydoc ::boost::intrusive::bstree::insert_unique(const_iterator,reference) - iterator insert_unique(const_iterator hint, reference value); - - //! @copydoc ::boost::intrusive::bstree::insert_unique_check(const KeyType&,KeyValueCompare,insert_commit_data&) - template - std::pair insert_unique_check - (const KeyType &key, KeyValueCompare key_value_comp, insert_commit_data &commit_data); - - //! @copydoc ::boost::intrusive::bstree::insert_unique_check(const_iterator,const KeyType&,KeyValueCompare,insert_commit_data&) - template - std::pair insert_unique_check - (const_iterator hint, const KeyType &key - ,KeyValueCompare key_value_comp, insert_commit_data &commit_data); - - //! @copydoc ::boost::intrusive::bstree::insert_unique_commit - iterator insert_unique_commit(reference value, const insert_commit_data &commit_data); - - //! @copydoc ::boost::intrusive::bstree::insert_unique(Iterator,Iterator) - template - void insert_unique(Iterator b, Iterator e); - - //! @copydoc ::boost::intrusive::bstree::insert_before - iterator insert_before(const_iterator pos, reference value); - - //! @copydoc ::boost::intrusive::bstree::push_back - void push_back(reference value); - - //! @copydoc ::boost::intrusive::bstree::push_front - void push_front(reference value); - - //! @copydoc ::boost::intrusive::bstree::erase(const_iterator) - iterator erase(const_iterator i); - - //! @copydoc ::boost::intrusive::bstree::erase(const_iterator,const_iterator) - iterator erase(const_iterator b, const_iterator e); - - //! @copydoc ::boost::intrusive::bstree::erase(const_reference) - size_type erase(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::erase(const KeyType&,KeyValueCompare) - template - size_type erase(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::bstree::erase_and_dispose(const_iterator,Disposer) - template - iterator erase_and_dispose(const_iterator i, Disposer disposer); - - //! @copydoc ::boost::intrusive::bstree::erase_and_dispose(const_iterator,const_iterator,Disposer) - template - iterator erase_and_dispose(const_iterator b, const_iterator e, Disposer disposer); - - //! @copydoc ::boost::intrusive::bstree::erase_and_dispose(const_reference, Disposer) - template - size_type erase_and_dispose(const_reference value, Disposer disposer); - - //! @copydoc ::boost::intrusive::bstree::erase_and_dispose(const KeyType&,KeyValueCompare,Disposer) - template - size_type erase_and_dispose(const KeyType& key, KeyValueCompare comp, Disposer disposer); - - //! @copydoc ::boost::intrusive::bstree::clear - void clear(); - - //! @copydoc ::boost::intrusive::bstree::clear_and_dispose - template - void clear_and_dispose(Disposer disposer); - - //! @copydoc ::boost::intrusive::bstree::count(const_reference)const - size_type count(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::count(const KeyType&,KeyValueCompare)const - template - size_type count(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::bstree::lower_bound(const_reference) - iterator lower_bound(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::lower_bound(const KeyType&,KeyValueCompare) - template - iterator lower_bound(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::bstree::lower_bound(const_reference)const - const_iterator lower_bound(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::lower_bound(const KeyType&,KeyValueCompare)const - template - const_iterator lower_bound(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::bstree::upper_bound(const_reference) - iterator upper_bound(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::upper_bound(const KeyType&,KeyValueCompare) - template - iterator upper_bound(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::bstree::upper_bound(const_reference)const - const_iterator upper_bound(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::upper_bound(const KeyType&,KeyValueCompare)const - template - const_iterator upper_bound(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::bstree::find(const_reference) - iterator find(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::find(const KeyType&,KeyValueCompare) - template - iterator find(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::bstree::find(const_reference)const - const_iterator find(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::find(const KeyType&,KeyValueCompare)const - template - const_iterator find(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::bstree::equal_range(const_reference) - std::pair equal_range(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::equal_range(const KeyType&,KeyValueCompare) - template - std::pair equal_range(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::bstree::equal_range(const_reference)const - std::pair - equal_range(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::equal_range(const KeyType&,KeyValueCompare)const - template - std::pair - equal_range(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::bstree::bounded_range(const_reference,const_reference,bool,bool) - std::pair bounded_range - (const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed); - - //! @copydoc ::boost::intrusive::bstree::bounded_range(const KeyType&,const KeyType&,KeyValueCompare,bool,bool) - template - std::pair bounded_range - (const KeyType& lower_key, const KeyType& upper_key, KeyValueCompare comp, bool left_closed, bool right_closed); - - //! @copydoc ::boost::intrusive::bstree::bounded_range(const_reference,const_reference,bool,bool)const - std::pair - bounded_range(const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed) const; - - //! @copydoc ::boost::intrusive::bstree::bounded_range(const KeyType&,const KeyType&,KeyValueCompare,bool,bool)const - template - std::pair bounded_range - (const KeyType& lower_key, const KeyType& upper_key, KeyValueCompare comp, bool left_closed, bool right_closed) const; - - //! @copydoc ::boost::intrusive::bstree::s_iterator_to(reference) - static iterator s_iterator_to(reference value); - - //! @copydoc ::boost::intrusive::bstree::s_iterator_to(const_reference) - static const_iterator s_iterator_to(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::iterator_to(reference) - iterator iterator_to(reference value); - - //! @copydoc ::boost::intrusive::bstree::iterator_to(const_reference)const - const_iterator iterator_to(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::init_node(reference) - static void init_node(reference value); - - //! @copydoc ::boost::intrusive::bstree::unlink_leftmost_without_rebalance - pointer unlink_leftmost_without_rebalance(); - - //! @copydoc ::boost::intrusive::bstree::replace_node - void replace_node(iterator replace_this, reference with_this); - - //! @copydoc ::boost::intrusive::bstree::remove_node - void remove_node(reference value); - #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED -}; - -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - -template -bool operator< (const avltree_impl &x, const avltree_impl &y); - -template -bool operator==(const avltree_impl &x, const avltree_impl &y); - -template -bool operator!= (const avltree_impl &x, const avltree_impl &y); - -template -bool operator>(const avltree_impl &x, const avltree_impl &y); - -template -bool operator<=(const avltree_impl &x, const avltree_impl &y); - -template -bool operator>=(const avltree_impl &x, const avltree_impl &y); - -template -void swap(avltree_impl &x, avltree_impl &y); - -#endif //#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - -//! Helper metafunction to define a \c avltree 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 -#else -template -#endif -struct make_avltree -{ - /// @cond - typedef typename pack_options - < avltree_defaults, - #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) - O1, O2, O3, O4, O5 - #else - Options... - #endif - >::type packed_options; - - typedef typename detail::get_value_traits - ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; - - typedef avltree_impl - < value_traits - , typename packed_options::compare - , typename packed_options::size_type - , packed_options::constant_time_size - , header_holder_type - > implementation_defined; - /// @endcond - typedef implementation_defined type; -}; - - -#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED - -#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) -template -#else -template -#endif -class avltree - : public make_avltree::type -{ - typedef typename make_avltree - ::type Base; - BOOST_MOVABLE_BUT_NOT_COPYABLE(avltree) - - public: - typedef typename Base::value_compare value_compare; - typedef typename Base::value_traits value_traits; - typedef typename Base::iterator iterator; - typedef typename Base::const_iterator const_iterator; - typedef typename Base::reverse_iterator reverse_iterator; - typedef typename Base::const_reverse_iterator const_reverse_iterator; - - //Assert if passed value traits are compatible with the type - BOOST_STATIC_ASSERT((detail::is_same::value)); - - explicit avltree( const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : Base(cmp, v_traits) - {} - - template - avltree( bool unique, Iterator b, Iterator e - , const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : Base(unique, b, e, cmp, v_traits) - {} - - avltree(BOOST_RV_REF(avltree) x) - : Base(::boost::move(static_cast(x))) - {} - - avltree& operator=(BOOST_RV_REF(avltree) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } - - static avltree &container_from_end_iterator(iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } - - static const avltree &container_from_end_iterator(const_iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } - - static avltree &container_from_iterator(iterator it) - { return static_cast(Base::container_from_iterator(it)); } - - static const avltree &container_from_iterator(const_iterator it) - { return static_cast(Base::container_from_iterator(it)); } -}; - -#endif - -} //namespace intrusive -} //namespace boost - -#include - -#endif //BOOST_INTRUSIVE_AVLTREE_HPP diff --git a/bundled/boost-1.56.0/include/boost/intrusive/bs_set.hpp b/bundled/boost-1.56.0/include/boost/intrusive/bs_set.hpp deleted file mode 100644 index f000f0e5ce..0000000000 --- a/bundled/boost-1.56.0/include/boost/intrusive/bs_set.hpp +++ /dev/null @@ -1,944 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// -// (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/intrusive for documentation. -// -///////////////////////////////////////////////////////////////////////////// -#ifndef BOOST_INTRUSIVE_BS_SET_HPP -#define BOOST_INTRUSIVE_BS_SET_HPP - -#include -#include -#include -#include -#include -#include - -namespace boost { -namespace intrusive { - -//! The class template bs_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 -#else -template -#endif -class bs_set_impl -#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED - : public bstree_impl -#endif -{ - /// @cond - typedef bstree_impl tree_type; - BOOST_MOVABLE_BUT_NOT_COPYABLE(bs_set_impl) - - typedef tree_type implementation_defined; - /// @endcond - - public: - typedef typename implementation_defined::value_type value_type; - 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::bstree::bstree(const value_compare &,const value_traits &) - explicit bs_set_impl( const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : tree_type(cmp, v_traits) - {} - - //! @copydoc ::boost::intrusive::bstree::bstree(bool,Iterator,Iterator,const value_compare &,const value_traits &) - template - bs_set_impl( Iterator b, Iterator e - , const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : tree_type(true, b, e, cmp, v_traits) - {} - - //! @copydoc ::boost::intrusive::bstree::bstree(bstree &&) - bs_set_impl(BOOST_RV_REF(bs_set_impl) x) - : tree_type(::boost::move(static_cast(x))) - {} - - //! @copydoc ::boost::intrusive::bstree::operator=(bstree &&) - bs_set_impl& operator=(BOOST_RV_REF(bs_set_impl) x) - { return static_cast(tree_type::operator=(::boost::move(static_cast(x)))); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - //! @copydoc ::boost::intrusive::bstree::~bstree() - ~bs_set_impl(); - - //! @copydoc ::boost::intrusive::bstree::begin() - iterator begin(); - - //! @copydoc ::boost::intrusive::bstree::begin()const - const_iterator begin() const; - - //! @copydoc ::boost::intrusive::bstree::cbegin()const - const_iterator cbegin() const; - - //! @copydoc ::boost::intrusive::bstree::end() - iterator end(); - - //! @copydoc ::boost::intrusive::bstree::end()const - const_iterator end() const; - - //! @copydoc ::boost::intrusive::bstree::cend()const - const_iterator cend() const; - - //! @copydoc ::boost::intrusive::bstree::rbegin() - reverse_iterator rbegin(); - - //! @copydoc ::boost::intrusive::bstree::rbegin()const - const_reverse_iterator rbegin() const; - - //! @copydoc ::boost::intrusive::bstree::crbegin()const - const_reverse_iterator crbegin() const; - - //! @copydoc ::boost::intrusive::bstree::rend() - reverse_iterator rend(); - - //! @copydoc ::boost::intrusive::bstree::rend()const - const_reverse_iterator rend() const; - - //! @copydoc ::boost::intrusive::bstree::crend()const - const_reverse_iterator crend() const; - - //! @copydoc ::boost::intrusive::bstree::container_from_end_iterator(iterator) - static bs_set_impl &container_from_end_iterator(iterator end_iterator); - - //! @copydoc ::boost::intrusive::bstree::container_from_end_iterator(const_iterator) - static const bs_set_impl &container_from_end_iterator(const_iterator end_iterator); - - //! @copydoc ::boost::intrusive::bstree::container_from_iterator(iterator) - static bs_set_impl &container_from_iterator(iterator it); - - //! @copydoc ::boost::intrusive::bstree::container_from_iterator(const_iterator) - static const bs_set_impl &container_from_iterator(const_iterator it); - - //! @copydoc ::boost::intrusive::bstree::key_comp()const - key_compare key_comp() const; - - //! @copydoc ::boost::intrusive::bstree::value_comp()const - value_compare value_comp() const; - - //! @copydoc ::boost::intrusive::bstree::empty()const - bool empty() const; - - //! @copydoc ::boost::intrusive::bstree::size()const - size_type size() const; - - //! @copydoc ::boost::intrusive::bstree::swap - void swap(bs_set_impl& other); - - //! @copydoc ::boost::intrusive::bstree::clone_from - template - void clone_from(const bs_set_impl &src, Cloner cloner, Disposer disposer); - - #endif //#ifdef BOOST_iNTRUSIVE_DOXYGEN_INVOKED - - //! @copydoc ::boost::intrusive::bstree::insert_unique(reference) - std::pair insert(reference value) - { return tree_type::insert_unique(value); } - - //! @copydoc ::boost::intrusive::bstree::insert_unique(const_iterator,reference) - iterator insert(const_iterator hint, reference value) - { return tree_type::insert_unique(hint, value); } - - //! @copydoc ::boost::intrusive::bstree::insert_unique_check(const KeyType&,KeyValueCompare,insert_commit_data&) - template - std::pair insert_check - (const KeyType &key, KeyValueCompare key_value_comp, insert_commit_data &commit_data) - { return tree_type::insert_unique_check(key, key_value_comp, commit_data); } - - //! @copydoc ::boost::intrusive::bstree::insert_unique_check(const_iterator,const KeyType&,KeyValueCompare,insert_commit_data&) - template - std::pair insert_check - (const_iterator hint, const KeyType &key - ,KeyValueCompare key_value_comp, insert_commit_data &commit_data) - { return tree_type::insert_unique_check(hint, key, key_value_comp, commit_data); } - - //! @copydoc ::boost::intrusive::bstree::insert_unique(Iterator,Iterator) - template - void insert(Iterator b, Iterator e) - { tree_type::insert_unique(b, e); } - - //! @copydoc ::boost::intrusive::bstree::insert_unique_commit - iterator insert_commit(reference value, const insert_commit_data &commit_data) - { return tree_type::insert_unique_commit(value, commit_data); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - //! @copydoc ::boost::intrusive::bstree::insert_before - iterator insert_before(const_iterator pos, reference value); - - //! @copydoc ::boost::intrusive::bstree::push_back - void push_back(reference value); - - //! @copydoc ::boost::intrusive::bstree::push_front - void push_front(reference value); - - //! @copydoc ::boost::intrusive::bstree::erase(const_iterator) - iterator erase(const_iterator i); - - //! @copydoc ::boost::intrusive::bstree::erase(const_iterator,const_iterator) - iterator erase(const_iterator b, const_iterator e); - - //! @copydoc ::boost::intrusive::bstree::erase(const_reference) - size_type erase(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::erase(const KeyType&,KeyValueCompare) - template - size_type erase(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::bstree::erase_and_dispose(const_iterator,Disposer) - template - iterator erase_and_dispose(const_iterator i, Disposer disposer); - - //! @copydoc ::boost::intrusive::bstree::erase_and_dispose(const_iterator,const_iterator,Disposer) - template - iterator erase_and_dispose(const_iterator b, const_iterator e, Disposer disposer); - - //! @copydoc ::boost::intrusive::bstree::erase_and_dispose(const_reference, Disposer) - template - size_type erase_and_dispose(const_reference value, Disposer disposer); - - //! @copydoc ::boost::intrusive::bstree::erase_and_dispose(const KeyType&,KeyValueCompare,Disposer) - template - size_type erase_and_dispose(const KeyType& key, KeyValueCompare comp, Disposer disposer); - - //! @copydoc ::boost::intrusive::bstree::clear - void clear(); - - //! @copydoc ::boost::intrusive::bstree::clear_and_dispose - template - void clear_and_dispose(Disposer disposer); - - #endif // #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! @copydoc ::boost::intrusive::bstree::count(const_reference)const - size_type count(const_reference value) const - { return static_cast(this->tree_type::find(value) == this->tree_type::cend()); } - - //! @copydoc ::boost::intrusive::bstree::count(const KeyType&,KeyValueCompare)const - template - size_type count(const KeyType& key, KeyValueCompare comp) const - { return static_cast(this->tree_type::find(key, comp) == this->tree_type::cend()); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! @copydoc ::boost::intrusive::bstree::lower_bound(const_reference) - iterator lower_bound(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::lower_bound(const KeyType&,KeyValueCompare) - template - iterator lower_bound(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::bstree::lower_bound(const_reference)const - const_iterator lower_bound(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::lower_bound(const KeyType&,KeyValueCompare)const - template - const_iterator lower_bound(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::bstree::upper_bound(const_reference) - iterator upper_bound(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::upper_bound(const KeyType&,KeyValueCompare) - template - iterator upper_bound(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::bstree::upper_bound(const_reference)const - const_iterator upper_bound(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::upper_bound(const KeyType&,KeyValueCompare)const - template - const_iterator upper_bound(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::bstree::find(const_reference) - iterator find(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::find(const KeyType&,KeyValueCompare) - template - iterator find(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::bstree::find(const_reference)const - const_iterator find(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::find(const KeyType&,KeyValueCompare)const - template - const_iterator find(const KeyType& key, KeyValueCompare comp) const; - - #endif // #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! @copydoc ::boost::intrusive::rbtree::equal_range(const_reference) - std::pair equal_range(const_reference value) - { return this->tree_type::lower_bound_range(value); } - - //! @copydoc ::boost::intrusive::rbtree::equal_range(const KeyType&,KeyValueCompare) - template - std::pair equal_range(const KeyType& key, KeyValueCompare comp) - { return this->tree_type::lower_bound_range(key, comp); } - - //! @copydoc ::boost::intrusive::rbtree::equal_range(const_reference)const - std::pair - equal_range(const_reference value) const - { return this->tree_type::lower_bound_range(value); } - - //! @copydoc ::boost::intrusive::rbtree::equal_range(const KeyType&,KeyValueCompare)const - template - std::pair - equal_range(const KeyType& key, KeyValueCompare comp) const - { return this->tree_type::lower_bound_range(key, comp); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! @copydoc ::boost::intrusive::bstree::bounded_range(const_reference,const_reference,bool,bool) - std::pair bounded_range - (const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed); - - //! @copydoc ::boost::intrusive::bstree::bounded_range(const KeyType&,const KeyType&,KeyValueCompare,bool,bool) - template - std::pair bounded_range - (const KeyType& lower_key, const KeyType& upper_key, KeyValueCompare comp, bool left_closed, bool right_closed); - - //! @copydoc ::boost::intrusive::bstree::bounded_range(const_reference,const_reference,bool,bool)const - std::pair - bounded_range(const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed) const; - - //! @copydoc ::boost::intrusive::bstree::bounded_range(const KeyType&,const KeyType&,KeyValueCompare,bool,bool)const - template - std::pair bounded_range - (const KeyType& lower_key, const KeyType& upper_key, KeyValueCompare comp, bool left_closed, bool right_closed) const; - - //! @copydoc ::boost::intrusive::bstree::s_iterator_to(reference) - static iterator s_iterator_to(reference value); - - //! @copydoc ::boost::intrusive::bstree::s_iterator_to(const_reference) - static const_iterator s_iterator_to(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::iterator_to(reference) - iterator iterator_to(reference value); - - //! @copydoc ::boost::intrusive::bstree::iterator_to(const_reference)const - const_iterator iterator_to(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::init_node(reference) - static void init_node(reference value); - - //! @copydoc ::boost::intrusive::bstree::unlink_leftmost_without_rebalance - pointer unlink_leftmost_without_rebalance(); - - //! @copydoc ::boost::intrusive::bstree::replace_node - void replace_node(iterator replace_this, reference with_this); - - //! @copydoc ::boost::intrusive::bstree::remove_node - void remove_node(reference value); - #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED -}; - -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - -template -bool operator!= (const bs_set_impl &x, const bs_set_impl &y); - -template -bool operator>(const bs_set_impl &x, const bs_set_impl &y); - -template -bool operator<=(const bs_set_impl &x, const bs_set_impl &y); - -template -bool operator>=(const bs_set_impl &x, const bs_set_impl &y); - -template -void swap(bs_set_impl &x, bs_set_impl &y); - -#endif //#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - -//! Helper metafunction to define a \c bs_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 -#else -template -#endif -struct make_bs_set -{ - /// @cond - typedef typename pack_options - < bstree_defaults, - #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) - O1, O2, O3, O4, O5 - #else - Options... - #endif - >::type packed_options; - - typedef typename detail::get_value_traits - ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; - - typedef bs_set_impl - < value_traits - , typename packed_options::compare - , typename packed_options::size_type - , packed_options::constant_time_size - , header_holder_type - > implementation_defined; - /// @endcond - typedef implementation_defined type; -}; - -#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED -#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) -template -#else -template -#endif -class bs_set - : public make_bs_set::type -{ - typedef typename make_bs_set - ::type Base; - - BOOST_MOVABLE_BUT_NOT_COPYABLE(bs_set) - public: - typedef typename Base::value_compare value_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::value)); - - explicit bs_set( const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : Base(cmp, v_traits) - {} - - template - bs_set( Iterator b, Iterator e - , const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : Base(b, e, cmp, v_traits) - {} - - bs_set(BOOST_RV_REF(bs_set) x) - : Base(::boost::move(static_cast(x))) - {} - - bs_set& operator=(BOOST_RV_REF(bs_set) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } - - static bs_set &container_from_end_iterator(iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } - - static const bs_set &container_from_end_iterator(const_iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } - - static bs_set &container_from_iterator(iterator it) - { return static_cast(Base::container_from_iterator(it)); } - - static const bs_set &container_from_iterator(const_iterator it) - { return static_cast(Base::container_from_iterator(it)); } -}; - -#endif - -//! The class template bs_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 -#else -template -#endif -class bs_multiset_impl -#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED - : public bstree_impl -#endif -{ - /// @cond - typedef bstree_impl tree_type; - - BOOST_MOVABLE_BUT_NOT_COPYABLE(bs_multiset_impl) - typedef tree_type implementation_defined; - /// @endcond - - public: - typedef typename implementation_defined::value_type value_type; - 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::bstree::bstree(const value_compare &,const value_traits &) - explicit bs_multiset_impl( const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : tree_type(cmp, v_traits) - {} - - //! @copydoc ::boost::intrusive::bstree::bstree(bool,Iterator,Iterator,const value_compare &,const value_traits &) - template - bs_multiset_impl( Iterator b, Iterator e - , const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : tree_type(false, b, e, cmp, v_traits) - {} - - //! @copydoc ::boost::intrusive::bstree::bstree(bstree &&) - bs_multiset_impl(BOOST_RV_REF(bs_multiset_impl) x) - : tree_type(::boost::move(static_cast(x))) - {} - - //! @copydoc ::boost::intrusive::bstree::operator=(bstree &&) - bs_multiset_impl& operator=(BOOST_RV_REF(bs_multiset_impl) x) - { return static_cast(tree_type::operator=(::boost::move(static_cast(x)))); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - //! @copydoc ::boost::intrusive::bstree::~bstree() - ~bs_multiset_impl(); - - //! @copydoc ::boost::intrusive::bstree::begin() - iterator begin(); - - //! @copydoc ::boost::intrusive::bstree::begin()const - const_iterator begin() const; - - //! @copydoc ::boost::intrusive::bstree::cbegin()const - const_iterator cbegin() const; - - //! @copydoc ::boost::intrusive::bstree::end() - iterator end(); - - //! @copydoc ::boost::intrusive::bstree::end()const - const_iterator end() const; - - //! @copydoc ::boost::intrusive::bstree::cend()const - const_iterator cend() const; - - //! @copydoc ::boost::intrusive::bstree::rbegin() - reverse_iterator rbegin(); - - //! @copydoc ::boost::intrusive::bstree::rbegin()const - const_reverse_iterator rbegin() const; - - //! @copydoc ::boost::intrusive::bstree::crbegin()const - const_reverse_iterator crbegin() const; - - //! @copydoc ::boost::intrusive::bstree::rend() - reverse_iterator rend(); - - //! @copydoc ::boost::intrusive::bstree::rend()const - const_reverse_iterator rend() const; - - //! @copydoc ::boost::intrusive::bstree::crend()const - const_reverse_iterator crend() const; - - //! @copydoc ::boost::intrusive::bstree::container_from_end_iterator(iterator) - static bs_multiset_impl &container_from_end_iterator(iterator end_iterator); - - //! @copydoc ::boost::intrusive::bstree::container_from_end_iterator(const_iterator) - static const bs_multiset_impl &container_from_end_iterator(const_iterator end_iterator); - - //! @copydoc ::boost::intrusive::bstree::container_from_iterator(iterator) - static bs_multiset_impl &container_from_iterator(iterator it); - - //! @copydoc ::boost::intrusive::bstree::container_from_iterator(const_iterator) - static const bs_multiset_impl &container_from_iterator(const_iterator it); - - //! @copydoc ::boost::intrusive::bstree::key_comp()const - key_compare key_comp() const; - - //! @copydoc ::boost::intrusive::bstree::value_comp()const - value_compare value_comp() const; - - //! @copydoc ::boost::intrusive::bstree::empty()const - bool empty() const; - - //! @copydoc ::boost::intrusive::bstree::size()const - size_type size() const; - - //! @copydoc ::boost::intrusive::bstree::swap - void swap(bs_multiset_impl& other); - - //! @copydoc ::boost::intrusive::bstree::clone_from - template - void clone_from(const bs_multiset_impl &src, Cloner cloner, Disposer disposer); - - #endif //#ifdef BOOST_iNTRUSIVE_DOXYGEN_INVOKED - - //! @copydoc ::boost::intrusive::bstree::insert_equal(reference) - iterator insert(reference value) - { return tree_type::insert_equal(value); } - - //! @copydoc ::boost::intrusive::bstree::insert_equal(const_iterator,reference) - iterator insert(const_iterator hint, reference value) - { return tree_type::insert_equal(hint, value); } - - //! @copydoc ::boost::intrusive::bstree::insert_equal(Iterator,Iterator) - template - void insert(Iterator b, Iterator e) - { tree_type::insert_equal(b, e); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - //! @copydoc ::boost::intrusive::bstree::insert_before - iterator insert_before(const_iterator pos, reference value); - - //! @copydoc ::boost::intrusive::bstree::push_back - void push_back(reference value); - - //! @copydoc ::boost::intrusive::bstree::push_front - void push_front(reference value); - - //! @copydoc ::boost::intrusive::bstree::erase(const_iterator) - iterator erase(const_iterator i); - - //! @copydoc ::boost::intrusive::bstree::erase(const_iterator,const_iterator) - iterator erase(const_iterator b, const_iterator e); - - //! @copydoc ::boost::intrusive::bstree::erase(const_reference) - size_type erase(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::erase(const KeyType&,KeyValueCompare) - template - size_type erase(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::bstree::erase_and_dispose(const_iterator,Disposer) - template - iterator erase_and_dispose(const_iterator i, Disposer disposer); - - //! @copydoc ::boost::intrusive::bstree::erase_and_dispose(const_iterator,const_iterator,Disposer) - template - iterator erase_and_dispose(const_iterator b, const_iterator e, Disposer disposer); - - //! @copydoc ::boost::intrusive::bstree::erase_and_dispose(const_reference, Disposer) - template - size_type erase_and_dispose(const_reference value, Disposer disposer); - - //! @copydoc ::boost::intrusive::bstree::erase_and_dispose(const KeyType&,KeyValueCompare,Disposer) - template - size_type erase_and_dispose(const KeyType& key, KeyValueCompare comp, Disposer disposer); - - //! @copydoc ::boost::intrusive::bstree::clear - void clear(); - - //! @copydoc ::boost::intrusive::bstree::clear_and_dispose - template - void clear_and_dispose(Disposer disposer); - - //! @copydoc ::boost::intrusive::bstree::count(const_reference)const - size_type count(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::count(const KeyType&,KeyValueCompare)const - template - size_type count(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::bstree::lower_bound(const_reference) - iterator lower_bound(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::lower_bound(const KeyType&,KeyValueCompare) - template - iterator lower_bound(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::bstree::lower_bound(const_reference)const - const_iterator lower_bound(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::lower_bound(const KeyType&,KeyValueCompare)const - template - const_iterator lower_bound(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::bstree::upper_bound(const_reference) - iterator upper_bound(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::upper_bound(const KeyType&,KeyValueCompare) - template - iterator upper_bound(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::bstree::upper_bound(const_reference)const - const_iterator upper_bound(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::upper_bound(const KeyType&,KeyValueCompare)const - template - const_iterator upper_bound(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::bstree::find(const_reference) - iterator find(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::find(const KeyType&,KeyValueCompare) - template - iterator find(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::bstree::find(const_reference)const - const_iterator find(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::find(const KeyType&,KeyValueCompare)const - template - const_iterator find(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::bstree::equal_range(const_reference) - std::pair equal_range(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::equal_range(const KeyType&,KeyValueCompare) - template - std::pair equal_range(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::bstree::equal_range(const_reference)const - std::pair - equal_range(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::equal_range(const KeyType&,KeyValueCompare)const - template - std::pair - equal_range(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::bstree::bounded_range(const_reference,const_reference,bool,bool) - std::pair bounded_range - (const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed); - - //! @copydoc ::boost::intrusive::bstree::bounded_range(const KeyType&,const KeyType&,KeyValueCompare,bool,bool) - template - std::pair bounded_range - (const KeyType& lower_key, const KeyType& upper_key, KeyValueCompare comp, bool left_closed, bool right_closed); - - //! @copydoc ::boost::intrusive::bstree::bounded_range(const_reference,const_reference,bool,bool)const - std::pair - bounded_range(const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed) const; - - //! @copydoc ::boost::intrusive::bstree::bounded_range(const KeyType&,const KeyType&,KeyValueCompare,bool,bool)const - template - std::pair bounded_range - (const KeyType& lower_key, const KeyType& upper_key, KeyValueCompare comp, bool left_closed, bool right_closed) const; - - //! @copydoc ::boost::intrusive::bstree::s_iterator_to(reference) - static iterator s_iterator_to(reference value); - - //! @copydoc ::boost::intrusive::bstree::s_iterator_to(const_reference) - static const_iterator s_iterator_to(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::iterator_to(reference) - iterator iterator_to(reference value); - - //! @copydoc ::boost::intrusive::bstree::iterator_to(const_reference)const - const_iterator iterator_to(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::init_node(reference) - static void init_node(reference value); - - //! @copydoc ::boost::intrusive::bstree::unlink_leftmost_without_rebalance - pointer unlink_leftmost_without_rebalance(); - - //! @copydoc ::boost::intrusive::bstree::replace_node - void replace_node(iterator replace_this, reference with_this); - - //! @copydoc ::boost::intrusive::bstree::remove_node - void remove_node(reference value); - #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED -}; - -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - -template -bool operator!= (const bs_multiset_impl &x, const bs_multiset_impl &y); - -template -bool operator>(const bs_multiset_impl &x, const bs_multiset_impl &y); - -template -bool operator<=(const bs_multiset_impl &x, const bs_multiset_impl &y); - -template -bool operator>=(const bs_multiset_impl &x, const bs_multiset_impl &y); - -template -void swap(bs_multiset_impl &x, bs_multiset_impl &y); - -#endif //#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - -//! Helper metafunction to define a \c bs_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 -#else -template -#endif -struct make_bs_multiset -{ - /// @cond - typedef typename pack_options - < bstree_defaults, - #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) - O1, O2, O3, O4, O5 - #else - Options... - #endif - >::type packed_options; - - typedef typename detail::get_value_traits - ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; - - typedef bs_multiset_impl - < value_traits - , typename packed_options::compare - , typename packed_options::size_type - , packed_options::constant_time_size - , header_holder_type - > implementation_defined; - /// @endcond - typedef implementation_defined type; -}; - -#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED - -#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) -template -#else -template -#endif -class bs_multiset - : public make_bs_multiset::type -{ - typedef typename make_bs_multiset::type Base; - - BOOST_MOVABLE_BUT_NOT_COPYABLE(bs_multiset) - - public: - typedef typename Base::value_compare value_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::value)); - - explicit bs_multiset( const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : Base(cmp, v_traits) - {} - - template - bs_multiset( Iterator b, Iterator e - , const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : Base(b, e, cmp, v_traits) - {} - - bs_multiset(BOOST_RV_REF(bs_multiset) x) - : Base(::boost::move(static_cast(x))) - {} - - bs_multiset& operator=(BOOST_RV_REF(bs_multiset) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } - - static bs_multiset &container_from_end_iterator(iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } - - static const bs_multiset &container_from_end_iterator(const_iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } - - static bs_multiset &container_from_iterator(iterator it) - { return static_cast(Base::container_from_iterator(it)); } - - static const bs_multiset &container_from_iterator(const_iterator it) - { return static_cast(Base::container_from_iterator(it)); } -}; - -#endif - -} //namespace intrusive -} //namespace boost - -#include - -#endif //BOOST_INTRUSIVE_BS_SET_HPP diff --git a/bundled/boost-1.56.0/include/boost/intrusive/bstree.hpp b/bundled/boost-1.56.0/include/boost/intrusive/bstree.hpp deleted file mode 100644 index 2af42cc910..0000000000 --- a/bundled/boost-1.56.0/include/boost/intrusive/bstree.hpp +++ /dev/null @@ -1,2110 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// -// (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/intrusive for documentation. -// -///////////////////////////////////////////////////////////////////////////// -#ifndef BOOST_INTRUSIVE_BSTREE_HPP -#define BOOST_INTRUSIVE_BSTREE_HPP - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { -namespace intrusive { - -/// @cond - -struct bstree_defaults -{ - typedef detail::default_bstree_hook proto_value_traits; - static const bool constant_time_size = true; - typedef std::size_t size_type; - typedef void compare; - static const bool floating_point = true; //For sgtree - typedef void priority; //For treap - typedef void header_holder_type; -}; - -template -struct bstbase3 -{ - typedef ValueTraits value_traits; - typedef typename value_traits::node_traits node_traits; - typedef typename node_traits::node node_type; - typedef typename get_algo::type node_algorithms; - typedef typename node_traits::node_ptr node_ptr; - typedef typename node_traits::const_node_ptr const_node_ptr; - typedef tree_iterator iterator; - typedef tree_iterator const_iterator; - typedef boost::intrusive::detail::reverse_iterator reverse_iterator; - typedef boost::intrusive::detail::reverse_iterator const_reverse_iterator; - typedef BOOST_INTRUSIVE_IMPDEF(typename value_traits::pointer) pointer; - typedef BOOST_INTRUSIVE_IMPDEF(typename value_traits::const_pointer) const_pointer; - typedef BOOST_INTRUSIVE_IMPDEF(typename pointer_traits::element_type) value_type; - typedef BOOST_INTRUSIVE_IMPDEF(value_type) key_type; - typedef BOOST_INTRUSIVE_IMPDEF(typename pointer_traits::reference) reference; - typedef BOOST_INTRUSIVE_IMPDEF(typename pointer_traits::reference) const_reference; - typedef BOOST_INTRUSIVE_IMPDEF(typename pointer_traits::difference_type) difference_type; - typedef HeaderHolder header_holder_type; - - static const bool safemode_or_autounlink = is_safe_autounlink::value; - static const bool stateful_value_traits = detail::is_stateful_value_traits::value; - static const bool has_container_from_iterator = - boost::is_same< header_holder_type, detail::default_header_holder< node_traits > >::value; - - struct holder_t : public ValueTraits - { - explicit holder_t(const ValueTraits &vtraits) - : ValueTraits(vtraits) - {} - header_holder_type root; - } holder; - - static bstbase3 &get_tree_base_from_end_iterator(const const_iterator &end_iterator) - { - BOOST_STATIC_ASSERT(has_container_from_iterator); - node_ptr p = end_iterator.pointed_node(); - header_holder_type* h = header_holder_type::get_holder(p); - holder_t *holder = get_parent_from_member(h, &holder_t::root); - bstbase3 *base = get_parent_from_member (holder, &bstbase3::holder); - return *base; - } - - bstbase3(const ValueTraits &vtraits) - : holder(vtraits) - { - node_algorithms::init_header(this->header_ptr()); - } - - node_ptr header_ptr() - { return holder.root.get_node(); } - - const_node_ptr header_ptr() const - { return holder.root.get_node(); } - - const value_traits &get_value_traits() const - { return this->holder; } - - value_traits &get_value_traits() - { return this->holder; } - - typedef typename boost::intrusive::value_traits_pointers - ::const_value_traits_ptr const_value_traits_ptr; - - const_value_traits_ptr priv_value_traits_ptr() const - { return pointer_traits::pointer_to(this->get_value_traits()); } - - iterator begin() - { return iterator(node_algorithms::begin_node(this->header_ptr()), this->priv_value_traits_ptr()); } - - const_iterator begin() const - { return cbegin(); } - - const_iterator cbegin() const - { return const_iterator(node_algorithms::begin_node(this->header_ptr()), this->priv_value_traits_ptr()); } - - iterator end() - { return iterator(node_algorithms::end_node(this->header_ptr()), this->priv_value_traits_ptr()); } - - const_iterator end() const - { return cend(); } - - const_iterator cend() const - { return const_iterator(node_algorithms::end_node(this->header_ptr()), this->priv_value_traits_ptr()); } - - iterator root() - { return iterator(node_algorithms::root_node(this->header_ptr()), this->priv_value_traits_ptr()); } - - const_iterator root() const - { return croot(); } - - const_iterator croot() const - { return const_iterator(node_algorithms::root_node(this->header_ptr()), this->priv_value_traits_ptr()); } - - reverse_iterator rbegin() - { return reverse_iterator(end()); } - - const_reverse_iterator rbegin() const - { return const_reverse_iterator(end()); } - - const_reverse_iterator crbegin() const - { return const_reverse_iterator(end()); } - - reverse_iterator rend() - { return reverse_iterator(begin()); } - - const_reverse_iterator rend() const - { return const_reverse_iterator(begin()); } - - const_reverse_iterator crend() const - { return const_reverse_iterator(begin()); } - - void replace_node(iterator replace_this, reference with_this) - { - node_algorithms::replace_node( get_value_traits().to_node_ptr(*replace_this) - , this->header_ptr() - , get_value_traits().to_node_ptr(with_this)); - if(safemode_or_autounlink) - node_algorithms::init(replace_this.pointed_node()); - } - - void rebalance() - { node_algorithms::rebalance(this->header_ptr()); } - - iterator rebalance_subtree(iterator root) - { return iterator(node_algorithms::rebalance_subtree(root.pointed_node()), this->priv_value_traits_ptr()); } - - static iterator s_iterator_to(reference value) - { - BOOST_STATIC_ASSERT((!stateful_value_traits)); - return iterator (value_traits::to_node_ptr(value), const_value_traits_ptr()); - } - - static const_iterator s_iterator_to(const_reference value) - { - BOOST_STATIC_ASSERT((!stateful_value_traits)); - return const_iterator (value_traits::to_node_ptr(*pointer_traits::const_cast_from(pointer_traits::pointer_to(value))), const_value_traits_ptr()); - } - - iterator iterator_to(reference value) - { return iterator (this->get_value_traits().to_node_ptr(value), this->priv_value_traits_ptr()); } - - const_iterator iterator_to(const_reference value) const - { return const_iterator (this->get_value_traits().to_node_ptr(*pointer_traits::const_cast_from(pointer_traits::pointer_to(value))), this->priv_value_traits_ptr()); } - - static void init_node(reference value) - { node_algorithms::init(value_traits::to_node_ptr(value)); } - -}; - -template -struct bstbase2 - //Put the (possibly empty) functor in the first position to get EBO in MSVC - : public detail::ebo_functor_holder::type> - , public bstbase3 -{ - typedef bstbase3 treeheader_t; - typedef typename treeheader_t::value_traits value_traits; - typedef typename treeheader_t::node_algorithms node_algorithms; - typedef typename get_less - < VoidOrKeyComp, typename value_traits::value_type>::type value_compare; - typedef BOOST_INTRUSIVE_IMPDEF(value_compare) key_compare; - typedef typename treeheader_t::iterator iterator; - typedef typename treeheader_t::const_iterator const_iterator; - typedef typename treeheader_t::node_ptr node_ptr; - typedef typename treeheader_t::const_node_ptr const_node_ptr; - - bstbase2(const value_compare &comp, const ValueTraits &vtraits) - : detail::ebo_functor_holder(comp), treeheader_t(vtraits) - {} - - const value_compare &comp() const - { return this->get(); } - - value_compare &comp() - { return this->get(); } - - typedef BOOST_INTRUSIVE_IMPDEF(typename value_traits::pointer) pointer; - typedef BOOST_INTRUSIVE_IMPDEF(typename value_traits::const_pointer) const_pointer; - typedef BOOST_INTRUSIVE_IMPDEF(typename pointer_traits::element_type) value_type; - typedef BOOST_INTRUSIVE_IMPDEF(value_type) key_type; - typedef BOOST_INTRUSIVE_IMPDEF(typename pointer_traits::reference) reference; - typedef BOOST_INTRUSIVE_IMPDEF(typename pointer_traits::reference) const_reference; - typedef BOOST_INTRUSIVE_IMPDEF(typename pointer_traits::difference_type) difference_type; - typedef typename node_algorithms::insert_commit_data insert_commit_data; - - value_compare value_comp() const - { return this->comp(); } - - key_compare key_comp() const - { return this->comp(); } - - //lower_bound - iterator lower_bound(const_reference value) - { return this->lower_bound(value, this->comp()); } - - const_iterator lower_bound(const_reference value) const - { return this->lower_bound(value, this->comp()); } - - template - iterator lower_bound(const KeyType &key, KeyValueCompare comp) - { - detail::key_nodeptr_comp - key_node_comp(comp, &this->get_value_traits()); - return iterator(node_algorithms::lower_bound - (this->header_ptr(), key, key_node_comp), this->priv_value_traits_ptr()); - } - - template - const_iterator lower_bound(const KeyType &key, KeyValueCompare comp) const - { - detail::key_nodeptr_comp - key_node_comp(comp, &this->get_value_traits()); - return const_iterator(node_algorithms::lower_bound - (this->header_ptr(), key, key_node_comp), this->priv_value_traits_ptr()); - } - - //upper_bound - iterator upper_bound(const_reference value) - { return this->upper_bound(value, this->comp()); } - - template - iterator upper_bound(const KeyType &key, KeyValueCompare comp) - { - detail::key_nodeptr_comp - key_node_comp(comp, &this->get_value_traits()); - return iterator(node_algorithms::upper_bound - (this->header_ptr(), key, key_node_comp), this->priv_value_traits_ptr()); - } - - const_iterator upper_bound(const_reference value) const - { return this->upper_bound(value, this->comp()); } - - template - const_iterator upper_bound(const KeyType &key, KeyValueCompare comp) const - { - detail::key_nodeptr_comp - key_node_comp(comp, &this->get_value_traits()); - return const_iterator(node_algorithms::upper_bound - (this->header_ptr(), key, key_node_comp), this->priv_value_traits_ptr()); - } - - //find - iterator find(const_reference value) - { return this->find(value, this->comp()); } - - template - iterator find(const KeyType &key, KeyValueCompare comp) - { - detail::key_nodeptr_comp - key_node_comp(comp, &this->get_value_traits()); - return iterator - (node_algorithms::find(this->header_ptr(), key, key_node_comp), this->priv_value_traits_ptr()); - } - - const_iterator find(const_reference value) const - { return this->find(value, this->comp()); } - - template - const_iterator find(const KeyType &key, KeyValueCompare comp) const - { - detail::key_nodeptr_comp - key_node_comp(comp, &this->get_value_traits()); - return const_iterator - (node_algorithms::find(this->header_ptr(), key, key_node_comp), this->priv_value_traits_ptr()); - } - - //equal_range - std::pair equal_range(const_reference value) - { return this->equal_range(value, this->comp()); } - - template - std::pair equal_range(const KeyType &key, KeyValueCompare comp) - { - detail::key_nodeptr_comp - key_node_comp(comp, &this->get_value_traits()); - std::pair ret - (node_algorithms::equal_range(this->header_ptr(), key, key_node_comp)); - return std::pair( iterator(ret.first, this->priv_value_traits_ptr()) - , iterator(ret.second, this->priv_value_traits_ptr())); - } - - std::pair - equal_range(const_reference value) const - { return this->equal_range(value, this->comp()); } - - template - std::pair - equal_range(const KeyType &key, KeyValueCompare comp) const - { - detail::key_nodeptr_comp - key_node_comp(comp, &this->get_value_traits()); - std::pair ret - (node_algorithms::equal_range(this->header_ptr(), key, key_node_comp)); - return std::pair( const_iterator(ret.first, this->priv_value_traits_ptr()) - , const_iterator(ret.second, this->priv_value_traits_ptr())); - } - - //lower_bound_range - std::pair lower_bound_range(const_reference value) - { return this->lower_bound_range(value, this->comp()); } - - template - std::pair lower_bound_range(const KeyType &key, KeyValueCompare comp) - { - detail::key_nodeptr_comp - key_node_comp(comp, &this->get_value_traits()); - std::pair ret - (node_algorithms::lower_bound_range(this->header_ptr(), key, key_node_comp)); - return std::pair( iterator(ret.first, this->priv_value_traits_ptr()) - , iterator(ret.second, this->priv_value_traits_ptr())); - } - - std::pair - lower_bound_range(const_reference value) const - { return this->lower_bound_range(value, this->comp()); } - - template - std::pair - lower_bound_range(const KeyType &key, KeyValueCompare comp) const - { - detail::key_nodeptr_comp - key_node_comp(comp, &this->get_value_traits()); - std::pair ret - (node_algorithms::lower_bound_range(this->header_ptr(), key, key_node_comp)); - return std::pair( const_iterator(ret.first, this->priv_value_traits_ptr()) - , const_iterator(ret.second, this->priv_value_traits_ptr())); - } - - //bounded_range - std::pair bounded_range - (const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed) - { return this->bounded_range(lower_value, upper_value, this->comp(), left_closed, right_closed); } - - template - std::pair bounded_range - (const KeyType &lower_key, const KeyType &upper_key, KeyValueCompare comp, bool left_closed, bool right_closed) - { - detail::key_nodeptr_comp - key_node_comp(comp, &this->get_value_traits()); - std::pair ret - (node_algorithms::bounded_range - (this->header_ptr(), lower_key, upper_key, key_node_comp, left_closed, right_closed)); - return std::pair( iterator(ret.first, this->priv_value_traits_ptr()) - , iterator(ret.second, this->priv_value_traits_ptr())); - } - - std::pair bounded_range - (const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed) const - { return this->bounded_range(lower_value, upper_value, this->comp(), left_closed, right_closed); } - - template - std::pair bounded_range - (const KeyType &lower_key, const KeyType &upper_key, KeyValueCompare comp, bool left_closed, bool right_closed) const - { - detail::key_nodeptr_comp - key_node_comp(comp, &this->get_value_traits()); - std::pair ret - (node_algorithms::bounded_range - (this->header_ptr(), lower_key, upper_key, key_node_comp, left_closed, right_closed)); - return std::pair( const_iterator(ret.first, this->priv_value_traits_ptr()) - , const_iterator(ret.second, this->priv_value_traits_ptr())); - } - - //insert_unique_check - template - std::pair insert_unique_check - (const KeyType &key, KeyValueCompare key_value_comp, insert_commit_data &commit_data) - { - detail::key_nodeptr_comp - ocomp(key_value_comp, &this->get_value_traits()); - std::pair ret = - (node_algorithms::insert_unique_check - (this->header_ptr(), key, ocomp, commit_data)); - return std::pair(iterator(ret.first, this->priv_value_traits_ptr()), ret.second); - } - - template - std::pair insert_unique_check - (const_iterator hint, const KeyType &key - ,KeyValueCompare key_value_comp, insert_commit_data &commit_data) - { - detail::key_nodeptr_comp - ocomp(key_value_comp, &this->get_value_traits()); - std::pair ret = - (node_algorithms::insert_unique_check - (this->header_ptr(), hint.pointed_node(), key, ocomp, commit_data)); - return std::pair(iterator(ret.first, this->priv_value_traits_ptr()), ret.second); - } -}; - -//Due to MSVC's EBO implementation, to save space and maintain the ABI, we must put the non-empty size member -//in the first position, but if size is not going to be stored then we'll use an specialization -//that doesn't inherit from size_holder -template -struct bstbase_hack - : public detail::size_holder - , public bstbase2 < ValueTraits, VoidOrKeyComp, AlgoType, HeaderHolder> -{ - typedef bstbase2< ValueTraits, VoidOrKeyComp, AlgoType, HeaderHolder> base_type; - typedef typename base_type::value_compare value_compare; - typedef SizeType size_type; - typedef typename base_type::node_traits node_traits; - typedef typename get_algo - ::type algo_type; - - bstbase_hack(const value_compare & comp, const ValueTraits &vtraits) - : base_type(comp, vtraits) - { - this->sz_traits().set_size(size_type(0)); - } - - typedef detail::size_holder size_traits; - - size_traits &sz_traits() - { return static_cast(*this); } - - const size_traits &sz_traits() const - { return static_cast(*this); } -}; - -//Specialization for ConstantTimeSize == false -template -struct bstbase_hack - : public bstbase2 < ValueTraits, VoidOrKeyComp, AlgoType, HeaderHolder> -{ - typedef bstbase2< ValueTraits, VoidOrKeyComp, AlgoType, HeaderHolder> base_type; - typedef typename base_type::value_compare value_compare; - bstbase_hack(const value_compare & comp, const ValueTraits &vtraits) - : base_type(comp, vtraits) - {} - - typedef detail::size_holder size_traits; - - size_traits &sz_traits() - { return s_size_traits; } - - const size_traits &sz_traits() const - { return s_size_traits; } - - static size_traits s_size_traits; -}; - -template -detail::size_holder bstbase_hack::s_size_traits; - -//This class will -template -struct bstbase - : public bstbase_hack< ValueTraits, VoidOrKeyComp, ConstantTimeSize, SizeType, AlgoType, HeaderHolder> -{ - typedef bstbase_hack< ValueTraits, VoidOrKeyComp, ConstantTimeSize, SizeType, AlgoType, HeaderHolder> base_type; - typedef ValueTraits value_traits; - typedef typename base_type::value_compare value_compare; - typedef value_compare key_compare; - typedef typename base_type::const_reference const_reference; - typedef typename base_type::reference reference; - typedef typename base_type::iterator iterator; - typedef typename base_type::const_iterator const_iterator; - typedef typename base_type::node_traits node_traits; - typedef typename get_algo - ::type node_algorithms; - typedef SizeType size_type; - - bstbase(const value_compare & comp, const ValueTraits &vtraits) - : base_type(comp, vtraits) - {} - - //Detach all inserted nodes. This will add exception safety to bstree_impl - //constructors inserting elements. - ~bstbase() - { - if(is_safe_autounlink::value){ - node_algorithms::clear_and_dispose - ( this->header_ptr() - , detail::node_disposer - (detail::null_disposer(), &this->get_value_traits())); - node_algorithms::init(this->header_ptr()); - } - } -}; - - -/// @endcond - -//! The class template bstree is an unbalanced intrusive binary search tree -//! container. The no-throw guarantee holds only, if the value_compare object -//! doesn't throw. -//! -//! The complexity guarantees only hold if the tree is balanced, logarithmic -//! complexity would increase to linear if the tree is totally unbalanced. -//! -//! 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 -#else -template -#endif -class bstree_impl - : public bstbase -{ - public: - /// @cond - typedef bstbase data_type; - typedef tree_iterator iterator_type; - typedef tree_iterator const_iterator_type; - /// @endcond - - typedef BOOST_INTRUSIVE_IMPDEF(ValueTraits) value_traits; - typedef BOOST_INTRUSIVE_IMPDEF(typename value_traits::pointer) pointer; - typedef BOOST_INTRUSIVE_IMPDEF(typename value_traits::const_pointer) const_pointer; - typedef BOOST_INTRUSIVE_IMPDEF(typename pointer_traits::element_type) value_type; - typedef BOOST_INTRUSIVE_IMPDEF(value_type) key_type; - typedef BOOST_INTRUSIVE_IMPDEF(typename pointer_traits::reference) reference; - typedef BOOST_INTRUSIVE_IMPDEF(typename pointer_traits::reference) const_reference; - typedef BOOST_INTRUSIVE_IMPDEF(typename pointer_traits::difference_type) difference_type; - typedef BOOST_INTRUSIVE_IMPDEF(SizeType) size_type; - typedef BOOST_INTRUSIVE_IMPDEF(typename data_type::value_compare) value_compare; - typedef BOOST_INTRUSIVE_IMPDEF(value_compare) key_compare; - typedef BOOST_INTRUSIVE_IMPDEF(iterator_type) iterator; - typedef BOOST_INTRUSIVE_IMPDEF(const_iterator_type) const_iterator; - typedef BOOST_INTRUSIVE_IMPDEF(boost::intrusive::detail::reverse_iterator) reverse_iterator; - typedef BOOST_INTRUSIVE_IMPDEF(boost::intrusive::detail::reverse_iterator) const_reverse_iterator; - typedef BOOST_INTRUSIVE_IMPDEF(typename value_traits::node_traits) node_traits; - typedef BOOST_INTRUSIVE_IMPDEF(typename node_traits::node) node; - typedef BOOST_INTRUSIVE_IMPDEF(typename node_traits::node_ptr) node_ptr; - typedef BOOST_INTRUSIVE_IMPDEF(typename node_traits::const_node_ptr) const_node_ptr; - /// @cond - typedef typename get_algo::type algo_type; - /// @endcond - typedef BOOST_INTRUSIVE_IMPDEF(algo_type) node_algorithms; - - static const bool constant_time_size = ConstantTimeSize; - static const bool stateful_value_traits = detail::is_stateful_value_traits::value; - /// @cond - private: - - //noncopyable - BOOST_MOVABLE_BUT_NOT_COPYABLE(bstree_impl) - - static const bool safemode_or_autounlink = is_safe_autounlink::value; - - //Constant-time size is incompatible with auto-unlink hooks! - BOOST_STATIC_ASSERT(!(constant_time_size && ((int)value_traits::link_mode == (int)auto_unlink))); - - - protected: - - - /// @endcond - - public: - - typedef typename node_algorithms::insert_commit_data insert_commit_data; - - //! Effects: Constructs an empty container. - //! - //! Complexity: Constant. - //! - //! Throws: If value_traits::node_traits::node - //! constructor throws (this does not happen with predefined Boost.Intrusive hooks) - //! or the copy constructor of the value_compare object throws. Basic guarantee. - explicit bstree_impl( const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : data_type(cmp, v_traits) - {} - - //! Requires: Dereferencing iterator must yield an lvalue of type value_type. - //! cmp must be a comparison function that induces a strict weak ordering. - //! - //! Effects: Constructs an empty container and inserts elements from - //! [b, e). - //! - //! Complexity: Linear in N if [b, e) is already sorted using - //! comp and otherwise N * log N, where N is the distance between first and last. - //! - //! Throws: If value_traits::node_traits::node - //! constructor throws (this does not happen with predefined Boost.Intrusive hooks) - //! or the copy constructor/operator() of the value_compare object throws. Basic guarantee. - template - bstree_impl( bool unique, Iterator b, Iterator e - , const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : data_type(cmp, v_traits) - { - //bstbase releases elements in case of exceptions - if(unique) - this->insert_unique(b, e); - else - this->insert_equal(b, e); - } - - //! Effects: to-do - //! - bstree_impl(BOOST_RV_REF(bstree_impl) x) - : data_type(::boost::move(x.comp()), ::boost::move(x.get_value_traits())) - { - this->swap(x); - } - - //! Effects: to-do - //! - bstree_impl& operator=(BOOST_RV_REF(bstree_impl) x) - { this->swap(x); return *this; } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - //! Effects: Detaches all elements from this. The objects in the set - //! are not deleted (i.e. no destructors are called), but the nodes according to - //! the value_traits template parameter are reinitialized and thus can be reused. - //! - //! Complexity: Linear to elements contained in *this. - //! - //! Throws: Nothing. - ~bstree_impl() - {} - - //! Effects: Returns an iterator pointing to the beginning of the container. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - iterator begin(); - - //! Effects: Returns a const_iterator pointing to the beginning of the container. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - const_iterator begin() const; - - //! Effects: Returns a const_iterator pointing to the beginning of the container. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - const_iterator cbegin() const; - - //! Effects: Returns an iterator pointing to the end of the container. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - iterator end(); - - //! Effects: Returns a const_iterator pointing to the end of the container. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - const_iterator end() const; - - //! Effects: Returns a const_iterator pointing to the end of the container. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - const_iterator cend() const; - - //! Effects: Returns a reverse_iterator pointing to the beginning of the - //! reversed container. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - reverse_iterator rbegin(); - - //! Effects: Returns a const_reverse_iterator pointing to the beginning - //! of the reversed container. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - const_reverse_iterator rbegin() const; - - //! Effects: Returns a const_reverse_iterator pointing to the beginning - //! of the reversed container. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - const_reverse_iterator crbegin() const; - - //! Effects: Returns a reverse_iterator pointing to the end - //! of the reversed container. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - reverse_iterator rend(); - - //! Effects: Returns a const_reverse_iterator pointing to the end - //! of the reversed container. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - const_reverse_iterator rend() const; - - //! Effects: Returns a const_reverse_iterator pointing to the end - //! of the reversed container. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - const_reverse_iterator crend() const; - - #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! Precondition: end_iterator must be a valid end iterator - //! of the container. - //! - //! Effects: Returns a const reference to the container associated to the end iterator - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - static bstree_impl &container_from_end_iterator(iterator end_iterator) - { - return static_cast - (data_type::get_tree_base_from_end_iterator(end_iterator)); - } - - //! Precondition: end_iterator must be a valid end const_iterator - //! of the container. - //! - //! Effects: Returns a const reference to the container associated to the iterator - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - static const bstree_impl &container_from_end_iterator(const_iterator end_iterator) - { - return static_cast - (data_type::get_tree_base_from_end_iterator(end_iterator)); - } - - //! Precondition: it must be a valid iterator - //! of the container. - //! - //! Effects: Returns a const reference to the container associated to the iterator - //! - //! Throws: Nothing. - //! - //! Complexity: Logarithmic. - static bstree_impl &container_from_iterator(iterator it) - { return container_from_end_iterator(it.end_iterator_from_it()); } - - //! Precondition: it must be a valid end const_iterator - //! of container. - //! - //! Effects: Returns a const reference to the container associated to the end iterator - //! - //! Throws: Nothing. - //! - //! Complexity: Logarithmic. - static const bstree_impl &container_from_iterator(const_iterator it) - { return container_from_end_iterator(it.end_iterator_from_it()); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! Effects: Returns the key_compare object used by the container. - //! - //! Complexity: Constant. - //! - //! Throws: If value_compare copy-constructor throws. - key_compare key_comp() const; - - //! Effects: Returns the value_compare object used by the container. - //! - //! Complexity: Constant. - //! - //! Throws: If value_compare copy-constructor throws. - value_compare value_comp() const; - - #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! Effects: Returns true if the container is empty. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - bool empty() const - { - if(ConstantTimeSize){ - return !this->data_type::sz_traits().get_size(); - } - else{ - return algo_type::unique(this->header_ptr()); - } - } - - //! Effects: Returns the number of elements stored in the container. - //! - //! Complexity: Linear to elements contained in *this - //! if constant-time size option is disabled. Constant time otherwise. - //! - //! Throws: Nothing. - size_type size() const - { - if(constant_time_size) - return this->sz_traits().get_size(); - else{ - return (size_type)node_algorithms::size(this->header_ptr()); - } - } - - //! Effects: Swaps the contents of two containers. - //! - //! Complexity: Constant. - //! - //! Throws: If the comparison functor's swap call throws. - void swap(bstree_impl& other) - { - //This can throw - using std::swap; - swap(this->comp(), this->comp()); - //These can't throw - node_algorithms::swap_tree(this->header_ptr(), node_ptr(other.header_ptr())); - if(constant_time_size){ - size_type backup = this->sz_traits().get_size(); - this->sz_traits().set_size(other.sz_traits().get_size()); - other.sz_traits().set_size(backup); - } - } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! Cloner should yield to nodes equivalent to the original nodes. - //! - //! Effects: Erases all the elements from *this - //! calling Disposer::operator()(pointer), clones all the - //! elements from src calling Cloner::operator()(const_reference ) - //! and inserts them on *this. Copies the predicate from the source container. - //! - //! If cloner throws, all cloned elements are unlinked and disposed - //! calling Disposer::operator()(pointer). - //! - //! Complexity: Linear to erased plus inserted elements. - //! - //! Throws: If cloner throws or predicate copy assignment throws. Basic guarantee. - template - void clone_from(const bstree_impl &src, Cloner cloner, Disposer disposer) - { - this->clear_and_dispose(disposer); - if(!src.empty()){ - detail::exception_disposer - rollback(*this, disposer); - node_algorithms::clone - (const_node_ptr(src.header_ptr()) - ,node_ptr(this->header_ptr()) - ,detail::node_cloner (cloner, &this->get_value_traits()) - ,detail::node_disposer(disposer, &this->get_value_traits())); - this->sz_traits().set_size(src.sz_traits().get_size()); - this->comp() = src.comp(); - rollback.release(); - } - } - - //! Requires: value must be an lvalue - //! - //! Effects: Inserts value into the container before the upper bound. - //! - //! Complexity: Average complexity for insert element is at - //! most logarithmic. - //! - //! Throws: If the internal value_compare ordering function throws. Strong guarantee. - //! - //! Note: Does not affect the validity of iterators and references. - //! No copy-constructors are called. - iterator insert_equal(reference value) - { - detail::key_nodeptr_comp - key_node_comp(this->comp(), &this->get_value_traits()); - node_ptr to_insert(this->get_value_traits().to_node_ptr(value)); - if(safemode_or_autounlink) - BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(node_algorithms::unique(to_insert)); - iterator ret(node_algorithms::insert_equal_upper_bound - (this->header_ptr(), to_insert, key_node_comp), this->priv_value_traits_ptr()); - this->sz_traits().increment(); - return ret; - } - - //! Requires: value must be an lvalue, and "hint" must be - //! a valid iterator. - //! - //! Effects: Inserts x into the container, using "hint" as a hint to - //! where it will be inserted. If "hint" is the upper_bound - //! the insertion takes constant time (two comparisons in the worst case) - //! - //! Complexity: Logarithmic in general, but it is amortized - //! constant time if t is inserted immediately before hint. - //! - //! Throws: If the internal value_compare ordering function throws. Strong guarantee. - //! - //! Note: Does not affect the validity of iterators and references. - //! No copy-constructors are called. - iterator insert_equal(const_iterator hint, reference value) - { - detail::key_nodeptr_comp - key_node_comp(this->comp(), &this->get_value_traits()); - node_ptr to_insert(this->get_value_traits().to_node_ptr(value)); - if(safemode_or_autounlink) - BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(node_algorithms::unique(to_insert)); - iterator ret(node_algorithms::insert_equal - (this->header_ptr(), hint.pointed_node(), to_insert, key_node_comp), this->priv_value_traits_ptr()); - this->sz_traits().increment(); - return ret; - } - - //! Requires: Dereferencing iterator must yield an lvalue - //! of type value_type. - //! - //! Effects: Inserts a each element of a range into the container - //! before the upper bound of the key of each element. - //! - //! Complexity: Insert range is in general O(N * log(N)), where N is the - //! size of the range. However, it is linear in N if the range is already sorted - //! by value_comp(). - //! - //! Throws: Nothing. - //! - //! Note: Does not affect the validity of iterators and references. - //! No copy-constructors are called. - template - void insert_equal(Iterator b, Iterator e) - { - iterator iend(this->end()); - for (; b != e; ++b) - this->insert_equal(iend, *b); - } - - //! Requires: value must be an lvalue - //! - //! Effects: Inserts value into the container if the value - //! is not already present. - //! - //! Complexity: Average complexity for insert element is at - //! most logarithmic. - //! - //! Throws: Nothing. - //! - //! Note: Does not affect the validity of iterators and references. - //! No copy-constructors are called. - std::pair insert_unique(reference value) - { - insert_commit_data commit_data; - std::pair ret = this->insert_unique_check(value, this->comp(), commit_data); - if(!ret.second) - return ret; - return std::pair (this->insert_unique_commit(value, commit_data), true); - } - - //! Requires: value must be an lvalue, and "hint" must be - //! a valid iterator - //! - //! Effects: Tries to insert x into the container, using "hint" as a hint - //! to where it will be inserted. - //! - //! Complexity: Logarithmic in general, but it is amortized - //! constant time (two comparisons in the worst case) - //! if t is inserted immediately before hint. - //! - //! Throws: Nothing. - //! - //! Note: Does not affect the validity of iterators and references. - //! No copy-constructors are called. - iterator insert_unique(const_iterator hint, reference value) - { - insert_commit_data commit_data; - std::pair ret = this->insert_unique_check(hint, value, this->comp(), commit_data); - if(!ret.second) - return ret.first; - return this->insert_unique_commit(value, commit_data); - } - - //! Requires: Dereferencing iterator must yield an lvalue - //! of type value_type. - //! - //! Effects: Tries to insert each element of a range into the container. - //! - //! Complexity: Insert range is in general O(N * log(N)), where N is the - //! size of the range. However, it is linear in N if the range is already sorted - //! by value_comp(). - //! - //! Throws: Nothing. - //! - //! Note: Does not affect the validity of iterators and references. - //! No copy-constructors are called. - template - void insert_unique(Iterator b, Iterator e) - { - if(this->empty()){ - iterator iend(this->end()); - for (; b != e; ++b) - this->insert_unique(iend, *b); - } - else{ - for (; b != e; ++b) - this->insert_unique(*b); - } - } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! Requires: key_value_comp must be a comparison function that induces - //! the same strict weak ordering as value_compare. The difference is that - //! key_value_comp compares an arbitrary key with the contained values. - //! - //! Effects: Checks if a value can be inserted in the container, using - //! a user provided key instead of the value itself. - //! - //! Returns: If there is an equivalent value - //! returns a pair containing an iterator to the already present value - //! and false. If the value can be inserted returns true in the returned - //! pair boolean and fills "commit_data" that is meant to be used with - //! the "insert_commit" function. - //! - //! Complexity: Average complexity is at most logarithmic. - //! - //! Throws: If the key_value_comp ordering function throws. Strong guarantee. - //! - //! Notes: This function is used to improve performance when constructing - //! a value_type is expensive: if there is an equivalent value - //! the constructed object must be discarded. Many times, the part of the - //! node that is used to impose the order is much cheaper to construct - //! than the value_type and this function offers the possibility to use that - //! part to check if the insertion will be successful. - //! - //! If the check is successful, the user can construct the value_type and use - //! "insert_commit" to insert the object in constant-time. This gives a total - //! logarithmic complexity to the insertion: check(O(log(N)) + commit(O(1)). - //! - //! "commit_data" remains valid for a subsequent "insert_commit" only if no more - //! objects are inserted or erased from the container. - template - std::pair insert_unique_check - (const KeyType &key, KeyValueCompare key_value_comp, insert_commit_data &commit_data); - - //! Requires: key_value_comp must be a comparison function that induces - //! the same strict weak ordering as value_compare. The difference is that - //! key_value_comp compares an arbitrary key with the contained values. - //! - //! Effects: Checks if a value can be inserted in the container, using - //! a user provided key instead of the value itself, using "hint" - //! as a hint to where it will be inserted. - //! - //! Returns: If there is an equivalent value - //! returns a pair containing an iterator to the already present value - //! and false. If the value can be inserted returns true in the returned - //! pair boolean and fills "commit_data" that is meant to be used with - //! the "insert_commit" function. - //! - //! Complexity: Logarithmic in general, but it's amortized - //! constant time if t is inserted immediately before hint. - //! - //! Throws: If the key_value_comp ordering function throws. Strong guarantee. - //! - //! Notes: This function is used to improve performance when constructing - //! a value_type is expensive: if there is an equivalent value - //! the constructed object must be discarded. Many times, the part of the - //! constructing that is used to impose the order is much cheaper to construct - //! than the value_type and this function offers the possibility to use that key - //! to check if the insertion will be successful. - //! - //! If the check is successful, the user can construct the value_type and use - //! "insert_commit" to insert the object in constant-time. This can give a total - //! constant-time complexity to the insertion: check(O(1)) + commit(O(1)). - //! - //! "commit_data" remains valid for a subsequent "insert_commit" only if no more - //! objects are inserted or erased from the container. - template - std::pair insert_unique_check - (const_iterator hint, const KeyType &key - ,KeyValueCompare key_value_comp, insert_commit_data &commit_data); - - #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! Requires: value must be an lvalue of type value_type. commit_data - //! must have been obtained from a previous call to "insert_check". - //! No objects should have been inserted or erased from the container between - //! the "insert_check" that filled "commit_data" and the call to "insert_commit". - //! - //! Effects: Inserts the value in the container using the information obtained - //! from the "commit_data" that a previous "insert_check" filled. - //! - //! Returns: An iterator to the newly inserted object. - //! - //! Complexity: Constant time. - //! - //! Throws: Nothing. - //! - //! Notes: This function has only sense if a "insert_check" has been - //! previously executed to fill "commit_data". No value should be inserted or - //! erased between the "insert_check" and "insert_commit" calls. - iterator insert_unique_commit(reference value, const insert_commit_data &commit_data) - { - node_ptr to_insert(this->get_value_traits().to_node_ptr(value)); - if(safemode_or_autounlink) - BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(node_algorithms::unique(to_insert)); - node_algorithms::insert_unique_commit - (this->header_ptr(), to_insert, commit_data); - this->sz_traits().increment(); - return iterator(to_insert, this->priv_value_traits_ptr()); - } - - //! Requires: value must be an lvalue, "pos" must be - //! a valid iterator (or end) and must be the succesor of value - //! once inserted according to the predicate - //! - //! Effects: Inserts x into the container before "pos". - //! - //! Complexity: Constant time. - //! - //! Throws: Nothing. - //! - //! Note: This function does not check preconditions so if "pos" is not - //! the successor of "value" container ordering invariant will be broken. - //! This is a low-level function to be used only for performance reasons - //! by advanced users. - iterator insert_before(const_iterator pos, reference value) - { - node_ptr to_insert(this->get_value_traits().to_node_ptr(value)); - if(safemode_or_autounlink) - BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(node_algorithms::unique(to_insert)); - this->sz_traits().increment(); - return iterator(node_algorithms::insert_before - (this->header_ptr(), pos.pointed_node(), to_insert), this->priv_value_traits_ptr()); - } - - //! Requires: value must be an lvalue, and it must be no less - //! than the greatest inserted key - //! - //! Effects: Inserts x into the container in the last position. - //! - //! Complexity: Constant time. - //! - //! Throws: Nothing. - //! - //! Note: This function does not check preconditions so if value is - //! less than the greatest inserted key container ordering invariant will be broken. - //! This function is slightly more efficient than using "insert_before". - //! This is a low-level function to be used only for performance reasons - //! by advanced users. - void push_back(reference value) - { - node_ptr to_insert(this->get_value_traits().to_node_ptr(value)); - if(safemode_or_autounlink) - BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(node_algorithms::unique(to_insert)); - this->sz_traits().increment(); - node_algorithms::push_back(this->header_ptr(), to_insert); - } - - //! Requires: value must be an lvalue, and it must be no greater - //! than the minimum inserted key - //! - //! Effects: Inserts x into the container in the first position. - //! - //! Complexity: Constant time. - //! - //! Throws: Nothing. - //! - //! Note: This function does not check preconditions so if value is - //! greater than the minimum inserted key container ordering invariant will be broken. - //! This function is slightly more efficient than using "insert_before". - //! This is a low-level function to be used only for performance reasons - //! by advanced users. - void push_front(reference value) - { - node_ptr to_insert(this->get_value_traits().to_node_ptr(value)); - if(safemode_or_autounlink) - BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(node_algorithms::unique(to_insert)); - this->sz_traits().increment(); - node_algorithms::push_front(this->header_ptr(), to_insert); - } - - //! Effects: Erases the element pointed to by pos. - //! - //! Complexity: Average complexity for erase element is constant time. - //! - //! Throws: Nothing. - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased elements. No destructors are called. - iterator erase(const_iterator i) - { - const_iterator ret(i); - ++ret; - node_ptr to_erase(i.pointed_node()); - if(safemode_or_autounlink) - BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(!node_algorithms::unique(to_erase)); - node_algorithms::erase(this->header_ptr(), to_erase); - this->sz_traits().decrement(); - if(safemode_or_autounlink) - node_algorithms::init(to_erase); - return ret.unconst(); - } - - //! Effects: Erases the range pointed to by b end e. - //! - //! Complexity: Average complexity for erase range is at most - //! O(log(size() + N)), where N is the number of elements in the range. - //! - //! Throws: Nothing. - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased elements. No destructors are called. - iterator erase(const_iterator b, const_iterator e) - { size_type n; return this->private_erase(b, e, n); } - - //! Effects: Erases all the elements with the given value. - //! - //! Returns: The number of erased elements. - //! - //! Complexity: O(log(size() + N). - //! - //! Throws: Nothing. - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased elements. No destructors are called. - size_type erase(const_reference value) - { return this->erase(value, this->comp()); } - - //! Effects: Erases all the elements with the given key. - //! according to the comparison functor "comp". - //! - //! Returns: The number of erased elements. - //! - //! Complexity: O(log(size() + N). - //! - //! Throws: Nothing. - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased elements. No destructors are called. - template - size_type erase(const KeyType& key, KeyValueCompare comp - /// @cond - , typename detail::enable_if_c::value >::type * = 0 - /// @endcond - ) - { - std::pair p = this->equal_range(key, comp); - size_type n; - this->private_erase(p.first, p.second, n); - return n; - } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Erases the element pointed to by pos. - //! Disposer::operator()(pointer) is called for the removed element. - //! - //! Complexity: Average complexity for erase element is constant time. - //! - //! Throws: Nothing. - //! - //! Note: Invalidates the iterators - //! to the erased elements. - template - iterator erase_and_dispose(const_iterator i, Disposer disposer) - { - node_ptr to_erase(i.pointed_node()); - iterator ret(this->erase(i)); - disposer(this->get_value_traits().to_value_ptr(to_erase)); - return ret; - } - - #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - template - iterator erase_and_dispose(iterator i, Disposer disposer) - { return this->erase_and_dispose(const_iterator(i), disposer); } - #endif - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Erases all the elements with the given value. - //! Disposer::operator()(pointer) is called for the removed elements. - //! - //! Returns: The number of erased elements. - //! - //! Complexity: O(log(size() + N). - //! - //! Throws: Nothing. - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased elements. No destructors are called. - template - size_type erase_and_dispose(const_reference value, Disposer disposer) - { - std::pair p = this->equal_range(value); - size_type n; - this->private_erase(p.first, p.second, n, disposer); - return n; - } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Erases the range pointed to by b end e. - //! Disposer::operator()(pointer) is called for the removed elements. - //! - //! Complexity: Average complexity for erase range is at most - //! O(log(size() + N)), where N is the number of elements in the range. - //! - //! Throws: Nothing. - //! - //! Note: Invalidates the iterators - //! to the erased elements. - template - iterator erase_and_dispose(const_iterator b, const_iterator e, Disposer disposer) - { size_type n; return this->private_erase(b, e, n, disposer); } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Erases all the elements with the given key. - //! according to the comparison functor "comp". - //! Disposer::operator()(pointer) is called for the removed elements. - //! - //! Returns: The number of erased elements. - //! - //! Complexity: O(log(size() + N). - //! - //! Throws: Nothing. - //! - //! Note: Invalidates the iterators - //! to the erased elements. - template - size_type erase_and_dispose(const KeyType& key, KeyValueCompare comp, Disposer disposer - /// @cond - , typename detail::enable_if_c::value >::type * = 0 - /// @endcond - ) - { - std::pair p = this->equal_range(key, comp); - size_type n; - this->private_erase(p.first, p.second, n, disposer); - return n; - } - - //! Effects: Erases all of the elements. - //! - //! Complexity: Linear to the number of elements on the container. - //! if it's a safe-mode or auto-unlink value_type. Constant time otherwise. - //! - //! Throws: Nothing. - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased elements. No destructors are called. - void clear() - { - if(safemode_or_autounlink){ - this->clear_and_dispose(detail::null_disposer()); - } - else{ - node_algorithms::init_header(this->header_ptr()); - this->sz_traits().set_size(0); - } - } - - //! Effects: Erases all of the elements calling disposer(p) for - //! each node to be erased. - //! Complexity: Average complexity for is at most O(log(size() + N)), - //! where N is the number of elements in the container. - //! - //! Throws: Nothing. - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased elements. Calls N times to disposer functor. - template - void clear_and_dispose(Disposer disposer) - { - node_algorithms::clear_and_dispose(this->header_ptr() - , detail::node_disposer(disposer, &this->get_value_traits())); - node_algorithms::init_header(this->header_ptr()); - this->sz_traits().set_size(0); - } - - //! Effects: Returns the number of contained elements with the given value - //! - //! Complexity: Logarithmic to the number of elements contained plus lineal - //! to number of objects with the given value. - //! - //! Throws: If `value_compare` throws. - size_type count(const_reference value) const - { return size_type(this->count(value, this->comp())); } - - //! Effects: Returns the number of contained elements with the given key - //! - //! Complexity: Logarithmic to the number of elements contained plus lineal - //! to number of objects with the given key. - //! - //! Throws: If `comp` throws. - template - size_type count(const KeyType &key, KeyValueCompare comp) const - { - std::pair ret = this->equal_range(key, comp); - return size_type(std::distance(ret.first, ret.second)); - } - - #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - - //Add non-const overloads to theoretically const members - //as some algorithms have different behavior when non-const versions are used (like splay trees). - size_type count(const_reference value) - { return size_type(this->count(value, this->comp())); } - - template - size_type count(const KeyType &key, KeyValueCompare comp) - { - std::pair ret = this->equal_range(key, comp); - return size_type(std::distance(ret.first, ret.second)); - } - - #else //defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - - //! Effects: Returns an iterator to the first element whose - //! key is not less than k or end() if that element does not exist. - //! - //! Complexity: Logarithmic. - //! - //! Throws: If `value_compare` throws. - iterator lower_bound(const_reference value); - - //! Effects: Returns an iterator to the first element whose - //! key is not less than k or end() if that element does not exist. - //! - //! Complexity: Logarithmic. - //! - //! Throws: If `value_compare` throws. - const_iterator lower_bound(const_reference value) const; - - //! Effects: Returns an iterator to the first element whose - //! key is not less than k or end() if that element does not exist. - //! - //! Complexity: Logarithmic. - //! - //! Throws: If `comp` throws. - template - iterator lower_bound(const KeyType &key, KeyValueCompare comp); - - //! Effects: Returns a const iterator to the first element whose - //! key is not less than k or end() if that element does not exist. - //! - //! Complexity: Logarithmic. - //! - //! Throws: If `comp` throws. - template - const_iterator lower_bound(const KeyType &key, KeyValueCompare comp) const; - - //! Effects: Returns an iterator to the first element whose - //! key is greater than k or end() if that element does not exist. - //! - //! Complexity: Logarithmic. - //! - //! Throws: If `value_compare` throws. - iterator upper_bound(const_reference value); - - //! Effects: Returns an iterator to the first element whose - //! key is greater than k according to comp or end() if that element - //! does not exist. - //! - //! Complexity: Logarithmic. - //! - //! Throws: If `comp` throws. - template - iterator upper_bound(const KeyType &key, KeyValueCompare comp); - - //! Effects: Returns an iterator to the first element whose - //! key is greater than k or end() if that element does not exist. - //! - //! Complexity: Logarithmic. - //! - //! Throws: If `value_compare` throws. - const_iterator upper_bound(const_reference value) const; - - //! Effects: Returns an iterator to the first element whose - //! key is greater than k according to comp or end() if that element - //! does not exist. - //! - //! Complexity: Logarithmic. - //! - //! Throws: If `comp` throws. - template - const_iterator upper_bound(const KeyType &key, KeyValueCompare comp) const; - - //! Effects: Finds an iterator to the first element whose key is - //! k or end() if that element does not exist. - //! - //! Complexity: Logarithmic. - //! - //! Throws: If `value_compare` throws. - iterator find(const_reference value); - - //! Effects: Finds an iterator to the first element whose key is - //! k or end() if that element does not exist. - //! - //! Complexity: Logarithmic. - //! - //! Throws: If `comp` throws. - template - iterator find(const KeyType &key, KeyValueCompare comp); - - //! Effects: Finds a const_iterator to the first element whose key is - //! k or end() if that element does not exist. - //! - //! Complexity: Logarithmic. - //! - //! Throws: If `value_compare` throws. - const_iterator find(const_reference value) const; - - //! Effects: Finds a const_iterator to the first element whose key is - //! k or end() if that element does not exist. - //! - //! Complexity: Logarithmic. - //! - //! Throws: If `comp` throws. - template - const_iterator find(const KeyType &key, KeyValueCompare comp) const; - - //! Effects: Finds a range containing all elements whose key is k or - //! an empty range that indicates the position where those elements would be - //! if they there is no elements with key k. - //! - //! Complexity: Logarithmic. - //! - //! Throws: If `value_compare` throws. - std::pair equal_range(const_reference value); - - //! Effects: Finds a range containing all elements whose key is k or - //! an empty range that indicates the position where those elements would be - //! if they there is no elements with key k. - //! - //! Complexity: Logarithmic. - //! - //! Throws: If `comp` throws. - template - std::pair equal_range(const KeyType &key, KeyValueCompare comp); - - //! Effects: Finds a range containing all elements whose key is k or - //! an empty range that indicates the position where those elements would be - //! if they there is no elements with key k. - //! - //! Complexity: Logarithmic. - //! - //! Throws: If `value_compare` throws. - std::pair - equal_range(const_reference value) const; - - //! Effects: Finds a range containing all elements whose key is k or - //! an empty range that indicates the position where those elements would be - //! if they there is no elements with key k. - //! - //! Complexity: Logarithmic. - //! - //! Throws: If `comp` throws. - template - std::pair - equal_range(const KeyType &key, KeyValueCompare comp) const; - - //! Requires: 'lower_value' must not be greater than 'upper_value'. If - //! 'lower_value' == 'upper_value', ('left_closed' || 'right_closed') must be false. - //! - //! Effects: Returns an a pair with the following criteria: - //! - //! first = lower_bound(lower_key) if left_closed, upper_bound(lower_key) otherwise - //! - //! second = upper_bound(upper_key) if right_closed, lower_bound(upper_key) otherwise - //! - //! Complexity: Logarithmic. - //! - //! Throws: If `value_compare` throws. - //! - //! Note: This function can be more efficient than calling upper_bound - //! and lower_bound for lower_value and upper_value. - //! - //! Note: Experimental function, the interface might change in future releases. - std::pair bounded_range - (const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed); - - //! Requires: KeyValueCompare is a function object that induces a strict weak - //! ordering compatible with the strict weak ordering used to create the - //! the container. - //! 'lower_key' must not be greater than 'upper_key' according to 'comp'. If - //! 'lower_key' == 'upper_key', ('left_closed' || 'right_closed') must be false. - //! - //! Effects: Returns an a pair with the following criteria: - //! - //! first = lower_bound(lower_key, comp) if left_closed, upper_bound(lower_key, comp) otherwise - //! - //! second = upper_bound(upper_key, comp) if right_closed, lower_bound(upper_key, comp) otherwise - //! - //! Complexity: Logarithmic. - //! - //! Throws: If `comp` throws. - //! - //! Note: This function can be more efficient than calling upper_bound - //! and lower_bound for lower_key and upper_key. - //! - //! Note: Experimental function, the interface might change in future releases. - template - std::pair bounded_range - (const KeyType &lower_key, const KeyType &upper_key, KeyValueCompare comp, bool left_closed, bool right_closed); - - //! Requires: 'lower_value' must not be greater than 'upper_value'. If - //! 'lower_value' == 'upper_value', ('left_closed' || 'right_closed') must be false. - //! - //! Effects: Returns an a pair with the following criteria: - //! - //! first = lower_bound(lower_key) if left_closed, upper_bound(lower_key) otherwise - //! - //! second = upper_bound(upper_key) if right_closed, lower_bound(upper_key) otherwise - //! - //! Complexity: Logarithmic. - //! - //! Throws: If `value_compare` throws. - //! - //! Note: This function can be more efficient than calling upper_bound - //! and lower_bound for lower_value and upper_value. - //! - //! Note: Experimental function, the interface might change in future releases. - std::pair bounded_range - (const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed) const; - - //! Requires: KeyValueCompare is a function object that induces a strict weak - //! ordering compatible with the strict weak ordering used to create the - //! the container. - //! 'lower_key' must not be greater than 'upper_key' according to 'comp'. If - //! 'lower_key' == 'upper_key', ('left_closed' || 'right_closed') must be false. - //! - //! Effects: Returns an a pair with the following criteria: - //! - //! first = lower_bound(lower_key, comp) if left_closed, upper_bound(lower_key, comp) otherwise - //! - //! second = upper_bound(upper_key, comp) if right_closed, lower_bound(upper_key, comp) otherwise - //! - //! Complexity: Logarithmic. - //! - //! Throws: If `comp` throws. - //! - //! Note: This function can be more efficient than calling upper_bound - //! and lower_bound for lower_key and upper_key. - //! - //! Note: Experimental function, the interface might change in future releases. - template - std::pair bounded_range - (const KeyType &lower_key, const KeyType &upper_key, KeyValueCompare comp, bool left_closed, bool right_closed) const; - - //! Requires: value must be an lvalue and shall be in a set of - //! appropriate type. Otherwise the behavior is undefined. - //! - //! Effects: Returns: a valid iterator i belonging to the set - //! that points to the value - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - //! - //! Note: This static function is available only if the value traits - //! is stateless. - static iterator s_iterator_to(reference value); - - //! Requires: value must be an lvalue and shall be in a set of - //! appropriate type. Otherwise the behavior is undefined. - //! - //! Effects: Returns: a valid const_iterator i belonging to the - //! set that points to the value - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - //! - //! Note: This static function is available only if the value traits - //! is stateless. - static const_iterator s_iterator_to(const_reference value); - - //! Requires: value must be an lvalue and shall be in a set of - //! appropriate type. Otherwise the behavior is undefined. - //! - //! Effects: Returns: a valid iterator i belonging to the set - //! that points to the value - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - iterator iterator_to(reference value); - - //! Requires: value must be an lvalue and shall be in a set of - //! appropriate type. Otherwise the behavior is undefined. - //! - //! Effects: Returns: a valid const_iterator i belonging to the - //! set that points to the value - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - const_iterator iterator_to(const_reference value) const; - - //! Requires: value shall not be in a container. - //! - //! Effects: init_node puts the hook of a value in a well-known default - //! state. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant time. - //! - //! Note: This function puts the hook in the well-known default state - //! used by auto_unlink and safe hooks. - static void init_node(reference value); - - #endif //#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - - //! Effects: Unlinks the leftmost node from the container. - //! - //! Complexity: Average complexity is constant time. - //! - //! Throws: Nothing. - //! - //! Notes: This function breaks the container and the container can - //! only be used for more unlink_leftmost_without_rebalance calls. - //! This function is normally used to achieve a step by step - //! controlled destruction of the container. - pointer unlink_leftmost_without_rebalance() - { - node_ptr to_be_disposed(node_algorithms::unlink_leftmost_without_rebalance - (this->header_ptr())); - if(!to_be_disposed) - return 0; - this->sz_traits().decrement(); - if(safemode_or_autounlink)//If this is commented does not work with normal_link - node_algorithms::init(to_be_disposed); - return this->get_value_traits().to_value_ptr(to_be_disposed); - } - - #if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - - //! Requires: replace_this must be a valid iterator of *this - //! and with_this must not be inserted in any container. - //! - //! Effects: Replaces replace_this in its position in the - //! container with with_this. The container does not need to be rebalanced. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - //! - //! Note: This function will break container ordering invariants if - //! with_this is not equivalent to *replace_this according to the - //! ordering rules. This function is faster than erasing and inserting - //! the node, since no rebalancing or comparison is needed. - void replace_node(iterator replace_this, reference with_this); - - //! Effects: Rebalances the tree. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear. - void rebalance(); - - //! Requires: old_root is a node of a tree. - //! - //! Effects: Rebalances the subtree rooted at old_root. - //! - //! Returns: The new root of the subtree. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the elements in the subtree. - iterator rebalance_subtree(iterator root); - - #endif //#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - - //! Effects: removes "value" from the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Logarithmic time. - //! - //! Note: This static function is only usable with non-constant - //! time size containers that have stateless comparison functors. - //! - //! If the user calls - //! this function with a constant time size container or stateful comparison - //! functor a compilation error will be issued. - static void remove_node(reference value) - { - BOOST_STATIC_ASSERT((!constant_time_size)); - node_ptr to_remove(value_traits::to_node_ptr(value)); - node_algorithms::unlink(to_remove); - if(safemode_or_autounlink) - node_algorithms::init(to_remove); - } - - /// @cond - private: - template - iterator private_erase(const_iterator b, const_iterator e, size_type &n, Disposer disposer) - { - for(n = 0; b != e; ++n) - this->erase_and_dispose(b++, disposer); - return b.unconst(); - } - - iterator private_erase(const_iterator b, const_iterator e, size_type &n) - { - for(n = 0; b != e; ++n) - this->erase(b++); - return b.unconst(); - } - /// @endcond -}; - -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -template -#else -template -#endif -inline bool operator< -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -(const bstree_impl &x, const bstree_impl &y) -#else -( const bstree_impl &x -, const bstree_impl &y) -#endif -{ return std::lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); } - -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -template -#else -template -#endif -bool operator== -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -(const bstree_impl &x, const bstree_impl &y) -#else -( const bstree_impl &x -, const bstree_impl &y) -#endif -{ - typedef bstree_impl tree_type; - typedef typename tree_type::const_iterator const_iterator; - - if(tree_type::constant_time_size && x.size() != y.size()){ - return false; - } - const_iterator end1 = x.end(); - const_iterator i1 = x.begin(); - const_iterator i2 = y.begin(); - if(tree_type::constant_time_size){ - while (i1 != end1 && *i1 == *i2) { - ++i1; - ++i2; - } - return i1 == end1; - } - else{ - const_iterator end2 = y.end(); - while (i1 != end1 && i2 != end2 && *i1 == *i2) { - ++i1; - ++i2; - } - return i1 == end1 && i2 == end2; - } -} - -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -template -#else -template -#endif -inline bool operator!= -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -(const bstree_impl &x, const bstree_impl &y) -#else -( const bstree_impl &x -, const bstree_impl &y) -#endif -{ return !(x == y); } - -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -template -#else -template -#endif -inline bool operator> -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -(const bstree_impl &x, const bstree_impl &y) -#else -( const bstree_impl &x -, const bstree_impl &y) -#endif -{ return y < x; } - -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -template -#else -template -#endif -inline bool operator<= -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -(const bstree_impl &x, const bstree_impl &y) -#else -( const bstree_impl &x -, const bstree_impl &y) -#endif -{ return !(y < x); } - -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -template -#else -template -#endif -inline bool operator>= -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -(const bstree_impl &x, const bstree_impl &y) -#else -( const bstree_impl &x -, const bstree_impl &y) -#endif -{ return !(x < y); } - -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -template -#else -template -#endif -inline void swap -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -(bstree_impl &x, bstree_impl &y) -#else -( bstree_impl &x -, bstree_impl &y) -#endif -{ x.swap(y); } - -//! Helper metafunction to define a \c bstree 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 -#else -template -#endif -struct make_bstree -{ - /// @cond - typedef typename pack_options - < bstree_defaults, - #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) - O1, O2, O3, O4, O5 - #else - Options... - #endif - >::type packed_options; - - typedef typename detail::get_value_traits - ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; - - typedef bstree_impl - < value_traits - , typename packed_options::compare - , typename packed_options::size_type - , packed_options::constant_time_size - , BsTreeAlgorithms - , header_holder_type - > implementation_defined; - /// @endcond - typedef implementation_defined type; -}; - - -#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED - -#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) -template -#else -template -#endif -class bstree - : public make_bstree::type -{ - typedef typename make_bstree - ::type Base; - BOOST_MOVABLE_BUT_NOT_COPYABLE(bstree) - - public: - typedef typename Base::value_compare value_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::value)); - - bstree( const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : Base(cmp, v_traits) - {} - - template - bstree( bool unique, Iterator b, Iterator e - , const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : Base(unique, b, e, cmp, v_traits) - {} - - bstree(BOOST_RV_REF(bstree) x) - : Base(::boost::move(static_cast(x))) - {} - - bstree& operator=(BOOST_RV_REF(bstree) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } - - static bstree &container_from_end_iterator(iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } - - static const bstree &container_from_end_iterator(const_iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } - - static bstree &container_from_iterator(iterator it) - { return static_cast(Base::container_from_iterator(it)); } - - static const bstree &container_from_iterator(const_iterator it) - { return static_cast(Base::container_from_iterator(it)); } -}; - -#endif -} //namespace intrusive -} //namespace boost - -#include - -#endif //BOOST_INTRUSIVE_BSTREE_HPP diff --git a/bundled/boost-1.56.0/include/boost/intrusive/circular_list_algorithms.hpp b/bundled/boost-1.56.0/include/boost/intrusive/circular_list_algorithms.hpp deleted file mode 100644 index 9d6213a597..0000000000 --- a/bundled/boost-1.56.0/include/boost/intrusive/circular_list_algorithms.hpp +++ /dev/null @@ -1,424 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Olaf Krzikalla 2004-2006. -// (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_CIRCULAR_LIST_ALGORITHMS_HPP -#define BOOST_INTRUSIVE_CIRCULAR_LIST_ALGORITHMS_HPP - -#include -#include -#include -#include - -namespace boost { -namespace intrusive { - -//! circular_list_algorithms provides basic algorithms to manipulate nodes -//! forming a circular doubly linked list. An empty circular list is formed by a node -//! whose pointers point to itself. -//! -//! circular_list_algorithms is configured with a NodeTraits class, which encapsulates the -//! information about the node to be manipulated. NodeTraits must support the -//! following interface: -//! -//! Typedefs: -//! -//! node: The type of the node that forms the circular list -//! -//! node_ptr: A pointer to a node -//! -//! const_node_ptr: A pointer to a const node -//! -//! Static functions: -//! -//! static node_ptr get_previous(const_node_ptr n); -//! -//! static void set_previous(node_ptr n, node_ptr prev); -//! -//! static node_ptr get_next(const_node_ptr n); -//! -//! static void set_next(node_ptr n, node_ptr next); -template -class circular_list_algorithms -{ - public: - typedef typename NodeTraits::node node; - typedef typename NodeTraits::node_ptr node_ptr; - typedef typename NodeTraits::const_node_ptr const_node_ptr; - typedef NodeTraits node_traits; - - //! Effects: Constructs an non-used list element, so that - //! inited(this_node) == true - //! - //! Complexity: Constant - //! - //! Throws: Nothing. - static void init(const node_ptr &this_node) - { - NodeTraits::set_next(this_node, node_ptr()); - NodeTraits::set_previous(this_node, node_ptr()); - } - - //! Effects: Returns true is "this_node" is in a non-used state - //! as if it was initialized by the "init" function. - //! - //! Complexity: Constant - //! - //! Throws: Nothing. - static bool inited(const const_node_ptr &this_node) - { return !NodeTraits::get_next(this_node); } - - //! Effects: Constructs an empty list, making this_node the only - //! node of the circular list: - //! NodeTraits::get_next(this_node) == NodeTraits::get_previous(this_node) - //! == this_node. - //! - //! Complexity: Constant - //! - //! Throws: Nothing. - static void init_header(const node_ptr &this_node) - { - NodeTraits::set_next(this_node, this_node); - NodeTraits::set_previous(this_node, this_node); - } - - - //! Requires: this_node must be in a circular list or be an empty circular list. - //! - //! Effects: Returns true is "this_node" is the only node of a circular list: - //! return NodeTraits::get_next(this_node) == this_node - //! - //! Complexity: Constant - //! - //! Throws: Nothing. - static bool unique(const const_node_ptr &this_node) - { - node_ptr next = NodeTraits::get_next(this_node); - return !next || next == this_node; - } - - //! Requires: this_node must be in a circular list or be an empty circular list. - //! - //! Effects: Returns the number of nodes in a circular list. If the circular list - //! is empty, returns 1. - //! - //! Complexity: Linear - //! - //! Throws: Nothing. - static std::size_t count(const const_node_ptr &this_node) - { - std::size_t result = 0; - const_node_ptr p = this_node; - do{ - p = NodeTraits::get_next(p); - ++result; - }while (p != this_node); - return result; - } - - //! Requires: this_node must be in a circular list or be an empty circular list. - //! - //! Effects: Unlinks the node from the circular list. - //! - //! Complexity: Constant - //! - //! Throws: Nothing. - static node_ptr unlink(const node_ptr &this_node) - { - node_ptr next(NodeTraits::get_next(this_node)); - if(next){ - node_ptr prev(NodeTraits::get_previous(this_node)); - NodeTraits::set_next(prev, next); - NodeTraits::set_previous(next, prev); - return next; - } - else{ - return this_node; - } - } - - //! Requires: b and e must be nodes of the same circular list or an empty range. - //! - //! Effects: Unlinks the node [b, e) from the circular list. - //! - //! Complexity: Constant - //! - //! Throws: Nothing. - static void unlink(const node_ptr &b, const node_ptr &e) - { - if (b != e) { - node_ptr prevb(NodeTraits::get_previous(b)); - NodeTraits::set_previous(e, prevb); - NodeTraits::set_next(prevb, e); - } - } - - //! Requires: nxt_node must be a node of a circular list. - //! - //! Effects: Links this_node before nxt_node in the circular list. - //! - //! Complexity: Constant - //! - //! Throws: Nothing. - static void link_before(const node_ptr &nxt_node, const node_ptr &this_node) - { - node_ptr prev(NodeTraits::get_previous(nxt_node)); - NodeTraits::set_previous(this_node, prev); - NodeTraits::set_next(this_node, nxt_node); - //nxt_node might be an alias for prev->next_ - //so use it before NodeTraits::set_next(prev, ...) - //is called and the reference changes it's value - NodeTraits::set_previous(nxt_node, this_node); - NodeTraits::set_next(prev, this_node); - } - - //! Requires: prev_node must be a node of a circular list. - //! - //! Effects: Links this_node after prev_node in the circular list. - //! - //! Complexity: Constant - //! - //! Throws: Nothing. - static void link_after(const node_ptr &prev_node, const node_ptr &this_node) - { - node_ptr next(NodeTraits::get_next(prev_node)); - NodeTraits::set_previous(this_node, prev_node); - NodeTraits::set_next(this_node, next); - //prev_node might be an alias for next->next_ - //so use it before update it before NodeTraits::set_previous(next, ...) - //is called and the reference changes it's value - NodeTraits::set_next(prev_node, this_node); - NodeTraits::set_previous(next, this_node); - } - - //! Requires: this_node and other_node must be nodes inserted - //! in circular lists or be empty circular lists. - //! - //! Effects: Swaps the position of the nodes: this_node is inserted in - //! other_nodes position in the second circular list and the other_node is inserted - //! in this_node's position in the first circular list. - //! - //! Complexity: Constant - //! - //! Throws: Nothing. -/* - static void swap_nodes(const node_ptr &this_node, const node_ptr &other_node) - { - - if (other_node == this_node) - return; - bool empty1 = unique(this_node); - bool empty2 = unique(other_node); - - node_ptr next_this(NodeTraits::get_next(this_node)); - node_ptr prev_this(NodeTraits::get_previous(this_node)); - node_ptr next_other(NodeTraits::get_next(other_node)); - node_ptr prev_other(NodeTraits::get_previous(other_node)); - - //Do the swap - NodeTraits::set_next(this_node, next_other); - NodeTraits::set_next(other_node, next_this); - - NodeTraits::set_previous(this_node, prev_other); - NodeTraits::set_previous(other_node, prev_this); - - if (empty2){ - init(this_node); - } - else{ - NodeTraits::set_next(prev_other, this_node); - NodeTraits::set_previous(next_other, this_node); - } - if (empty1){ - init(other_node); - } - else{ - NodeTraits::set_next(prev_this, other_node); - NodeTraits::set_previous(next_this, other_node); - } - } -*/ - - //Watanabe version - private: - static void swap_prev(const node_ptr &this_node, const node_ptr &other_node) - { - node_ptr temp(NodeTraits::get_previous(this_node)); - NodeTraits::set_previous(this_node, NodeTraits::get_previous(other_node)); - NodeTraits::set_previous(other_node, temp); - } - static void swap_next(const node_ptr &this_node, const node_ptr &other_node) - { - node_ptr temp(NodeTraits::get_next(this_node)); - NodeTraits::set_next(this_node, NodeTraits::get_next(other_node)); - NodeTraits::set_next(other_node, temp); - } - - public: - static void swap_nodes(const node_ptr &this_node, const node_ptr &other_node) - { - if (other_node == this_node) - return; - bool this_inited = inited(this_node); - bool other_inited = inited(other_node); - if(this_inited){ - init_header(this_node); - } - if(other_inited){ - init_header(other_node); - } - - node_ptr next_this(NodeTraits::get_next(this_node)); - node_ptr prev_this(NodeTraits::get_previous(this_node)); - node_ptr next_other(NodeTraits::get_next(other_node)); - node_ptr prev_other(NodeTraits::get_previous(other_node)); - //these first two swaps must happen before the other two - swap_prev(next_this, next_other); - swap_next(prev_this, prev_other); - swap_next(this_node, other_node); - swap_prev(this_node, other_node); - - if(this_inited){ - init(other_node); - } - if(other_inited){ - init(this_node); - } - } - - //! Requires: b and e must be nodes of the same circular list or an empty range. - //! and p must be a node of a different circular list or may not be an iterator in - // [b, e). - //! - //! Effects: Removes the nodes from [b, e) range from their circular list and inserts - //! them before p in p's circular list. - //! - //! Complexity: Constant - //! - //! Throws: Nothing. - static void transfer(const node_ptr &p, const node_ptr &b, const node_ptr &e) - { - if (b != e) { - node_ptr prev_p(NodeTraits::get_previous(p)); - node_ptr prev_b(NodeTraits::get_previous(b)); - node_ptr prev_e(NodeTraits::get_previous(e)); - NodeTraits::set_next(prev_e, p); - NodeTraits::set_previous(p, prev_e); - NodeTraits::set_next(prev_b, e); - NodeTraits::set_previous(e, prev_b); - NodeTraits::set_next(prev_p, b); - NodeTraits::set_previous(b, prev_p); - } - } - - //! Requires: i must a node of a circular list - //! and p must be a node of a different circular list. - //! - //! Effects: Removes the node i from its circular list and inserts - //! it before p in p's circular list. - //! If p == i or p == NodeTraits::get_next(i), this function is a null operation. - //! - //! Complexity: Constant - //! - //! Throws: Nothing. - static void transfer(const node_ptr &p, const node_ptr &i) - { - node_ptr n(NodeTraits::get_next(i)); - if(n != p && i != p){ - node_ptr prev_p(NodeTraits::get_previous(p)); - node_ptr prev_i(NodeTraits::get_previous(i)); - NodeTraits::set_next(prev_p, i); - NodeTraits::set_previous(i, prev_p); - NodeTraits::set_next(i, p); - NodeTraits::set_previous(p, i); - NodeTraits::set_previous(n, prev_i); - NodeTraits::set_next(prev_i, n); - - } - } - - //! Effects: Reverses the order of elements in the list. - //! - //! Throws: Nothing. - //! - //! Complexity: This function is linear time. - static void reverse(const node_ptr &p) - { - node_ptr f(NodeTraits::get_next(p)); - node_ptr i(NodeTraits::get_next(f)), e(p); - - while(i != e) { - node_ptr n = i; - i = NodeTraits::get_next(i); - transfer(f, n, i); - f = n; - } - } - - //! Effects: Moves the node p n positions towards the end of the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of moved positions. - static void move_backwards(const node_ptr &p, std::size_t n) - { - //Null shift, nothing to do - if(!n) return; - node_ptr first = NodeTraits::get_next(p); - //size() == 0 or 1, nothing to do - if(first == NodeTraits::get_previous(p)) return; - unlink(p); - //Now get the new first node - while(n--){ - first = NodeTraits::get_next(first); - } - link_before(first, p); - } - - //! Effects: Moves the node p n positions towards the beginning of the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of moved positions. - static void move_forward(const node_ptr &p, std::size_t n) - { - //Null shift, nothing to do - if(!n) return; - node_ptr last = NodeTraits::get_previous(p); - //size() == 0 or 1, nothing to do - if(last == NodeTraits::get_next(p)) return; - - unlink(p); - //Now get the new last node - while(n--){ - last = NodeTraits::get_previous(last); - } - link_after(last, p); - } -}; - -/// @cond - -template -struct get_algo -{ - typedef circular_list_algorithms type; -}; - -/// @endcond - -} //namespace intrusive -} //namespace boost - -#include - -#endif //BOOST_INTRUSIVE_CIRCULAR_LIST_ALGORITHMS_HPP diff --git a/bundled/boost-1.56.0/include/boost/intrusive/detail/any_node_and_algorithms.hpp b/bundled/boost-1.56.0/include/boost/intrusive/detail/any_node_and_algorithms.hpp deleted file mode 100644 index 8b51099afa..0000000000 --- a/bundled/boost-1.56.0/include/boost/intrusive/detail/any_node_and_algorithms.hpp +++ /dev/null @@ -1,296 +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_ANY_NODE_HPP -#define BOOST_INTRUSIVE_ANY_NODE_HPP - -#include -#include -#include -#include -#include -#include - -namespace boost { -namespace intrusive { - -template -struct any_node -{ - typedef typename pointer_traits - ::template rebind_pointer::type node_ptr; - node_ptr node_ptr_1; - node_ptr node_ptr_2; - node_ptr node_ptr_3; - std::size_t size_t_1; -}; - -template -struct any_list_node_traits -{ - typedef any_node node; - typedef typename pointer_traits - ::template rebind_pointer::type node_ptr; - typedef typename pointer_traits - ::template rebind_pointer::type const_node_ptr; - - static const node_ptr &get_next(const const_node_ptr & n) - { return n->node_ptr_1; } - - static void set_next(const node_ptr & n, const node_ptr & next) - { n->node_ptr_1 = next; } - - static const node_ptr &get_previous(const const_node_ptr & n) - { return n->node_ptr_2; } - - static void set_previous(const node_ptr & n, const node_ptr & prev) - { n->node_ptr_2 = prev; } -}; - - -template -struct any_slist_node_traits -{ - typedef any_node node; - typedef typename pointer_traits - ::template rebind_pointer::type node_ptr; - typedef typename pointer_traits - ::template rebind_pointer::type const_node_ptr; - - static const node_ptr &get_next(const const_node_ptr & n) - { return n->node_ptr_1; } - - static void set_next(const node_ptr & n, const node_ptr & next) - { n->node_ptr_1 = next; } -}; - - -template -struct any_unordered_node_traits - : public any_slist_node_traits -{ - typedef any_slist_node_traits reduced_slist_node_traits; - typedef typename reduced_slist_node_traits::node node; - typedef typename reduced_slist_node_traits::node_ptr node_ptr; - typedef typename reduced_slist_node_traits::const_node_ptr const_node_ptr; - - static const bool store_hash = true; - static const bool optimize_multikey = true; - - static const node_ptr &get_next(const const_node_ptr & n) - { return n->node_ptr_1; } - - static void set_next(const node_ptr & n, const node_ptr & next) - { n->node_ptr_1 = next; } - - static node_ptr get_prev_in_group(const const_node_ptr & n) - { return n->node_ptr_2; } - - static void set_prev_in_group(const node_ptr & n, const node_ptr & prev) - { n->node_ptr_2 = prev; } - - static std::size_t get_hash(const const_node_ptr & n) - { return n->size_t_1; } - - static void set_hash(const node_ptr & n, std::size_t h) - { n->size_t_1 = h; } -}; - - -template -struct any_rbtree_node_traits -{ - typedef any_node node; - - typedef typename pointer_traits - ::template rebind_pointer::type node_ptr; - typedef typename pointer_traits - ::template rebind_pointer::type const_node_ptr; - - typedef std::size_t color; - - static const node_ptr &get_parent(const const_node_ptr & n) - { return n->node_ptr_1; } - - static void set_parent(const node_ptr & n, const node_ptr & p) - { n->node_ptr_1 = p; } - - static const node_ptr &get_left(const const_node_ptr & n) - { return n->node_ptr_2; } - - static void set_left(const node_ptr & n, const node_ptr & l) - { n->node_ptr_2 = l; } - - static const node_ptr &get_right(const const_node_ptr & n) - { return n->node_ptr_3; } - - static void set_right(const node_ptr & n, const node_ptr & r) - { n->node_ptr_3 = r; } - - static color get_color(const const_node_ptr & n) - { return n->size_t_1; } - - static void set_color(const node_ptr & n, color c) - { n->size_t_1 = c; } - - static color black() - { return 0u; } - - static color red() - { return 1u; } -}; - - -template -struct any_avltree_node_traits -{ - typedef any_node node; - - typedef typename pointer_traits - ::template rebind_pointer::type node_ptr; - typedef typename pointer_traits - ::template rebind_pointer::type const_node_ptr; - typedef std::size_t balance; - - static const node_ptr &get_parent(const const_node_ptr & n) - { return n->node_ptr_1; } - - static void set_parent(const node_ptr & n, const node_ptr & p) - { n->node_ptr_1 = p; } - - static const node_ptr &get_left(const const_node_ptr & n) - { return n->node_ptr_2; } - - static void set_left(const node_ptr & n, const node_ptr & l) - { n->node_ptr_2 = l; } - - static const node_ptr &get_right(const const_node_ptr & n) - { return n->node_ptr_3; } - - static void set_right(const node_ptr & n, const node_ptr & r) - { n->node_ptr_3 = r; } - - static balance get_balance(const const_node_ptr & n) - { return n->size_t_1; } - - static void set_balance(const node_ptr & n, balance b) - { n->size_t_1 = b; } - - static balance negative() - { return 0u; } - - static balance zero() - { return 1u; } - - static balance positive() - { return 2u; } -}; - - -template -struct any_tree_node_traits -{ - typedef any_node node; - - typedef typename pointer_traits - ::template rebind_pointer::type node_ptr; - typedef typename pointer_traits - ::template rebind_pointer::type const_node_ptr; - - static const node_ptr &get_parent(const const_node_ptr & n) - { return n->node_ptr_1; } - - static void set_parent(const node_ptr & n, const node_ptr & p) - { n->node_ptr_1 = p; } - - static const node_ptr &get_left(const const_node_ptr & n) - { return n->node_ptr_2; } - - static void set_left(const node_ptr & n, const node_ptr & l) - { n->node_ptr_2 = l; } - - static const node_ptr &get_right(const const_node_ptr & n) - { return n->node_ptr_3; } - - static void set_right(const node_ptr & n, const node_ptr & r) - { n->node_ptr_3 = r; } -}; - -template -class any_node_traits -{ - public: - typedef any_node node; - typedef typename pointer_traits - ::template rebind_pointer::type node_ptr; - typedef typename pointer_traits - ::template rebind_pointer::type const_node_ptr; -}; - -template -class any_algorithms -{ - template - static void function_not_available_for_any_hooks(typename detail::enable_if >::type) - {} - - public: - typedef any_node node; - typedef typename pointer_traits - ::template rebind_pointer::type node_ptr; - typedef typename pointer_traits - ::template rebind_pointer::type const_node_ptr; - typedef any_node_traits node_traits; - - //! Requires: node must not be part of any tree. - //! - //! Effects: After the function unique(node) == true. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - //! - //! Nodes: If node is inserted in a tree, this function corrupts the tree. - static void init(const node_ptr & node) - { node->node_ptr_1 = 0; }; - - //! Effects: Returns true if node is in the same state as if called init(node) - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - static bool inited(const const_node_ptr & node) - { return !node->node_ptr_1; }; - - static bool unique(const const_node_ptr & node) - { return 0 == node->node_ptr_1; } - - static void unlink(const node_ptr &) - { - //Auto-unlink hooks and unlink() are not available for any hooks - any_algorithms::template function_not_available_for_any_hooks(); - } - - static void swap_nodes(const node_ptr & l, const node_ptr & r) - { - //Any nodes have no swap_nodes capability because they don't know - //what algorithm they must use to unlink the node from the container - any_algorithms::template function_not_available_for_any_hooks(); - } -}; - -} //namespace intrusive -} //namespace boost - -#include - -#endif //BOOST_INTRUSIVE_ANY_NODE_HPP diff --git a/bundled/boost-1.56.0/include/boost/intrusive/detail/assert.hpp b/bundled/boost-1.56.0/include/boost/intrusive/detail/assert.hpp deleted file mode 100644 index d75d225ac4..0000000000 --- a/bundled/boost-1.56.0/include/boost/intrusive/detail/assert.hpp +++ /dev/null @@ -1,41 +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_DETAIL_ASSERT_HPP -#define BOOST_INTRUSIVE_DETAIL_ASSERT_HPP - -#if defined(_MSC_VER) -#pragma once -#endif - -#if !defined(BOOST_INTRUSIVE_INVARIANT_ASSERT) - #include - #define BOOST_INTRUSIVE_INVARIANT_ASSERT BOOST_ASSERT -#elif defined(BOOST_INTRUSIVE_INVARIANT_ASSERT_INCLUDE) - #include BOOST_INTRUSIVE_INVARIANT_ASSERT_INCLUDE -#endif - -#if !defined(BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT) - #include - #define BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT BOOST_ASSERT -#elif defined(BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT_INCLUDE) - #include BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT_INCLUDE -#endif - -#if !defined(BOOST_INTRUSIVE_SAFE_HOOK_DESTRUCTOR_ASSERT) - #include - #define BOOST_INTRUSIVE_SAFE_HOOK_DESTRUCTOR_ASSERT BOOST_ASSERT -#elif defined(BOOST_INTRUSIVE_SAFE_HOOK_DESTRUCTOR_ASSERT_INCLUDE) - #include BOOST_INTRUSIVE_SAFE_HOOK_DESTRUCTOR_ASSERT_INCLUDE -#endif - -#endif //BOOST_INTRUSIVE_DETAIL_ASSERT_HPP diff --git a/bundled/boost-1.56.0/include/boost/intrusive/detail/avltree_node.hpp b/bundled/boost-1.56.0/include/boost/intrusive/detail/avltree_node.hpp deleted file mode 100644 index 8031c7d7c3..0000000000 --- a/bundled/boost-1.56.0/include/boost/intrusive/detail/avltree_node.hpp +++ /dev/null @@ -1,197 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2007-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_AVLTREE_NODE_HPP -#define BOOST_INTRUSIVE_AVLTREE_NODE_HPP - -#include -#include -#include -#include -#include -#include - -namespace boost { -namespace intrusive { - -///////////////////////////////////////////////////////////////////////////// -// // -// Generic node_traits for any pointer type // -// // -///////////////////////////////////////////////////////////////////////////// - -//This is the compact representation: 3 pointers -template -struct compact_avltree_node -{ - typedef typename pointer_traits - ::template rebind_pointer - >::type node_ptr; - enum balance { negative_t, zero_t, positive_t }; - node_ptr parent_, left_, right_; -}; - -//This is the normal representation: 3 pointers + enum -template -struct avltree_node -{ - typedef typename pointer_traits - ::template rebind_pointer - >::type node_ptr; - enum balance { negative_t, zero_t, positive_t }; - node_ptr parent_, left_, right_; - balance balance_; -}; - -//This is the default node traits implementation -//using a node with 3 generic pointers plus an enum -template -struct default_avltree_node_traits_impl -{ - typedef avltree_node node; - - typedef typename pointer_traits - ::template rebind_pointer - ::type node_ptr; - typedef typename pointer_traits - ::template rebind_pointer - ::type const_node_ptr; - - typedef typename node::balance balance; - - static node_ptr get_parent(const const_node_ptr & n) - { return n->parent_; } - - static node_ptr get_parent(const node_ptr & n) - { return n->parent_; } - - static void set_parent(const node_ptr & n, const node_ptr & p) - { n->parent_ = p; } - - static node_ptr get_left(const const_node_ptr & n) - { return n->left_; } - - static node_ptr get_left(const node_ptr & n) - { return n->left_; } - - static void set_left(const node_ptr & n, const node_ptr & l) - { n->left_ = l; } - - static node_ptr get_right(const const_node_ptr & n) - { return n->right_; } - - static node_ptr get_right(const node_ptr & n) - { return n->right_; } - - static void set_right(const node_ptr & n, const node_ptr & r) - { n->right_ = r; } - - static balance get_balance(const const_node_ptr & n) - { return n->balance_; } - - static balance get_balance(const node_ptr & n) - { return n->balance_; } - - static void set_balance(const node_ptr & n, balance b) - { n->balance_ = b; } - - static balance negative() - { return node::negative_t; } - - static balance zero() - { return node::zero_t; } - - static balance positive() - { return node::positive_t; } -}; - -//This is the compact node traits implementation -//using a node with 3 generic pointers -template -struct compact_avltree_node_traits_impl -{ - typedef compact_avltree_node node; - - typedef typename pointer_traits - ::template rebind_pointer - ::type node_ptr; - typedef typename pointer_traits - ::template rebind_pointer - ::type const_node_ptr; - typedef typename node::balance balance; - - typedef pointer_plus_bits ptr_bit; - - static node_ptr get_parent(const const_node_ptr & n) - { return ptr_bit::get_pointer(n->parent_); } - - static void set_parent(const node_ptr & n, const node_ptr & p) - { ptr_bit::set_pointer(n->parent_, p); } - - static node_ptr get_left(const const_node_ptr & n) - { return n->left_; } - - static void set_left(const node_ptr & n, const node_ptr & l) - { n->left_ = l; } - - static node_ptr get_right(const const_node_ptr & n) - { return n->right_; } - - static void set_right(const node_ptr & n, const node_ptr & r) - { n->right_ = r; } - - static balance get_balance(const const_node_ptr & n) - { return (balance)ptr_bit::get_bits(n->parent_); } - - static void set_balance(const node_ptr & n, balance b) - { ptr_bit::set_bits(n->parent_, (std::size_t)b); } - - static balance negative() - { return node::negative_t; } - - static balance zero() - { return node::zero_t; } - - static balance positive() - { return node::positive_t; } -}; - -//Dispatches the implementation based on the boolean -template -struct avltree_node_traits_dispatch - : public default_avltree_node_traits_impl -{}; - -template -struct avltree_node_traits_dispatch - : public compact_avltree_node_traits_impl -{}; - -//Inherit from the detail::link_dispatch depending on the embedding capabilities -template -struct avltree_node_traits - : public avltree_node_traits_dispatch - < VoidPointer - , OptimizeSize && - max_pointer_plus_bits - < VoidPointer - , detail::alignment_of >::value - >::value >= 2u - > -{}; - -} //namespace intrusive -} //namespace boost - -#include - -#endif //BOOST_INTRUSIVE_AVLTREE_NODE_HPP diff --git a/bundled/boost-1.56.0/include/boost/intrusive/detail/common_slist_algorithms.hpp b/bundled/boost-1.56.0/include/boost/intrusive/detail/common_slist_algorithms.hpp deleted file mode 100644 index 0adbd5054a..0000000000 --- a/bundled/boost-1.56.0/include/boost/intrusive/detail/common_slist_algorithms.hpp +++ /dev/null @@ -1,99 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2007-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_COMMON_SLIST_ALGORITHMS_HPP -#define BOOST_INTRUSIVE_COMMON_SLIST_ALGORITHMS_HPP - -#include -#include -#include -#include - -namespace boost { -namespace intrusive { -namespace detail { - -template -class common_slist_algorithms -{ - public: - typedef typename NodeTraits::node node; - typedef typename NodeTraits::node_ptr node_ptr; - typedef typename NodeTraits::const_node_ptr const_node_ptr; - typedef NodeTraits node_traits; - - static node_ptr get_previous_node(node_ptr p, const node_ptr & this_node) - { - for( node_ptr p_next - ; this_node != (p_next = NodeTraits::get_next(p)) - ; p = p_next){ - //Logic error: possible use of linear lists with - //operations only permitted with lists - BOOST_INTRUSIVE_INVARIANT_ASSERT(p); - } - return p; - } - - static void init(const node_ptr & this_node) - { NodeTraits::set_next(this_node, node_ptr()); } - - static bool unique(const const_node_ptr & this_node) - { - node_ptr next = NodeTraits::get_next(this_node); - return !next || next == this_node; - } - - static bool inited(const const_node_ptr & this_node) - { return !NodeTraits::get_next(this_node); } - - static void unlink_after(const node_ptr & prev_node) - { - const_node_ptr this_node(NodeTraits::get_next(prev_node)); - NodeTraits::set_next(prev_node, NodeTraits::get_next(this_node)); - } - - static void unlink_after(const node_ptr & prev_node, const node_ptr & last_node) - { NodeTraits::set_next(prev_node, last_node); } - - static void link_after(const node_ptr & prev_node, const node_ptr & this_node) - { - NodeTraits::set_next(this_node, NodeTraits::get_next(prev_node)); - NodeTraits::set_next(prev_node, this_node); - } - - static void incorporate_after(const node_ptr & bp, const node_ptr & b, const node_ptr & be) - { - node_ptr p(NodeTraits::get_next(bp)); - NodeTraits::set_next(bp, b); - NodeTraits::set_next(be, p); - } - - static void transfer_after(const node_ptr & bp, const node_ptr & bb, const node_ptr & be) - { - if (bp != bb && bp != be && bb != be) { - node_ptr next_b = NodeTraits::get_next(bb); - node_ptr next_e = NodeTraits::get_next(be); - node_ptr next_p = NodeTraits::get_next(bp); - NodeTraits::set_next(bb, next_e); - NodeTraits::set_next(be, next_p); - NodeTraits::set_next(bp, next_b); - } - } -}; - -} //namespace detail -} //namespace intrusive -} //namespace boost - -#include - -#endif //BOOST_INTRUSIVE_COMMON_SLIST_ALGORITHMS_HPP diff --git a/bundled/boost-1.56.0/include/boost/intrusive/detail/config_begin.hpp b/bundled/boost-1.56.0/include/boost/intrusive/detail/config_begin.hpp deleted file mode 100644 index 109a59088b..0000000000 --- a/bundled/boost-1.56.0/include/boost/intrusive/detail/config_begin.hpp +++ /dev/null @@ -1,52 +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_CONFIG_INCLUDED -#define BOOST_INTRUSIVE_CONFIG_INCLUDED -#include -#endif - -#ifdef BOOST_MSVC - - #pragma warning (push) - // - //'function' : resolved overload was found by argument-dependent lookup - //A function found by argument-dependent lookup (Koenig lookup) was eventually - //chosen by overload resolution. - // - //In Visual C++ .NET and earlier compilers, a different function would have - //been called. To pick the original function, use an explicitly qualified name. - // - - //warning C4275: non dll-interface class 'x' used as base for - //dll-interface class 'Y' - #pragma warning (disable : 4275) - //warning C4251: 'x' : class 'y' needs to have dll-interface to - //be used by clients of class 'z' - #pragma warning (disable : 4251) - #pragma warning (disable : 4675) - #pragma warning (disable : 4996) - #pragma warning (disable : 4503) - #pragma warning (disable : 4284) // odd return type for operator-> - #pragma warning (disable : 4244) // possible loss of data - #pragma warning (disable : 4521) ////Disable "multiple copy constructors specified" - #pragma warning (disable : 4522) - #pragma warning (disable : 4146) - #pragma warning (disable : 4267) //conversion from 'X' to 'Y', possible loss of data - #pragma warning (disable : 4127) //conditional expression is constant - #pragma warning (disable : 4706) //assignment within conditional expression - #pragma warning (disable : 4541) //'typeid' used on polymorphic type 'boost::exception' with /GR- - #pragma warning (disable : 4512) //'typeid' used on polymorphic type 'boost::exception' with /GR- -#endif - -//#define BOOST_INTRUSIVE_USE_ITERATOR_FACADE -//#define BOOST_INTRUSIVE_USE_ITERATOR_ENABLE_IF_CONVERTIBLE diff --git a/bundled/boost-1.56.0/include/boost/intrusive/detail/ebo_functor_holder.hpp b/bundled/boost-1.56.0/include/boost/intrusive/detail/ebo_functor_holder.hpp deleted file mode 100644 index 3c2959b970..0000000000 --- a/bundled/boost-1.56.0/include/boost/intrusive/detail/ebo_functor_holder.hpp +++ /dev/null @@ -1,95 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Joaquin M Lopez Munoz 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_DETAIL_EBO_HOLDER_HPP -#define BOOST_INTRUSIVE_DETAIL_EBO_HOLDER_HPP - -#include -#include - -namespace boost { -namespace intrusive { -namespace detail { - -template -class ebo_functor_holder_impl -{ - public: - ebo_functor_holder_impl() - {} - ebo_functor_holder_impl(const T& t) - : t_(t) - {} - template - ebo_functor_holder_impl(const Arg1& arg1, const Arg2& arg2) - : t_(arg1, arg2) - {} - - T& get(){return t_;} - const T& get()const{return t_;} - - private: - T t_; -}; - -template -class ebo_functor_holder_impl - : public T -{ - public: - ebo_functor_holder_impl() - {} - ebo_functor_holder_impl(const T& t) - : T(t) - {} - template - ebo_functor_holder_impl(const Arg1& arg1, const Arg2& arg2) - : T(arg1, arg2) - {} - - T& get(){return *this;} - const T& get()const{return *this;} -}; - -template -class ebo_functor_holder - : public ebo_functor_holder_impl::value> -{ - private: - typedef ebo_functor_holder_impl::value> super; - - public: - ebo_functor_holder(){} - ebo_functor_holder(const T& t) - : super(t) - {} - - template - ebo_functor_holder(const Arg1& arg1, const Arg2& arg2) - : super(arg1, arg2) - {} - - ebo_functor_holder& operator=(const ebo_functor_holder& x) - { - this->get()=x.get(); - return *this; - } -}; - - -} //namespace detail { -} //namespace intrusive { -} //namespace boost { - -#include - -#endif //#ifndef BOOST_INTRUSIVE_DETAIL_EBO_HOLDER_HPP diff --git a/bundled/boost-1.56.0/include/boost/intrusive/detail/function_detector.hpp b/bundled/boost-1.56.0/include/boost/intrusive/detail/function_detector.hpp deleted file mode 100644 index f8eccf9e66..0000000000 --- a/bundled/boost-1.56.0/include/boost/intrusive/detail/function_detector.hpp +++ /dev/null @@ -1,88 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2009-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. -// -///////////////////////////////////////////////////////////////////////////// -// This code was modified from the code posted by Alexandre Courpron in his -// article "Interface Detection" in The Code Project: -// http://www.codeproject.com/KB/architecture/Detector.aspx -/////////////////////////////////////////////////////////////////////////////// -// Copyright 2007 Alexandre Courpron -// -// Permission to use, copy, modify, redistribute and sell this software, -// provided that this copyright notice appears on all copies of the software. -/////////////////////////////////////////////////////////////////////////////// - -#ifndef BOOST_INTRUSIVE_DETAIL_FUNCTION_DETECTOR_HPP -#define BOOST_INTRUSIVE_DETAIL_FUNCTION_DETECTOR_HPP - -#include - -namespace boost { -namespace intrusive { -namespace function_detector { - - typedef char NotFoundType; - struct StaticFunctionType { NotFoundType x [2]; }; - struct NonStaticFunctionType { NotFoundType x [3]; }; - - enum - { NotFound = 0, - StaticFunction = sizeof( StaticFunctionType ) - sizeof( NotFoundType ), - NonStaticFunction = sizeof( NonStaticFunctionType ) - sizeof( NotFoundType ) - }; - -} //namespace boost { -} //namespace intrusive { -} //namespace function_detector { - -#define BOOST_INTRUSIVE_CREATE_FUNCTION_DETECTOR(Identifier, InstantiationKey) \ - namespace boost { \ - namespace intrusive { \ - namespace function_detector { \ - template < class T, \ - class NonStaticType, \ - class NonStaticConstType, \ - class StaticType > \ - class DetectMember_##InstantiationKey_##Identifier { \ - template < NonStaticType > \ - struct TestNonStaticNonConst ; \ - \ - template < NonStaticConstType > \ - struct TestNonStaticConst ; \ - \ - template < StaticType > \ - struct TestStatic ; \ - \ - template \ - static NonStaticFunctionType Test( TestNonStaticNonConst<&U::Identifier>*, int ); \ - \ - template \ - static NonStaticFunctionType Test( TestNonStaticConst<&U::Identifier>*, int ); \ - \ - template \ - static StaticFunctionType Test( TestStatic<&U::Identifier>*, int ); \ - \ - template \ - static NotFoundType Test( ... ); \ - public : \ - static const int check = NotFound + (sizeof(Test(0, 0)) - sizeof(NotFoundType));\ - };\ -}}} //namespace boost::intrusive::function_detector { - -#define BOOST_INTRUSIVE_DETECT_FUNCTION(Class, InstantiationKey, ReturnType, Identifier, Params) \ - ::boost::intrusive::function_detector::DetectMember_##InstantiationKey_##Identifier< Class,\ - ReturnType (Class::*)Params,\ - ReturnType (Class::*)Params const,\ - ReturnType (*)Params \ - >::check - -#include - -#endif //@ifndef BOOST_INTRUSIVE_DETAIL_FUNCTION_DETECTOR_HPP diff --git a/bundled/boost-1.56.0/include/boost/intrusive/detail/has_member_function_callable_with.hpp b/bundled/boost-1.56.0/include/boost/intrusive/detail/has_member_function_callable_with.hpp deleted file mode 100644 index 12eec96222..0000000000 --- a/bundled/boost-1.56.0/include/boost/intrusive/detail/has_member_function_callable_with.hpp +++ /dev/null @@ -1,380 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2011-2013. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/intrusive for documentation. -// -////////////////////////////////////////////////////////////////////////////// - -// sample.h - -#if !defined(BOOST_PP_IS_ITERATING) - - #ifndef BOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_DETAILS_INCLUDED - #define BOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_DETAILS_INCLUDED - - #include - #include - #include - #include - #include - #include - - //Mark that we don't support 0 arg calls due to compiler ICE in GCC 3.4/4.0/4.1 and - //wrong SFINAE for GCC 4.2/4.3 - #if defined(__GNUC__) && !defined(__clang__) && ((__GNUC__*100 + __GNUC_MINOR__*10) >= 340) && ((__GNUC__*100 + __GNUC_MINOR__*10) <= 430) - #define BOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_0_ARGS_UNSUPPORTED - #elif defined(BOOST_INTEL) && (BOOST_INTEL < 1200 ) - #define BOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_0_ARGS_UNSUPPORTED - #endif - - namespace boost_intrusive_has_member_function_callable_with { - - struct dont_care - { - dont_care(...); - }; - - struct private_type - { - static private_type p; - private_type const &operator,(int) const; - }; - - typedef char yes_type; // sizeof(yes_type) == 1 - struct no_type{ char dummy[2]; }; // sizeof(no_type) == 2 - - template - no_type is_private_type(T const &); - yes_type is_private_type(private_type const &); - - } //boost_intrusive_has_member_function_callable_with - - #include - - #endif //BOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_DETAILS_INCLUDED - -#else //!BOOST_PP_IS_ITERATING - - #ifndef BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME - #error "BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME not defined!" - #endif - - #ifndef BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN - #error "BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN not defined!" - #endif - - #ifndef BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END - #error "BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END not defined!" - #endif - - #if BOOST_PP_ITERATION_START() > BOOST_PP_ITERATION_FINISH() - #error "BOOST_PP_ITERATION_START() must be <= BOOST_PP_ITERATION_FINISH()" - #endif - - #if BOOST_PP_ITERATION() == BOOST_PP_ITERATION_START() - - BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN - - template - class BOOST_PP_CAT(has_member_function_named_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME) - { - struct BaseMixin - { - void BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME(); - }; - - struct Base : public ::boost::intrusive::detail::remove_cv::type, public BaseMixin { Base(); }; - template class Helper{}; - - template - static boost_intrusive_has_member_function_callable_with::no_type deduce - (U*, Helper* = 0); - static boost_intrusive_has_member_function_callable_with::yes_type deduce(...); - - public: - static const bool value = - sizeof(boost_intrusive_has_member_function_callable_with::yes_type) == sizeof(deduce((Base*)(0))); - }; - - #if !defined(BOOST_INTRUSIVE_PERFECT_FORWARDING) - - template - struct BOOST_PP_CAT(BOOST_PP_CAT(has_member_function_callable_with_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME), _impl); - //! - - template - struct BOOST_PP_CAT(BOOST_PP_CAT(has_member_function_callable_with_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME), _impl) - - { - static const bool value = false; - }; - //! - - #else //!defined(BOOST_INTRUSIVE_PERFECT_FORWARDING) - - template - struct BOOST_PP_CAT(BOOST_PP_CAT(has_member_function_callable_with_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME),_impl); - - template - struct BOOST_PP_CAT(BOOST_PP_CAT(has_member_function_callable_with_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME),_impl) - - { - static const bool value = false; - }; - - #ifdef BOOST_NO_CXX11_DECLTYPE - - //Special case for 0 args - template< class F - , std::size_t N = - sizeof((boost::move_detail::declval(). - BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME (), 0))> - struct BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME) - { - boost_intrusive_has_member_function_callable_with::yes_type dummy; - BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)(int); - }; - - //For buggy compilers like MSVC 7.1+ ((F*)0)->func() does not - //SFINAE-out the zeroarg_checker_ instantiation but sizeof yields to 0. - template - struct BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME) - { - boost_intrusive_has_member_function_callable_with::no_type dummy; - BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)(int); - }; - - #endif //#ifdef BOOST_NO_CXX11_DECLTYPE - - template - struct BOOST_PP_CAT(BOOST_PP_CAT(has_member_function_callable_with_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME),_impl) - - { - #ifndef BOOST_NO_CXX11_DECLTYPE - template().BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME()) > - static boost_intrusive_has_member_function_callable_with::yes_type Test(U*); - #else - template - static BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME) - Test(BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)*); - #endif - - template - static boost_intrusive_has_member_function_callable_with::no_type Test(...); - - static const bool value = sizeof(Test< Fun >(0)) - == sizeof(boost_intrusive_has_member_function_callable_with::yes_type); - }; - - template - struct BOOST_PP_CAT( funwrap_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME ) - : Fun - { - BOOST_PP_CAT( funwrap_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME )(); - using Fun::BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME; - - boost_intrusive_has_member_function_callable_with::private_type - BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME - ( DontCares...) const; - }; - - template - struct BOOST_PP_CAT( BOOST_PP_CAT(has_member_function_callable_with_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME), _impl) - - { - template - struct make_dontcare - { - typedef boost_intrusive_has_member_function_callable_with::dont_care type; - }; - - typedef BOOST_PP_CAT( funwrap_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME ) - ::type...> FunWrap; - - static bool const value = (sizeof(boost_intrusive_has_member_function_callable_with::no_type) == - sizeof(boost_intrusive_has_member_function_callable_with::is_private_type - ( (::boost::move_detail::declval< FunWrap >(). - BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME - ( ::boost::move_detail::declval()... ), 0) ) - ) - ); - }; - - template - struct BOOST_PP_CAT( has_member_function_callable_with_ - , BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME) - : public BOOST_PP_CAT( BOOST_PP_CAT(has_member_function_callable_with_ - , BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME),_impl) - < Fun - , BOOST_PP_CAT( has_member_function_named_ - , BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME )::value - , Args... > - {}; - - #endif //!defined(BOOST_INTRUSIVE_PERFECT_FORWARDING) - - BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END - - #endif //BOOST_PP_ITERATION() == BOOST_PP_ITERATION_START() - - #if BOOST_PP_ITERATION() == 0 - - BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN - - #if !defined(BOOST_INTRUSIVE_PERFECT_FORWARDING) - - #if !defined(_MSC_VER) || (_MSC_VER < 1600) - - #if defined(BOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_0_ARGS_UNSUPPORTED) - - template - struct BOOST_PP_CAT(BOOST_PP_CAT(has_member_function_callable_with_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME),_impl) - - { - //Mark that we don't support 0 arg calls due to compiler ICE in GCC 3.4/4.0/4.1 and - //wrong SFINAE for GCC 4.2/4.3 - static const bool value = true; - }; - - #else //defined(BOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_0_ARGS_UNSUPPORTED) - - //Special case for 0 args - template< class F - , std::size_t N = - sizeof((boost::move_detail::declval(). - BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME (), 0))> - struct BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME) - { - boost_intrusive_has_member_function_callable_with::yes_type dummy; - BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)(int); - }; - - //For buggy compilers like MSVC 7.1+ ((F*)0)->func() does not - //SFINAE-out the zeroarg_checker_ instantiation but sizeof yields to 0. - template - struct BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME) - { - boost_intrusive_has_member_function_callable_with::no_type dummy; - BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)(int); - }; - - template - struct BOOST_PP_CAT(BOOST_PP_CAT(has_member_function_callable_with_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME),_impl) - - { - template - static BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME) - Test(BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)*); - - template - static boost_intrusive_has_member_function_callable_with::no_type Test(...); - - static const bool value = sizeof(Test< Fun >(0)) - == sizeof(boost_intrusive_has_member_function_callable_with::yes_type); - }; - #endif //defined(BOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_0_ARGS_UNSUPPORTED) - - #else //#if !defined(_MSC_VER) || (_MSC_VER < 1600) - template - struct BOOST_PP_CAT(BOOST_PP_CAT(has_member_function_callable_with_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME),_impl) - - { - template - static decltype( boost::move_detail::declval().BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME() - , boost_intrusive_has_member_function_callable_with::yes_type()) - Test(U*); - - template - static boost_intrusive_has_member_function_callable_with::no_type Test(...); - - static const bool value = sizeof(Test(0)) - == sizeof(boost_intrusive_has_member_function_callable_with::yes_type); - }; - #endif //#if !defined(_MSC_VER) || (_MSC_VER < 1600) - - #else //#if !defined(BOOST_INTRUSIVE_PERFECT_FORWARDING) - - #endif //#if !defined(BOOST_INTRUSIVE_PERFECT_FORWARDING) - - BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END - - #else //BOOST_PP_ITERATION() == 0 - - #if !defined(BOOST_INTRUSIVE_PERFECT_FORWARDING) - - BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN - - template - struct BOOST_PP_CAT( BOOST_PP_CAT(funwrap, BOOST_PP_ITERATION()) - , BOOST_PP_CAT(_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)) - : Fun - { - BOOST_PP_CAT( BOOST_PP_CAT(funwrap, BOOST_PP_ITERATION()) - , BOOST_PP_CAT(_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME))(); - - using Fun::BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME; - boost_intrusive_has_member_function_callable_with::private_type - BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME - ( BOOST_PP_ENUM(BOOST_PP_ITERATION() - , BOOST_INTRUSIVE_PP_IDENTITY - , boost_intrusive_has_member_function_callable_with::dont_care)) const; - }; - - template - struct BOOST_PP_CAT( BOOST_PP_CAT(has_member_function_callable_with_ - , BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME),_impl) - - { - typedef BOOST_PP_CAT( BOOST_PP_CAT(funwrap, BOOST_PP_ITERATION()) - , BOOST_PP_CAT(_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)) - FunWrap; - static bool const value = - (sizeof(boost_intrusive_has_member_function_callable_with::no_type) == - sizeof(boost_intrusive_has_member_function_callable_with::is_private_type - ( (boost::move_detail::declval(). - BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME - ( BOOST_PP_ENUM( BOOST_PP_ITERATION(), BOOST_INTRUSIVE_PP_DECLVAL, _) ), 0 - ) - ) - ) - ); - }; - - BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END - #endif //#if !defined(BOOST_INTRUSIVE_PERFECT_FORWARDING) - - #endif //BOOST_PP_ITERATION() == 0 - - #if BOOST_PP_ITERATION() == BOOST_PP_ITERATION_FINISH() - - #if !defined(BOOST_INTRUSIVE_PERFECT_FORWARDING) - - BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN - - template - struct BOOST_PP_CAT(has_member_function_callable_with_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME) - : public BOOST_PP_CAT(BOOST_PP_CAT(has_member_function_callable_with_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME), _impl) - ::value - BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION_FINISH(), P) > - {}; - - BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END - - #endif //#if !defined(BOOST_INTRUSIVE_PERFECT_FORWARDING) - - #undef BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME - #undef BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN - #undef BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END - - #endif //#if BOOST_PP_ITERATION() == BOOST_PP_ITERATION_FINISH() - -#endif //!BOOST_PP_IS_ITERATING diff --git a/bundled/boost-1.56.0/include/boost/intrusive/detail/hashtable_node.hpp b/bundled/boost-1.56.0/include/boost/intrusive/detail/hashtable_node.hpp deleted file mode 100644 index f00b0bf88f..0000000000 --- a/bundled/boost-1.56.0/include/boost/intrusive/detail/hashtable_node.hpp +++ /dev/null @@ -1,351 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2007-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_HASHTABLE_NODE_HPP -#define BOOST_INTRUSIVE_HASHTABLE_NODE_HPP - -#include -#include -#include -#include -#include -#include -#include -#include //make_slist -#include -#include -#include -#include - - -namespace boost { -namespace intrusive { -namespace detail { - -template -struct prime_list_holder -{ - static const std::size_t prime_list[]; - static const std::size_t prime_list_size; -}; - -//We only support LLP64(Win64) or LP64(most Unix) data models -#ifdef _WIN64 //In 64 bit windows sizeof(size_t) == sizeof(unsigned long long) - #define BOOST_INTRUSIVE_PRIME_C(NUMBER) NUMBER##ULL - #define BOOST_INTRUSIVE_64_BIT_SIZE_T 1 -#else //In 32 bit windows and 32/64 bit unixes sizeof(size_t) == sizeof(unsigned long) - #define BOOST_INTRUSIVE_PRIME_C(NUMBER) NUMBER##UL - #define BOOST_INTRUSIVE_64_BIT_SIZE_T (((((ULONG_MAX>>16)>>16)>>16)>>15) != 0) -#endif - -template -const std::size_t prime_list_holder::prime_list[] = { - BOOST_INTRUSIVE_PRIME_C(3), BOOST_INTRUSIVE_PRIME_C(7), - BOOST_INTRUSIVE_PRIME_C(11), BOOST_INTRUSIVE_PRIME_C(17), - BOOST_INTRUSIVE_PRIME_C(29), BOOST_INTRUSIVE_PRIME_C(53), - BOOST_INTRUSIVE_PRIME_C(97), BOOST_INTRUSIVE_PRIME_C(193), - BOOST_INTRUSIVE_PRIME_C(389), BOOST_INTRUSIVE_PRIME_C(769), - BOOST_INTRUSIVE_PRIME_C(1543), BOOST_INTRUSIVE_PRIME_C(3079), - BOOST_INTRUSIVE_PRIME_C(6151), BOOST_INTRUSIVE_PRIME_C(12289), - BOOST_INTRUSIVE_PRIME_C(24593), BOOST_INTRUSIVE_PRIME_C(49157), - BOOST_INTRUSIVE_PRIME_C(98317), BOOST_INTRUSIVE_PRIME_C(196613), - BOOST_INTRUSIVE_PRIME_C(393241), BOOST_INTRUSIVE_PRIME_C(786433), - BOOST_INTRUSIVE_PRIME_C(1572869), BOOST_INTRUSIVE_PRIME_C(3145739), - BOOST_INTRUSIVE_PRIME_C(6291469), BOOST_INTRUSIVE_PRIME_C(12582917), - BOOST_INTRUSIVE_PRIME_C(25165843), BOOST_INTRUSIVE_PRIME_C(50331653), - BOOST_INTRUSIVE_PRIME_C(100663319), BOOST_INTRUSIVE_PRIME_C(201326611), - BOOST_INTRUSIVE_PRIME_C(402653189), BOOST_INTRUSIVE_PRIME_C(805306457), - BOOST_INTRUSIVE_PRIME_C(1610612741), BOOST_INTRUSIVE_PRIME_C(3221225473), -#if BOOST_INTRUSIVE_64_BIT_SIZE_T - //Taken from Boost.MultiIndex code, thanks to Joaquin M Lopez Munoz. - BOOST_INTRUSIVE_PRIME_C(6442450939), BOOST_INTRUSIVE_PRIME_C(12884901893), - BOOST_INTRUSIVE_PRIME_C(25769803751), BOOST_INTRUSIVE_PRIME_C(51539607551), - BOOST_INTRUSIVE_PRIME_C(103079215111), BOOST_INTRUSIVE_PRIME_C(206158430209), - BOOST_INTRUSIVE_PRIME_C(412316860441), BOOST_INTRUSIVE_PRIME_C(824633720831), - BOOST_INTRUSIVE_PRIME_C(1649267441651), BOOST_INTRUSIVE_PRIME_C(3298534883309), - BOOST_INTRUSIVE_PRIME_C(6597069766657), BOOST_INTRUSIVE_PRIME_C(13194139533299), - BOOST_INTRUSIVE_PRIME_C(26388279066623), BOOST_INTRUSIVE_PRIME_C(52776558133303), - BOOST_INTRUSIVE_PRIME_C(105553116266489), BOOST_INTRUSIVE_PRIME_C(211106232532969), - BOOST_INTRUSIVE_PRIME_C(422212465066001), BOOST_INTRUSIVE_PRIME_C(844424930131963), - BOOST_INTRUSIVE_PRIME_C(1688849860263953), BOOST_INTRUSIVE_PRIME_C(3377699720527861), - BOOST_INTRUSIVE_PRIME_C(6755399441055731), BOOST_INTRUSIVE_PRIME_C(13510798882111483), - BOOST_INTRUSIVE_PRIME_C(27021597764222939), BOOST_INTRUSIVE_PRIME_C(54043195528445957), - BOOST_INTRUSIVE_PRIME_C(108086391056891903), BOOST_INTRUSIVE_PRIME_C(216172782113783843), - BOOST_INTRUSIVE_PRIME_C(432345564227567621), BOOST_INTRUSIVE_PRIME_C(864691128455135207), - BOOST_INTRUSIVE_PRIME_C(1729382256910270481), BOOST_INTRUSIVE_PRIME_C(3458764513820540933), - BOOST_INTRUSIVE_PRIME_C(6917529027641081903), BOOST_INTRUSIVE_PRIME_C(13835058055282163729), - BOOST_INTRUSIVE_PRIME_C(18446744073709551557) -#else - BOOST_INTRUSIVE_PRIME_C(4294967291) -#endif - }; - -#undef BOOST_INTRUSIVE_PRIME_C -#undef BOOST_INTRUSIVE_64_BIT_SIZE_T - -template -const std::size_t prime_list_holder::prime_list_size - = sizeof(prime_list)/sizeof(std::size_t); - -template -struct bucket_impl : public Slist -{ - typedef Slist slist_type; - bucket_impl() - {} - - bucket_impl(const bucket_impl &) - {} - - ~bucket_impl() - { - //This bucket is still being used! - BOOST_INTRUSIVE_INVARIANT_ASSERT(Slist::empty()); - } - - bucket_impl &operator=(const bucket_impl&) - { - //This bucket is still in use! - BOOST_INTRUSIVE_INVARIANT_ASSERT(Slist::empty()); - //Slist::clear(); - return *this; - } -}; - -template -struct bucket_traits_impl -{ - private: - BOOST_COPYABLE_AND_MOVABLE(bucket_traits_impl) - - public: - /// @cond - - typedef typename pointer_traits - ::template rebind_pointer - < bucket_impl >::type bucket_ptr; - typedef Slist slist; - typedef typename Slist::size_type size_type; - /// @endcond - - bucket_traits_impl(bucket_ptr buckets, size_type len) - : buckets_(buckets), buckets_len_(len) - {} - - bucket_traits_impl(const bucket_traits_impl &x) - : buckets_(x.buckets_), buckets_len_(x.buckets_len_) - {} - - bucket_traits_impl(BOOST_RV_REF(bucket_traits_impl) x) - : buckets_(x.buckets_), buckets_len_(x.buckets_len_) - { x.buckets_ = bucket_ptr(); x.buckets_len_ = 0; } - - bucket_traits_impl& operator=(BOOST_RV_REF(bucket_traits_impl) x) - { - buckets_ = x.buckets_; buckets_len_ = x.buckets_len_; - x.buckets_ = bucket_ptr(); x.buckets_len_ = 0; return *this; - } - - bucket_traits_impl& operator=(BOOST_COPY_ASSIGN_REF(bucket_traits_impl) x) - { - buckets_ = x.buckets_; buckets_len_ = x.buckets_len_; return *this; - } - - const bucket_ptr &bucket_begin() const - { return buckets_; } - - size_type bucket_count() const - { return buckets_len_; } - - private: - bucket_ptr buckets_; - size_type buckets_len_; -}; - -template -struct hash_reduced_slist_node_traits -{ - template static detail::one test(...); - template static detail::two test(typename U::reduced_slist_node_traits* = 0); - static const bool value = sizeof(test(0)) == sizeof(detail::two); -}; - -template -struct apply_reduced_slist_node_traits -{ - typedef typename NodeTraits::reduced_slist_node_traits type; -}; - -template -struct reduced_slist_node_traits -{ - typedef typename detail::eval_if_c - < hash_reduced_slist_node_traits::value - , apply_reduced_slist_node_traits - , detail::identity - >::type type; -}; - -template -struct get_slist_impl -{ - typedef trivial_value_traits trivial_traits; - - //Reducing symbol length - struct type : make_slist - < typename NodeTraits::node - , boost::intrusive::value_traits - , boost::intrusive::constant_time_size - , boost::intrusive::size_type - >::type - {}; -}; - -} //namespace detail { - -template -class hashtable_iterator -{ - typedef std::iterator - < std::forward_iterator_tag - , typename BucketValueTraits::value_traits::value_type - , typename pointer_traits::difference_type - , typename detail::add_const_if_c - ::type * - , typename detail::add_const_if_c - ::type & - > iterator_traits; - - typedef typename BucketValueTraits::value_traits value_traits; - typedef typename BucketValueTraits::bucket_traits bucket_traits; - typedef typename value_traits::node_traits node_traits; - typedef typename detail::get_slist_impl - ::type - >::type slist_impl; - typedef typename slist_impl::iterator siterator; - typedef typename slist_impl::const_iterator const_siterator; - typedef detail::bucket_impl bucket_type; - - typedef typename pointer_traits - ::template rebind_pointer - < const BucketValueTraits >::type const_bucketvaltraits_ptr; - typedef typename slist_impl::size_type size_type; - - - static typename node_traits::node_ptr downcast_bucket(typename bucket_type::node_ptr p) - { - return pointer_traits:: - pointer_to(static_cast(*p)); - } - - public: - typedef typename iterator_traits::difference_type difference_type; - typedef typename iterator_traits::value_type value_type; - typedef typename iterator_traits::pointer pointer; - typedef typename iterator_traits::reference reference; - typedef typename iterator_traits::iterator_category iterator_category; - - hashtable_iterator () - {} - - explicit hashtable_iterator(siterator ptr, const BucketValueTraits *cont) - : slist_it_ (ptr), traitsptr_ (cont ? pointer_traits::pointer_to(*cont) : const_bucketvaltraits_ptr() ) - {} - - hashtable_iterator(const hashtable_iterator &other) - : slist_it_(other.slist_it()), traitsptr_(other.get_bucket_value_traits()) - {} - - const siterator &slist_it() const - { return slist_it_; } - - hashtable_iterator unconst() const - { return hashtable_iterator(this->slist_it(), this->get_bucket_value_traits()); } - - public: - hashtable_iterator& operator++() - { this->increment(); return *this; } - - hashtable_iterator operator++(int) - { - hashtable_iterator result (*this); - this->increment(); - return result; - } - - friend bool operator== (const hashtable_iterator& i, const hashtable_iterator& i2) - { return i.slist_it_ == i2.slist_it_; } - - friend bool operator!= (const hashtable_iterator& i, const hashtable_iterator& i2) - { return !(i == i2); } - - reference operator*() const - { return *this->operator ->(); } - - pointer operator->() const - { - return boost::intrusive::detail::to_raw_pointer(this->priv_value_traits().to_value_ptr - (downcast_bucket(slist_it_.pointed_node()))); - } - - const const_bucketvaltraits_ptr &get_bucket_value_traits() const - { return traitsptr_; } - - const value_traits &priv_value_traits() const - { return traitsptr_->priv_value_traits(); } - - const bucket_traits &priv_bucket_traits() const - { return traitsptr_->priv_bucket_traits(); } - - private: - void increment() - { - const bucket_traits &rbuck_traits = this->priv_bucket_traits(); - bucket_type* const buckets = boost::intrusive::detail::to_raw_pointer(rbuck_traits.bucket_begin()); - const size_type buckets_len = rbuck_traits.bucket_count(); - - ++slist_it_; - const typename slist_impl::node_ptr n = slist_it_.pointed_node(); - const siterator first_bucket_bbegin = buckets->end(); - if(first_bucket_bbegin.pointed_node() <= n && n <= buckets[buckets_len-1].cend().pointed_node()){ - //If one-past the node is inside the bucket then look for the next non-empty bucket - //1. get the bucket_impl from the iterator - const bucket_type &b = static_cast - (bucket_type::slist_type::container_from_end_iterator(slist_it_)); - - //2. Now just calculate the index b has in the bucket array - size_type n_bucket = static_cast(&b - buckets); - - //3. Iterate until a non-empty bucket is found - do{ - if (++n_bucket >= buckets_len){ //bucket overflow, return end() iterator - slist_it_ = buckets->before_begin(); - return; - } - } - while (buckets[n_bucket].empty()); - slist_it_ = buckets[n_bucket].begin(); - } - else{ - //++slist_it_ yield to a valid object - } - } - - siterator slist_it_; - const_bucketvaltraits_ptr traitsptr_; -}; - -} //namespace intrusive { -} //namespace boost { - -#endif diff --git a/bundled/boost-1.56.0/include/boost/intrusive/detail/list_node.hpp b/bundled/boost-1.56.0/include/boost/intrusive/detail/list_node.hpp deleted file mode 100644 index 0967183fef..0000000000 --- a/bundled/boost-1.56.0/include/boost/intrusive/detail/list_node.hpp +++ /dev/null @@ -1,170 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Olaf Krzikalla 2004-2006. -// (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_LIST_NODE_HPP -#define BOOST_INTRUSIVE_LIST_NODE_HPP - -#include -#include -#include -#include -#include - -namespace boost { -namespace intrusive { - -// list_node_traits can be used with circular_list_algorithms and supplies -// a list_node holding the pointers needed for a double-linked list -// it is used by list_derived_node and list_member_node - -template -struct list_node -{ - typedef typename pointer_traits - :: template rebind_pointer::type node_ptr; - node_ptr next_; - node_ptr prev_; -}; - -template -struct list_node_traits -{ - typedef list_node node; - typedef typename pointer_traits - :: template rebind_pointer::type node_ptr; - typedef typename pointer_traits - :: template rebind_pointer::type const_node_ptr; - - static node_ptr get_previous(const const_node_ptr & n) - { return n->prev_; } - - static node_ptr get_previous(const node_ptr & n) - { return n->prev_; } - - static void set_previous(const node_ptr & n, const node_ptr & prev) - { n->prev_ = prev; } - - static node_ptr get_next(const const_node_ptr & n) - { return n->next_; } - - static node_ptr get_next(const node_ptr & n) - { return n->next_; } - - static void set_next(const node_ptr & n, const node_ptr & next) - { n->next_ = next; } -}; - -// list_iterator provides some basic functions for a -// node oriented bidirectional iterator: -template -class list_iterator -{ - protected: - typedef iiterator - types_t; - - static const bool stateful_value_traits = types_t::stateful_value_traits; - - typedef ValueTraits value_traits; - typedef typename types_t::node_traits node_traits; - - typedef typename types_t::node node; - typedef typename types_t::node_ptr node_ptr; - typedef typename types_t::const_value_traits_ptr const_value_traits_ptr; - - public: - typedef typename types_t::iterator_traits::difference_type difference_type; - typedef typename types_t::iterator_traits::value_type value_type; - typedef typename types_t::iterator_traits::pointer pointer; - typedef typename types_t::iterator_traits::reference reference; - typedef typename types_t::iterator_traits::iterator_category iterator_category; - - list_iterator() - {} - - explicit list_iterator(const node_ptr & nodeptr, const const_value_traits_ptr &traits_ptr) - : members_(nodeptr, traits_ptr) - {} - - list_iterator(list_iterator const& other) - : members_(other.pointed_node(), other.get_value_traits()) - {} - - const node_ptr &pointed_node() const - { return members_.nodeptr_; } - - list_iterator &operator=(const node_ptr &node) - { members_.nodeptr_ = node; return static_cast(*this); } - - const_value_traits_ptr get_value_traits() const - { return members_.get_ptr(); } - - public: - list_iterator& operator++() - { - node_ptr p = node_traits::get_next(members_.nodeptr_); - members_.nodeptr_ = p; - return static_cast (*this); - } - - list_iterator operator++(int) - { - list_iterator result (*this); - members_.nodeptr_ = node_traits::get_next(members_.nodeptr_); - return result; - } - - list_iterator& operator--() - { - members_.nodeptr_ = node_traits::get_previous(members_.nodeptr_); - return static_cast (*this); - } - - list_iterator operator--(int) - { - list_iterator result (*this); - members_.nodeptr_ = node_traits::get_previous(members_.nodeptr_); - return result; - } - - friend bool operator== (const list_iterator& l, const list_iterator& r) - { return l.pointed_node() == r.pointed_node(); } - - friend bool operator!= (const list_iterator& l, const list_iterator& r) - { return !(l == r); } - - reference operator*() const - { return *operator->(); } - - pointer operator->() const - { return this->operator_arrow(detail::bool_()); } - - list_iterator unconst() const - { return list_iterator(this->pointed_node(), this->get_value_traits()); } - - private: - pointer operator_arrow(detail::false_) const - { return ValueTraits::to_value_ptr(members_.nodeptr_); } - - pointer operator_arrow(detail::true_) const - { return this->get_value_traits()->to_value_ptr(members_.nodeptr_); } - - iiterator_members members_; -}; - -} //namespace intrusive -} //namespace boost - -#include - -#endif //BOOST_INTRUSIVE_LIST_NODE_HPP diff --git a/bundled/boost-1.56.0/include/boost/intrusive/detail/mpl.hpp b/bundled/boost-1.56.0/include/boost/intrusive/detail/mpl.hpp deleted file mode 100644 index 9dc0d52c38..0000000000 --- a/bundled/boost-1.56.0/include/boost/intrusive/detail/mpl.hpp +++ /dev/null @@ -1,398 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2006-2014 -// (C) Copyright Microsoft Corporation 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_DETAIL_MPL_HPP -#define BOOST_INTRUSIVE_DETAIL_MPL_HPP - -#include -#include - -namespace boost { -namespace intrusive { -namespace detail { - -template -struct is_same -{ - static const bool value = false; -}; - -template -struct is_same -{ - static const bool value = true; -}; - -template -struct add_const -{ typedef const T type; }; - -template -struct remove_const -{ typedef T type; }; - -template -struct remove_const -{ typedef T type; }; - -template -struct remove_cv -{ typedef T type; }; - -template -struct remove_cv -{ typedef T type; }; - -template -struct remove_cv -{ typedef T type; }; - -template -struct remove_cv -{ typedef T type; }; - -template -struct remove_reference -{ - typedef T type; -}; - -template -struct remove_reference -{ - typedef T type; -}; - - -typedef char one; -struct two {one _[2];}; - -template< bool C_ > -struct bool_ -{ - static const bool value = C_; -}; - -template< class Integer, Integer Value > -struct integer -{ - static const Integer value = Value; -}; - -typedef bool_ true_; -typedef bool_ false_; - -typedef true_ true_type; -typedef false_ false_type; - -typedef char yes_type; -struct no_type -{ - char padding[8]; -}; - -template -struct enable_if_c { - typedef T type; -}; - -template -struct enable_if_c {}; - -template -struct enable_if : public enable_if_c{}; - -template -struct apply -{ - typedef typename F::template apply::type type; -}; - -#if defined(_MSC_VER) && (_MSC_VER >= 1400) - -template -struct is_convertible -{ - static const bool value = __is_convertible_to(T, U); -}; - -#else - -template -class is_convertible -{ - typedef char true_t; - class false_t { char dummy[2]; }; - //use any_conversion as first parameter since in MSVC - //overaligned types can't go through ellipsis - static false_t dispatch(...); - static true_t dispatch(U); - static typename remove_reference::type &trigger(); - public: - static const bool value = sizeof(dispatch(trigger())) == sizeof(true_t); -}; - -#endif - -template< - bool C - , typename T1 - , typename T2 - > -struct if_c -{ - typedef T1 type; -}; - -template< - typename T1 - , typename T2 - > -struct if_c -{ - typedef T2 type; -}; - -template< - typename C - , typename T1 - , typename T2 - > -struct if_ -{ - typedef typename if_c<0 != C::value, T1, T2>::type type; -}; - -template< - bool C - , typename F1 - , typename F2 - > -struct eval_if_c - : if_c::type -{}; - -template< - typename C - , typename T1 - , typename T2 - > -struct eval_if - : if_::type -{}; - -// identity is an extension: it is not part of the standard. -template -struct identity -{ - typedef T type; -}; - -#if defined(BOOST_MSVC) || defined(__BORLANDC_) -#define BOOST_INTRUSIVE_TT_DECL __cdecl -#else -#define BOOST_INTRUSIVE_TT_DECL -#endif - -#if defined(_MSC_EXTENSIONS) && !defined(__BORLAND__) && !defined(_WIN64) && !defined(_M_ARM) && !defined(UNDER_CE) -#define BOOST_INTRUSIVE_TT_TEST_MSC_FUNC_SIGS -#endif - -template -struct is_unary_or_binary_function_impl -{ static const bool value = false; }; - -// see boost ticket #4094 -// avoid duplicate definitions of is_unary_or_binary_function_impl -#ifndef BOOST_INTRUSIVE_TT_TEST_MSC_FUNC_SIGS - -template -struct is_unary_or_binary_function_impl -{ static const bool value = true; }; - -template -struct is_unary_or_binary_function_impl -{ static const bool value = true; }; - -#else // BOOST_INTRUSIVE_TT_TEST_MSC_FUNC_SIGS - -template -struct is_unary_or_binary_function_impl -{ static const bool value = true; }; - -#ifndef _MANAGED - -template -struct is_unary_or_binary_function_impl -{ static const bool value = true; }; - -#endif - -template -struct is_unary_or_binary_function_impl -{ static const bool value = true; }; - -template -struct is_unary_or_binary_function_impl -{ static const bool value = true; }; - -#endif - -// see boost ticket #4094 -// avoid duplicate definitions of is_unary_or_binary_function_impl -#ifndef BOOST_INTRUSIVE_TT_TEST_MSC_FUNC_SIGS - -template -struct is_unary_or_binary_function_impl -{ static const bool value = true; }; - -template -struct is_unary_or_binary_function_impl -{ static const bool value = true; }; - -#else // BOOST_INTRUSIVE_TT_TEST_MSC_FUNC_SIGS - -template -struct is_unary_or_binary_function_impl -{ static const bool value = true; }; - -#ifndef _MANAGED - -template -struct is_unary_or_binary_function_impl -{ static const bool value = true; }; - -#endif - -template -struct is_unary_or_binary_function_impl -{ static const bool value = true; }; - -template -struct is_unary_or_binary_function_impl -{ static const bool value = true; }; - -#endif - -// see boost ticket #4094 -// avoid duplicate definitions of is_unary_or_binary_function_impl -#ifndef BOOST_INTRUSIVE_TT_TEST_MSC_FUNC_SIGS - -template -struct is_unary_or_binary_function_impl -{ static const bool value = true; }; - -template -struct is_unary_or_binary_function_impl -{ static const bool value = true; }; - -#else // BOOST_INTRUSIVE_TT_TEST_MSC_FUNC_SIGS - -template -struct is_unary_or_binary_function_impl -{ static const bool value = true; }; - -#ifndef _MANAGED - -template -struct is_unary_or_binary_function_impl -{ static const bool value = true; }; - -#endif - -template -struct is_unary_or_binary_function_impl -{ static const bool value = true; }; - -template -struct is_unary_or_binary_function_impl -{ static const bool value = true; }; -#endif - -template -struct is_unary_or_binary_function_impl -{ static const bool value = false; }; - -template -struct is_unary_or_binary_function -{ static const bool value = is_unary_or_binary_function_impl::value; }; - -//boost::alignment_of yields to 10K lines of preprocessed code, so we -//need an alternative -template struct alignment_of; - -template -struct alignment_of_hack -{ - char c; - T t; - alignment_of_hack(); -}; - -template -struct alignment_logic -{ - static const std::size_t value = A < S ? A : S; -}; - -template< typename T > -struct alignment_of -{ - static const std::size_t value = alignment_logic - < sizeof(alignment_of_hack) - sizeof(T) - , sizeof(T) - >::value; -}; - -template -class is_empty_class -{ - template - struct empty_helper_t1 : public T - { - empty_helper_t1(); - int i[256]; - }; - - struct empty_helper_t2 - { int i[256]; }; - - public: - static const bool value = sizeof(empty_helper_t1) == sizeof(empty_helper_t2); -}; - -template -struct ls_zeros -{ - static const std::size_t value = (S & std::size_t(1)) ? 0 : (1 + ls_zeros<(S>>1u)>::value); -}; - -template<> -struct ls_zeros<0> -{ - static const std::size_t value = 0; -}; - -template<> -struct ls_zeros<1> -{ - static const std::size_t value = 0; -}; - -} //namespace detail -} //namespace intrusive -} //namespace boost - -#include - -#endif //BOOST_INTRUSIVE_DETAIL_MPL_HPP diff --git a/bundled/boost-1.56.0/include/boost/intrusive/detail/parent_from_member.hpp b/bundled/boost-1.56.0/include/boost/intrusive/detail/parent_from_member.hpp deleted file mode 100644 index cf9f37947d..0000000000 --- a/bundled/boost-1.56.0/include/boost/intrusive/detail/parent_from_member.hpp +++ /dev/null @@ -1,117 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2007-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_DETAIL_PARENT_FROM_MEMBER_HPP -#define BOOST_INTRUSIVE_DETAIL_PARENT_FROM_MEMBER_HPP - -#include -#include - -#if defined(BOOST_MSVC) || ((defined(_WIN32) || defined(__WIN32__) || defined(WIN32)) && defined(BOOST_INTEL)) - #define BOOST_INTRUSIVE_MSVC_ABI_PTR_TO_MEMBER - #include - #include -#endif - -namespace boost { -namespace intrusive { -namespace detail { - -template -inline std::ptrdiff_t offset_from_pointer_to_member(const Member Parent::* ptr_to_member) -{ - //The implementation of a pointer to member is compiler dependent. - #if defined(BOOST_INTRUSIVE_MSVC_ABI_PTR_TO_MEMBER) - - //MSVC compliant compilers use their the first 32 bits as offset (even in 64 bit mode) - union caster_union - { - const Member Parent::* ptr_to_member; - boost::int32_t offset; - } caster; - - //MSVC ABI can use up to 3 int32 to represent pointer to member data - //with virtual base classes, in those cases there is no simple to - //obtain the address of the parent. So static assert to avoid runtime errors - BOOST_STATIC_ASSERT( sizeof(caster) == sizeof(boost::int32_t) ); - - caster.ptr_to_member = ptr_to_member; - return std::ptrdiff_t(caster.offset); - //Additional info on MSVC behaviour for the future. For 2/3 int ptr-to-member - //types dereference seems to be: - // - // vboffset = [compile_time_offset if 2-int ptr2memb] / - // [ptr2memb.i32[2] if 3-int ptr2memb]. - // vbtable = *(this + vboffset); - // adj = vbtable[ptr2memb.i32[1]]; - // var = adj + (this + vboffset) + ptr2memb.i32[0]; - // - //To reverse the operation we need to - // - obtain vboffset (in 2-int ptr2memb implementation only) - // - Go to Parent's vbtable and obtain adjustment at index ptr2memb.i32[1] - // - parent = member - adj - vboffset - ptr2memb.i32[0] - // - //Even accessing to RTTI we might not be able to obtain this information - //so anyone who thinks it's possible, please send a patch. - - //This works with gcc, msvc, ac++, ibmcpp - #elif defined(__GNUC__) || defined(__HP_aCC) || defined(BOOST_INTEL) || \ - defined(__IBMCPP__) || defined(__DECCXX) - const Parent * const parent = 0; - const char *const member = static_cast(static_cast(&(parent->*ptr_to_member))); - return std::ptrdiff_t(member - static_cast(static_cast(parent))); - #else - //This is the traditional C-front approach: __MWERKS__, __DMC__, __SUNPRO_CC - union caster_union - { - const Member Parent::* ptr_to_member; - std::ptrdiff_t offset; - } caster; - caster.ptr_to_member = ptr_to_member; - return caster.offset - 1; - #endif -} - -template -inline Parent *parent_from_member(Member *member, const Member Parent::* ptr_to_member) -{ - return static_cast - ( - static_cast - ( - static_cast(static_cast(member)) - offset_from_pointer_to_member(ptr_to_member) - ) - ); -} - -template -inline const Parent *parent_from_member(const Member *member, const Member Parent::* ptr_to_member) -{ - return static_cast - ( - static_cast - ( - static_cast(static_cast(member)) - offset_from_pointer_to_member(ptr_to_member) - ) - ); -} - -} //namespace detail { -} //namespace intrusive { -} //namespace boost { - -#ifdef BOOST_INTRUSIVE_MSVC_ABI_PTR_TO_MEMBER -#undef BOOST_INTRUSIVE_MSVC_ABI_PTR_TO_MEMBER -#endif - -#include - -#endif //#ifndef BOOST_INTRUSIVE_DETAIL_PARENT_FROM_MEMBER_HPP diff --git a/bundled/boost-1.56.0/include/boost/intrusive/detail/rbtree_node.hpp b/bundled/boost-1.56.0/include/boost/intrusive/detail/rbtree_node.hpp deleted file mode 100644 index 793d47fa7f..0000000000 --- a/bundled/boost-1.56.0/include/boost/intrusive/detail/rbtree_node.hpp +++ /dev/null @@ -1,203 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Olaf Krzikalla 2004-2006. -// (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_RBTREE_NODE_HPP -#define BOOST_INTRUSIVE_RBTREE_NODE_HPP - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { -namespace intrusive { - -///////////////////////////////////////////////////////////////////////////// -// // -// Generic node_traits for any pointer type // -// // -///////////////////////////////////////////////////////////////////////////// - -//This is the compact representation: 3 pointers -template -struct compact_rbtree_node -{ - typedef typename pointer_traits - ::template rebind_pointer - >::type node_ptr; - enum color { red_t, black_t }; - node_ptr parent_, left_, right_; -}; - -//This is the normal representation: 3 pointers + enum -template -struct rbtree_node -{ - typedef typename pointer_traits - ::template rebind_pointer - >::type node_ptr; - - enum color { red_t, black_t }; - node_ptr parent_, left_, right_; - color color_; -}; - -//This is the default node traits implementation -//using a node with 3 generic pointers plus an enum -template -struct default_rbtree_node_traits_impl -{ - typedef rbtree_node node; - - typedef typename pointer_traits - ::template rebind_pointer::type node_ptr; - typedef typename pointer_traits - ::template rebind_pointer::type const_node_ptr; - - typedef typename node::color color; - - static node_ptr get_parent(const const_node_ptr & n) - { return n->parent_; } - - static node_ptr get_parent(const node_ptr & n) - { return n->parent_; } - - static void set_parent(const node_ptr & n, const node_ptr & p) - { n->parent_ = p; } - - static node_ptr get_left(const const_node_ptr & n) - { return n->left_; } - - static node_ptr get_left(const node_ptr & n) - { return n->left_; } - - static void set_left(const node_ptr & n, const node_ptr & l) - { n->left_ = l; } - - static node_ptr get_right(const const_node_ptr & n) - { return n->right_; } - - static node_ptr get_right(const node_ptr & n) - { return n->right_; } - - static void set_right(const node_ptr & n, const node_ptr & r) - { n->right_ = r; } - - static color get_color(const const_node_ptr & n) - { return n->color_; } - - static color get_color(const node_ptr & n) - { return n->color_; } - - static void set_color(const node_ptr & n, color c) - { n->color_ = c; } - - static color black() - { return node::black_t; } - - static color red() - { return node::red_t; } -}; - -//This is the compact node traits implementation -//using a node with 3 generic pointers -template -struct compact_rbtree_node_traits_impl -{ - typedef compact_rbtree_node node; - typedef typename pointer_traits - ::template rebind_pointer::type node_ptr; - typedef typename pointer_traits - ::template rebind_pointer::type const_node_ptr; - - typedef pointer_plus_bits ptr_bit; - - typedef typename node::color color; - - static node_ptr get_parent(const const_node_ptr & n) - { return ptr_bit::get_pointer(n->parent_); } - - static node_ptr get_parent(const node_ptr & n) - { return ptr_bit::get_pointer(n->parent_); } - - static void set_parent(const node_ptr & n, const node_ptr & p) - { ptr_bit::set_pointer(n->parent_, p); } - - static node_ptr get_left(const const_node_ptr & n) - { return n->left_; } - - static node_ptr get_left(const node_ptr & n) - { return n->left_; } - - static void set_left(const node_ptr & n, const node_ptr & l) - { n->left_ = l; } - - static node_ptr get_right(const const_node_ptr & n) - { return n->right_; } - - static node_ptr get_right(const node_ptr & n) - { return n->right_; } - - static void set_right(const node_ptr & n, const node_ptr & r) - { n->right_ = r; } - - static color get_color(const const_node_ptr & n) - { return (color)ptr_bit::get_bits(n->parent_); } - - static color get_color(const node_ptr & n) - { return (color)ptr_bit::get_bits(n->parent_); } - - static void set_color(const node_ptr & n, color c) - { ptr_bit::set_bits(n->parent_, c != 0); } - - static color black() - { return node::black_t; } - - static color red() - { return node::red_t; } -}; - -//Dispatches the implementation based on the boolean -template -struct rbtree_node_traits_dispatch - : public default_rbtree_node_traits_impl -{}; - -template -struct rbtree_node_traits_dispatch - : public compact_rbtree_node_traits_impl -{}; - -//Inherit from the detail::link_dispatch depending on the embedding capabilities -template -struct rbtree_node_traits - : public rbtree_node_traits_dispatch - < VoidPointer - , OptimizeSize && - (max_pointer_plus_bits - < VoidPointer - , detail::alignment_of >::value - >::value >= 1) - > -{}; - -} //namespace intrusive -} //namespace boost - -#include - -#endif //BOOST_INTRUSIVE_RBTREE_NODE_HPP diff --git a/bundled/boost-1.56.0/include/boost/intrusive/detail/slist_node.hpp b/bundled/boost-1.56.0/include/boost/intrusive/detail/slist_node.hpp deleted file mode 100644 index 9f57d6761a..0000000000 --- a/bundled/boost-1.56.0/include/boost/intrusive/detail/slist_node.hpp +++ /dev/null @@ -1,145 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Olaf Krzikalla 2004-2006. -// (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_SLIST_NODE_HPP -#define BOOST_INTRUSIVE_SLIST_NODE_HPP - -#include -#include -#include -#include - -namespace boost { -namespace intrusive { - -template -struct slist_node -{ - typedef typename pointer_traits - ::template rebind_pointer::type node_ptr; - node_ptr next_; -}; - -// slist_node_traits can be used with circular_slist_algorithms and supplies -// a slist_node holding the pointers needed for a singly-linked list -// it is used by slist_base_hook and slist_member_hook -template -struct slist_node_traits -{ - typedef slist_node node; - typedef typename pointer_traits - ::template rebind_pointer::type node_ptr; - typedef typename pointer_traits - ::template rebind_pointer::type const_node_ptr; - - static node_ptr get_next(const const_node_ptr & n) - { return n->next_; } - - static node_ptr get_next(const node_ptr & n) - { return n->next_; } - - static void set_next(const node_ptr & n, const node_ptr & next) - { n->next_ = next; } -}; - -// slist_iterator provides some basic functions for a -// node oriented bidirectional iterator: -template -class slist_iterator -{ - protected: - typedef iiterator - types_t; - - static const bool stateful_value_traits = types_t::stateful_value_traits; - - typedef ValueTraits value_traits; - typedef typename types_t::node_traits node_traits; - - typedef typename types_t::node node; - typedef typename types_t::node_ptr node_ptr; - typedef typename types_t::const_value_traits_ptr const_value_traits_ptr; - - public: - typedef typename types_t::iterator_traits::difference_type difference_type; - typedef typename types_t::iterator_traits::value_type value_type; - typedef typename types_t::iterator_traits::pointer pointer; - typedef typename types_t::iterator_traits::reference reference; - typedef typename types_t::iterator_traits::iterator_category iterator_category; - - slist_iterator() - {} - - explicit slist_iterator(const node_ptr & nodeptr, const const_value_traits_ptr &traits_ptr) - : members_(nodeptr, traits_ptr) - {} - - slist_iterator(slist_iterator const& other) - : members_(other.pointed_node(), other.get_value_traits()) - {} - - const node_ptr &pointed_node() const - { return members_.nodeptr_; } - - slist_iterator &operator=(const node_ptr &node) - { members_.nodeptr_ = node; return static_cast(*this); } - - const_value_traits_ptr get_value_traits() const - { return members_.get_ptr(); } - - public: - slist_iterator& operator++() - { - members_.nodeptr_ = node_traits::get_next(members_.nodeptr_); - return static_cast (*this); - } - - slist_iterator operator++(int) - { - slist_iterator result (*this); - members_.nodeptr_ = node_traits::get_next(members_.nodeptr_); - return result; - } - - friend bool operator== (const slist_iterator& l, const slist_iterator& r) - { return l.pointed_node() == r.pointed_node(); } - - friend bool operator!= (const slist_iterator& l, const slist_iterator& r) - { return !(l == r); } - - reference operator*() const - { return *operator->(); } - - pointer operator->() const - { return this->operator_arrow(detail::bool_()); } - - slist_iterator unconst() const - { return slist_iterator(this->pointed_node(), this->get_value_traits()); } - - private: - - pointer operator_arrow(detail::false_) const - { return ValueTraits::to_value_ptr(members_.nodeptr_); } - - pointer operator_arrow(detail::true_) const - { return this->get_value_traits()->to_value_ptr(members_.nodeptr_); } - - iiterator_members members_; -}; - -} //namespace intrusive -} //namespace boost - -#include - -#endif //BOOST_INTRUSIVE_SLIST_NODE_HPP diff --git a/bundled/boost-1.56.0/include/boost/intrusive/detail/transform_iterator.hpp b/bundled/boost-1.56.0/include/boost/intrusive/detail/transform_iterator.hpp deleted file mode 100644 index 808e81a42a..0000000000 --- a/bundled/boost-1.56.0/include/boost/intrusive/detail/transform_iterator.hpp +++ /dev/null @@ -1,173 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2007-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_DETAIL_TRANSFORM_ITERATOR_HPP -#define BOOST_INTRUSIVE_DETAIL_TRANSFORM_ITERATOR_HPP - -#include -#include -#include - -namespace boost { -namespace intrusive { -namespace detail { - -template -struct operator_arrow_proxy -{ - operator_arrow_proxy(const PseudoReference &px) - : m_value(px) - {} - - PseudoReference* operator->() const { return &m_value; } - // This function is needed for MWCW and BCC, which won't call operator-> - // again automatically per 13.3.1.2 para 8 -// operator T*() const { return &m_value; } - mutable PseudoReference m_value; -}; - -template -struct operator_arrow_proxy -{ - operator_arrow_proxy(T &px) - : m_value(px) - {} - - T* operator->() const { return &m_value; } - // This function is needed for MWCW and BCC, which won't call operator-> - // again automatically per 13.3.1.2 para 8 -// operator T*() const { return &m_value; } - T &m_value; -}; - -template -class transform_iterator - : public std::iterator - < typename Iterator::iterator_category - , typename detail::remove_reference::type - , typename Iterator::difference_type - , operator_arrow_proxy - , typename UnaryFunction::result_type> -{ - public: - explicit transform_iterator(const Iterator &it, const UnaryFunction &f = UnaryFunction()) - : members_(it, f) - {} - - explicit transform_iterator() - : members_() - {} - - Iterator get_it() const - { return members_.m_it; } - - //Constructors - transform_iterator& operator++() - { increment(); return *this; } - - transform_iterator operator++(int) - { - transform_iterator result (*this); - increment(); - return result; - } - - friend bool operator== (const transform_iterator& i, const transform_iterator& i2) - { return i.equal(i2); } - - friend bool operator!= (const transform_iterator& i, const transform_iterator& i2) - { return !(i == i2); } - -/* - friend bool operator> (const transform_iterator& i, const transform_iterator& i2) - { return i2 < i; } - - friend bool operator<= (const transform_iterator& i, const transform_iterator& i2) - { return !(i > i2); } - - friend bool operator>= (const transform_iterator& i, const transform_iterator& i2) - { return !(i < i2); } -*/ - friend typename Iterator::difference_type operator- (const transform_iterator& i, const transform_iterator& i2) - { return i2.distance_to(i); } - - //Arithmetic - transform_iterator& operator+=(typename Iterator::difference_type off) - { this->advance(off); return *this; } - - transform_iterator operator+(typename Iterator::difference_type off) const - { - transform_iterator other(*this); - other.advance(off); - return other; - } - - friend transform_iterator operator+(typename Iterator::difference_type off, const transform_iterator& right) - { return right + off; } - - transform_iterator& operator-=(typename Iterator::difference_type off) - { this->advance(-off); return *this; } - - transform_iterator operator-(typename Iterator::difference_type off) const - { return *this + (-off); } - - typename UnaryFunction::result_type operator*() const - { return dereference(); } - - operator_arrow_proxy - operator->() const - { return operator_arrow_proxy(dereference()); } - - private: - struct members - : UnaryFunction - { - members(const Iterator &it, const UnaryFunction &f) - : UnaryFunction(f), m_it(it) - {} - - members() - {} - - Iterator m_it; - } members_; - - - void increment() - { ++members_.m_it; } - - void decrement() - { --members_.m_it; } - - bool equal(const transform_iterator &other) const - { return members_.m_it == other.members_.m_it; } - - bool less(const transform_iterator &other) const - { return other.members_.m_it < members_.m_it; } - - typename UnaryFunction::result_type dereference() const - { return members_(*members_.m_it); } - - void advance(typename Iterator::difference_type n) - { std::advance(members_.m_it, n); } - - typename Iterator::difference_type distance_to(const transform_iterator &other)const - { return std::distance(other.members_.m_it, members_.m_it); } -}; - -} //namespace detail -} //namespace intrusive -} //namespace boost - -#include - -#endif //BOOST_INTRUSIVE_DETAIL_TRANSFORM_ITERATOR_HPP diff --git a/bundled/boost-1.56.0/include/boost/intrusive/detail/tree_node.hpp b/bundled/boost-1.56.0/include/boost/intrusive/detail/tree_node.hpp deleted file mode 100644 index f1497fb3a1..0000000000 --- a/bundled/boost-1.56.0/include/boost/intrusive/detail/tree_node.hpp +++ /dev/null @@ -1,188 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2007-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_TREE_NODE_HPP -#define BOOST_INTRUSIVE_TREE_NODE_HPP - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { -namespace intrusive { - -template -struct tree_node -{ - typedef typename pointer_traits - ::template rebind_pointer - >::type node_ptr; - - node_ptr parent_, left_, right_; -}; - -template -struct tree_node_traits -{ - typedef tree_node node; - - typedef typename pointer_traits::template - rebind_pointer::type node_ptr; - typedef typename pointer_traits::template - rebind_pointer::type const_node_ptr; - - static node_ptr get_parent(const const_node_ptr & n) - { return n->parent_; } - - static node_ptr get_parent(const node_ptr & n) - { return n->parent_; } - - static void set_parent(const node_ptr & n, const node_ptr & p) - { n->parent_ = p; } - - static node_ptr get_left(const const_node_ptr & n) - { return n->left_; } - - static node_ptr get_left(const node_ptr & n) - { return n->left_; } - - static void set_left(const node_ptr & n, const node_ptr & l) - { n->left_ = l; } - - static node_ptr get_right(const const_node_ptr & n) - { return n->right_; } - - static node_ptr get_right(const node_ptr & n) - { return n->right_; } - - static void set_right(const node_ptr & n, const node_ptr & r) - { n->right_ = r; } -}; - -///////////////////////////////////////////////////////////////////////////// -// // -// Implementation of the tree iterator // -// // -///////////////////////////////////////////////////////////////////////////// - -// tree_iterator provides some basic functions for a -// node oriented bidirectional iterator: -template -class tree_iterator -{ - protected: - typedef iiterator< ValueTraits, IsConst - , std::bidirectional_iterator_tag> types_t; - - typedef ValueTraits value_traits; - typedef typename types_t::node_traits node_traits; - - typedef typename types_t::node node; - typedef typename types_t::node_ptr node_ptr; - typedef typename types_t::const_value_traits_ptr const_value_traits_ptr; - static const bool stateful_value_traits = types_t::stateful_value_traits; - typedef bstree_algorithms node_algorithms; - - public: - typedef typename types_t::iterator_traits::difference_type difference_type; - typedef typename types_t::iterator_traits::value_type value_type; - typedef typename types_t::iterator_traits::pointer pointer; - typedef typename types_t::iterator_traits::reference reference; - typedef typename types_t::iterator_traits::iterator_category iterator_category; - - tree_iterator() - {} - - explicit tree_iterator(const node_ptr & nodeptr, const const_value_traits_ptr &traits_ptr) - : members_(nodeptr, traits_ptr) - {} - - tree_iterator(tree_iterator const& other) - : members_(other.pointed_node(), other.get_value_traits()) - {} - - const node_ptr &pointed_node() const - { return members_.nodeptr_; } - - tree_iterator &operator=(const node_ptr &nodeptr) - { members_.nodeptr_ = nodeptr; return static_cast(*this); } - - public: - tree_iterator& operator++() - { - members_.nodeptr_ = node_algorithms::next_node(members_.nodeptr_); - return static_cast (*this); - } - - tree_iterator operator++(int) - { - tree_iterator result (*this); - members_.nodeptr_ = node_algorithms::next_node(members_.nodeptr_); - return result; - } - - tree_iterator& operator--() - { - members_.nodeptr_ = node_algorithms::prev_node(members_.nodeptr_); - return static_cast (*this); - } - - tree_iterator operator--(int) - { - tree_iterator result (*this); - members_.nodeptr_ = node_algorithms::prev_node(members_.nodeptr_); - return result; - } - - friend bool operator== (const tree_iterator& l, const tree_iterator& r) - { return l.pointed_node() == r.pointed_node(); } - - friend bool operator!= (const tree_iterator& l, const tree_iterator& r) - { return !(l == r); } - - reference operator*() const - { return *operator->(); } - - pointer operator->() const - { return this->operator_arrow(detail::bool_()); } - - const_value_traits_ptr get_value_traits() const - { return members_.get_ptr(); } - - tree_iterator end_iterator_from_it() const - { - return tree_iterator(node_algorithms::get_header(this->pointed_node()), this->get_value_traits()); - } - - tree_iterator unconst() const - { return tree_iterator(this->pointed_node(), this->get_value_traits()); } - - private: - pointer operator_arrow(detail::false_) const - { return ValueTraits::to_value_ptr(members_.nodeptr_); } - - pointer operator_arrow(detail::true_) const - { return this->get_value_traits()->to_value_ptr(members_.nodeptr_); } - - iiterator_members members_; -}; - -} //namespace intrusive -} //namespace boost - -#include - -#endif //BOOST_INTRUSIVE_TREE_NODE_HPP diff --git a/bundled/boost-1.56.0/include/boost/intrusive/detail/workaround.hpp b/bundled/boost-1.56.0/include/boost/intrusive/detail/workaround.hpp deleted file mode 100644 index 71a50c8647..0000000000 --- a/bundled/boost-1.56.0/include/boost/intrusive/detail/workaround.hpp +++ /dev/null @@ -1,26 +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. -// -////////////////////////////////////////////////////////////////////////////// - -#ifndef BOOST_INTRUSIVE_DETAIL_WRKRND_HPP -#define BOOST_INTRUSIVE_DETAIL_WRKRND_HPP - -#include - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - #define BOOST_INTRUSIVE_PERFECT_FORWARDING -#endif - -//Macros for documentation purposes. For code, expands to the argument -#define BOOST_INTRUSIVE_IMPDEF(TYPE) TYPE -#define BOOST_INTRUSIVE_SEEDOC(TYPE) TYPE - -#include - -#endif //#ifndef BOOST_INTRUSIVE_DETAIL_WRKRND_HPP diff --git a/bundled/boost-1.56.0/include/boost/intrusive/hashtable.hpp b/bundled/boost-1.56.0/include/boost/intrusive/hashtable.hpp deleted file mode 100644 index 8ada6e79ca..0000000000 --- a/bundled/boost-1.56.0/include/boost/intrusive/hashtable.hpp +++ /dev/null @@ -1,3192 +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_HASHTABLE_HPP -#define BOOST_INTRUSIVE_HASHTABLE_HPP - -#include -#include -//std C++ -#include //std::equal_to -#include //std::pair -#include //std::swap, std::lower_bound, std::upper_bound -#include //std::size_t -//boost -#include -#include -#include -//General intrusive utilities -#include -#include -#include -#include -#include -//Implementation utilities -#include -#include -#include -#include -#include - -namespace boost { -namespace intrusive { - -/// @cond - -struct hash_bool_flags -{ - static const std::size_t unique_keys_pos = 1u; - static const std::size_t constant_time_size_pos = 2u; - static const std::size_t power_2_buckets_pos = 4u; - static const std::size_t cache_begin_pos = 8u; - static const std::size_t compare_hash_pos = 16u; - static const std::size_t incremental_pos = 32u; -}; - -namespace detail { - -template -struct get_slist_impl_from_supposed_value_traits -{ - typedef SupposedValueTraits value_traits; - typedef typename detail::get_node_traits - ::type node_traits; - typedef typename get_slist_impl - ::type - >::type type; -}; - -template -struct unordered_bucket_impl -{ - typedef typename - get_slist_impl_from_supposed_value_traits - ::type slist_impl; - typedef detail::bucket_impl implementation_defined; - typedef implementation_defined type; -}; - -template -struct unordered_bucket_ptr_impl -{ - typedef typename detail::get_node_traits - ::type::node_ptr node_ptr; - typedef typename unordered_bucket_impl - ::type bucket_type; - - typedef typename pointer_traits - ::template rebind_pointer - < bucket_type >::type implementation_defined; - typedef implementation_defined type; -}; - -template -struct store_hash_bool -{ - template - struct two_or_three {one _[2 + Add];}; - template static one test(...); - template static two_or_three test (int); - static const std::size_t value = sizeof(test(0)); -}; - -template -struct store_hash_is_true -{ - static const bool value = store_hash_bool::value > sizeof(one)*2; -}; - -template -struct optimize_multikey_bool -{ - template - struct two_or_three {one _[2 + Add];}; - template static one test(...); - template static two_or_three test (int); - static const std::size_t value = sizeof(test(0)); -}; - -template -struct optimize_multikey_is_true -{ - static const bool value = optimize_multikey_bool::value > sizeof(one)*2; -}; - -struct insert_commit_data_impl -{ - std::size_t hash; -}; - -template -inline typename pointer_traits::template rebind_pointer::type - dcast_bucket_ptr(const SlistNodePtr &p) -{ - typedef typename pointer_traits::template rebind_pointer::type node_ptr; - return pointer_traits::pointer_to(static_cast(*p)); -} - -template -struct group_functions -{ - typedef NodeTraits node_traits; - typedef unordered_group_adapter group_traits; - typedef typename node_traits::node_ptr node_ptr; - typedef typename node_traits::node node; - typedef typename reduced_slist_node_traits - ::type reduced_node_traits; - typedef typename reduced_node_traits::node_ptr slist_node_ptr; - typedef typename reduced_node_traits::node slist_node; - typedef circular_slist_algorithms group_algorithms; - - static slist_node_ptr get_bucket_before_begin - (const slist_node_ptr &bucket_beg, const slist_node_ptr &bucket_end, const node_ptr &p) - { - //First find the last node of p's group. - //This requires checking the first node of the next group or - //the bucket node. - node_ptr prev_node = p; - node_ptr nxt(node_traits::get_next(p)); - while(!(bucket_beg <= nxt && nxt <= bucket_end) && - (group_traits::get_next(nxt) == prev_node)){ - prev_node = nxt; - nxt = node_traits::get_next(nxt); - } - - //If we've reached the bucket node just return it. - if(bucket_beg <= nxt && nxt <= bucket_end){ - return nxt; - } - - //Otherwise, iterate using group links until the bucket node - node_ptr first_node_of_group = nxt; - node_ptr last_node_group = group_traits::get_next(first_node_of_group); - slist_node_ptr possible_end = node_traits::get_next(last_node_group); - - while(!(bucket_beg <= possible_end && possible_end <= bucket_end)){ - first_node_of_group = detail::dcast_bucket_ptr(possible_end); - last_node_group = group_traits::get_next(first_node_of_group); - possible_end = node_traits::get_next(last_node_group); - } - return possible_end; - } - - static node_ptr get_prev_to_first_in_group(const slist_node_ptr &bucket_node, const node_ptr &first_in_group) - { - //Just iterate using group links and obtain the node - //before "first_in_group)" - node_ptr prev_node = detail::dcast_bucket_ptr(bucket_node); - node_ptr nxt(node_traits::get_next(prev_node)); - while(nxt != first_in_group){ - prev_node = group_traits::get_next(nxt); - nxt = node_traits::get_next(prev_node); - } - return prev_node; - } - - static node_ptr get_first_in_group_of_last_in_group(const node_ptr &last_in_group) - { - //Just iterate using group links and obtain the node - //before "last_in_group" - node_ptr possible_first = group_traits::get_next(last_in_group); - node_ptr possible_first_prev = group_traits::get_next(possible_first); - // The deleted node is at the end of the group, so the - // node in the group pointing to it is at the beginning - // of the group. Find that to change its pointer. - while(possible_first_prev != last_in_group){ - possible_first = possible_first_prev; - possible_first_prev = group_traits::get_next(possible_first); - } - return possible_first; - } - - static void erase_from_group(const slist_node_ptr &end_ptr, const node_ptr &to_erase_ptr, detail::true_) - { - node_ptr nxt_ptr(node_traits::get_next(to_erase_ptr)); - node_ptr prev_in_group_ptr(group_traits::get_next(to_erase_ptr)); - bool last_in_group = (end_ptr == nxt_ptr) || - (group_traits::get_next(nxt_ptr) != to_erase_ptr); - bool is_first_in_group = node_traits::get_next(prev_in_group_ptr) != to_erase_ptr; - - if(is_first_in_group && last_in_group){ - group_algorithms::init(to_erase_ptr); - } - else if(is_first_in_group){ - group_algorithms::unlink_after(nxt_ptr); - } - else if(last_in_group){ - node_ptr first_in_group = - get_first_in_group_of_last_in_group(to_erase_ptr); - group_algorithms::unlink_after(first_in_group); - } - else{ - group_algorithms::unlink_after(nxt_ptr); - } - } - - static void erase_from_group(const slist_node_ptr&, const node_ptr&, detail::false_) - {} - - static node_ptr get_last_in_group(const node_ptr &first_in_group, detail::true_) - { return group_traits::get_next(first_in_group); } - - static node_ptr get_last_in_group(const node_ptr &n, detail::false_) - { return n; } - - static void init_group(const node_ptr &n, true_) - { group_algorithms::init(n); } - - static void init_group(const node_ptr &, false_) - {} - - static void insert_in_group(const node_ptr &first_in_group, const node_ptr &n, true_) - { - if(first_in_group){ - if(group_algorithms::unique(first_in_group)) - group_algorithms::link_after(first_in_group, n); - else{ - group_algorithms::link_after(group_algorithms::node_traits::get_next(first_in_group), n); - } - } - else{ - group_algorithms::init_header(n); - } - } - - static slist_node_ptr get_previous_and_next_in_group - ( const slist_node_ptr &i, node_ptr &nxt_in_group - //If first_end_ptr == last_end_ptr, then first_end_ptr is the bucket of i - //Otherwise first_end_ptr is the first bucket and last_end_ptr the last one. - , const slist_node_ptr &first_end_ptr, const slist_node_ptr &last_end_ptr) - { - slist_node_ptr prev; - node_ptr elem(detail::dcast_bucket_ptr(i)); - - //It's the last in group if the next_node is a bucket - slist_node_ptr nxt(node_traits::get_next(elem)); - bool last_in_group = (first_end_ptr <= nxt && nxt <= last_end_ptr)/* || - (group_traits::get_next(nxt) != elem)*/; - //It's the first in group if group_previous's next_node is not - //itself, as group list does not link bucket - node_ptr prev_in_group(group_traits::get_next(elem)); - bool first_in_group = node_traits::get_next(prev_in_group) != elem; - - if(first_in_group){ - node_ptr start_pos; - if(last_in_group){ - start_pos = elem; - nxt_in_group = node_ptr(); - } - else{ - start_pos = prev_in_group; - nxt_in_group = node_traits::get_next(elem); - } - slist_node_ptr bucket_node; - if(first_end_ptr != last_end_ptr){ - bucket_node = group_functions::get_bucket_before_begin - (first_end_ptr, last_end_ptr, start_pos); - } - else{ - bucket_node = first_end_ptr; - } - prev = group_functions::get_prev_to_first_in_group(bucket_node, elem); - } - else{ - if(last_in_group){ - nxt_in_group = group_functions::get_first_in_group_of_last_in_group(elem); - } - else{ - nxt_in_group = node_traits::get_next(elem); - } - prev = group_traits::get_next(elem); - } - return prev; - } - - static void insert_in_group(const node_ptr&, const node_ptr&, false_) - {} -}; - -template -class incremental_rehash_rollback -{ - private: - typedef BucketType bucket_type; - typedef SplitTraits split_traits; - - incremental_rehash_rollback(); - incremental_rehash_rollback & operator=(const incremental_rehash_rollback &); - incremental_rehash_rollback (const incremental_rehash_rollback &); - - public: - incremental_rehash_rollback - (bucket_type &source_bucket, bucket_type &destiny_bucket, split_traits &split_traits) - : source_bucket_(source_bucket), destiny_bucket_(destiny_bucket) - , split_traits_(split_traits), released_(false) - {} - - void release() - { released_ = true; } - - ~incremental_rehash_rollback() - { - if(!released_){ - //If an exception is thrown, just put all moved nodes back in the old bucket - //and move back the split mark. - destiny_bucket_.splice_after(destiny_bucket_.before_begin(), source_bucket_); - split_traits_.decrement(); - } - } - - private: - bucket_type &source_bucket_; - bucket_type &destiny_bucket_; - split_traits &split_traits_; - bool released_; -}; - -template -struct node_functions -{ - static void store_hash(typename NodeTraits::node_ptr p, std::size_t h, true_) - { return NodeTraits::set_hash(p, h); } - - static void store_hash(typename NodeTraits::node_ptr, std::size_t, false_) - {} -}; - -inline std::size_t hash_to_bucket(std::size_t hash_value, std::size_t bucket_cnt, detail::false_) -{ return hash_value % bucket_cnt; } - -inline std::size_t hash_to_bucket(std::size_t hash_value, std::size_t bucket_cnt, detail::true_) -{ return hash_value & (bucket_cnt - 1); } - -template -inline std::size_t hash_to_bucket_split(std::size_t hash_value, std::size_t bucket_cnt, std::size_t split) -{ - std::size_t bucket_number = detail::hash_to_bucket(hash_value, bucket_cnt, detail::bool_()); - if(Incremental) - if(bucket_number >= split) - bucket_number -= bucket_cnt/2; - return bucket_number; -} - -} //namespace detail { - -//!This metafunction will obtain the type of a bucket -//!from the value_traits or hook option to be used with -//!a hash container. -template -struct unordered_bucket - : public detail::unordered_bucket_impl - ::proto_value_traits - > -{}; - -//!This metafunction will obtain the type of a bucket pointer -//!from the value_traits or hook option to be used with -//!a hash container. -template -struct unordered_bucket_ptr - : public detail::unordered_bucket_ptr_impl - ::proto_value_traits - > -{}; - -//!This metafunction will obtain the type of the default bucket traits -//!(when the user does not specify the bucket_traits<> option) from the -//!value_traits or hook option to be used with -//!a hash container. -template -struct unordered_default_bucket_traits -{ - typedef typename ValueTraitsOrHookOption:: - template pack::proto_value_traits supposed_value_traits; - typedef typename detail:: - get_slist_impl_from_supposed_value_traits - ::type slist_impl; - typedef detail::bucket_traits_impl - implementation_defined; - typedef implementation_defined type; -}; - -struct default_bucket_traits; - -struct hashtable_defaults -{ - typedef detail::default_hashtable_hook proto_value_traits; - typedef std::size_t size_type; - typedef void equal; - typedef void hash; - typedef default_bucket_traits bucket_traits; - static const bool constant_time_size = true; - static const bool power_2_buckets = false; - static const bool cache_begin = false; - static const bool compare_hash = false; - static const bool incremental = false; -}; - -template -struct downcast_node_to_value_t - : public detail::node_to_value -{ - typedef detail::node_to_value base_t; - typedef typename base_t::result_type result_type; - typedef ValueTraits value_traits; - typedef typename detail::get_slist_impl - ::type - >::type slist_impl; - typedef typename detail::add_const_if_c - ::type & first_argument_type; - typedef typename detail::add_const_if_c - < typename ValueTraits::node_traits::node - , IsConst>::type & intermediate_argument_type; - typedef typename pointer_traits - :: - template rebind_pointer - ::type const_value_traits_ptr; - - downcast_node_to_value_t(const const_value_traits_ptr &ptr) - : base_t(ptr) - {} - - result_type operator()(first_argument_type arg) const - { return this->base_t::operator()(static_cast(arg)); } -}; - -template -struct node_cast_adaptor - : private detail::ebo_functor_holder -{ - typedef detail::ebo_functor_holder base_t; - - typedef typename pointer_traits::element_type slist_node; - typedef typename pointer_traits::element_type node; - - template - node_cast_adaptor(const ConvertibleToF &c2f, const RealValuTraits *traits) - : base_t(base_t(c2f, traits)) - {} - - typename base_t::node_ptr operator()(const slist_node &to_clone) - { return base_t::operator()(static_cast(to_clone)); } - - void operator()(SlistNodePtr to_clone) - { - base_t::operator()(pointer_traits::pointer_to(static_cast(*to_clone))); - } -}; - -static const std::size_t hashtable_data_bool_flags_mask = - ( hash_bool_flags::cache_begin_pos - | hash_bool_flags::constant_time_size_pos - | hash_bool_flags::incremental_pos - ); - -//bucket_plus_vtraits stores ValueTraits + BucketTraits -//this data is needed by iterators to obtain the -//value from the iterator and detect the bucket -template -struct bucket_plus_vtraits : public ValueTraits -{ - typedef BucketTraits bucket_traits; - typedef ValueTraits value_traits; - - static const bool safemode_or_autounlink = is_safe_autounlink::value; - - typedef typename - detail::get_slist_impl_from_supposed_value_traits - ::type slist_impl; - typedef typename value_traits::node_traits node_traits; - typedef unordered_group_adapter group_traits; - typedef typename slist_impl::iterator siterator; - typedef typename slist_impl::size_type size_type; - typedef detail::bucket_impl bucket_type; - typedef detail::group_functions group_functions_t; - typedef typename slist_impl::node_algorithms node_algorithms; - typedef typename slist_impl::node_ptr slist_node_ptr; - typedef typename node_traits::node_ptr node_ptr; - typedef typename node_traits::node node; - typedef typename value_traits::value_type value_type; - typedef circular_slist_algorithms group_algorithms; - typedef typename pointer_traits - :: - template rebind_pointer - ::type const_value_traits_ptr; - typedef typename pointer_traits - :: - template rebind_pointer - ::type const_bucket_value_traits_ptr; - typedef typename detail::unordered_bucket_ptr_impl - ::type bucket_ptr; - typedef detail::bool_::value> optimize_multikey_t; - - template - bucket_plus_vtraits(const ValueTraits &val_traits, BOOST_FWD_REF(BucketTraitsType) b_traits) - : ValueTraits(val_traits), bucket_traits_(::boost::forward(b_traits)) - {} - - bucket_plus_vtraits & operator =(const bucket_plus_vtraits &x) - { bucket_traits_ = x.bucket_traits_; return *this; } - - const_value_traits_ptr priv_value_traits_ptr() const - { return pointer_traits::pointer_to(this->priv_value_traits()); } - - //bucket_value_traits - // - const bucket_plus_vtraits &get_bucket_value_traits() const - { return *this; } - - bucket_plus_vtraits &get_bucket_value_traits() - { return *this; } - - const_bucket_value_traits_ptr bucket_value_traits_ptr() const - { return pointer_traits::pointer_to(this->get_bucket_value_traits()); } - - //value traits - // - const value_traits &priv_value_traits() const - { return *this; } - - value_traits &priv_value_traits() - { return *this; } - - //bucket_traits - // - const bucket_traits &priv_bucket_traits() const - { return this->bucket_traits_; } - - bucket_traits &priv_bucket_traits() - { return this->bucket_traits_; } - - //bucket operations - bucket_ptr priv_bucket_pointer() const - { return this->priv_bucket_traits().bucket_begin(); } - - typename slist_impl::size_type priv_bucket_count() const - { return this->priv_bucket_traits().bucket_count(); } - - bucket_ptr priv_invalid_bucket() const - { - const bucket_traits &rbt = this->priv_bucket_traits(); - return rbt.bucket_begin() + rbt.bucket_count(); - } - siterator priv_invalid_local_it() const - { return this->priv_bucket_traits().bucket_begin()->before_begin(); } - - static siterator priv_get_last(bucket_type &b, detail::true_) //optimize multikey - { - //First find the last node of p's group. - //This requires checking the first node of the next group or - //the bucket node. - slist_node_ptr end_ptr(b.end().pointed_node()); - node_ptr possible_end(node_traits::get_next( detail::dcast_bucket_ptr(end_ptr))); - node_ptr last_node_group(possible_end); - - while(end_ptr != possible_end){ - last_node_group = group_traits::get_next(detail::dcast_bucket_ptr(possible_end)); - possible_end = node_traits::get_next(last_node_group); - } - return bucket_type::s_iterator_to(*last_node_group); - } - - static siterator priv_get_last(bucket_type &b, detail::false_) //NOT optimize multikey - { return b.previous(b.end()); } - - static siterator priv_get_previous(bucket_type &b, siterator i, detail::true_) //optimize multikey - { - node_ptr elem(detail::dcast_bucket_ptr(i.pointed_node())); - node_ptr prev_in_group(group_traits::get_next(elem)); - bool first_in_group = node_traits::get_next(prev_in_group) != elem; - typename bucket_type::node &n = first_in_group - ? *group_functions_t::get_prev_to_first_in_group(b.end().pointed_node(), elem) - : *group_traits::get_next(elem) - ; - return bucket_type::s_iterator_to(n); - } - - static siterator priv_get_previous(bucket_type &b, siterator i, detail::false_) //NOT optimize multikey - { return b.previous(i); } - - static void priv_clear_group_nodes(bucket_type &b, detail::true_) //optimize multikey - { - siterator it(b.begin()), itend(b.end()); - while(it != itend){ - node_ptr to_erase(detail::dcast_bucket_ptr(it.pointed_node())); - ++it; - group_algorithms::init(to_erase); - } - } - - static void priv_clear_group_nodes(bucket_type &, detail::false_) //NOT optimize multikey - {} - - std::size_t priv_get_bucket_num_no_hash_store(siterator it, detail::true_) //optimize multikey - { - const bucket_ptr f(this->priv_bucket_pointer()), l(f + this->priv_bucket_count() - 1); - slist_node_ptr bb = group_functions_t::get_bucket_before_begin - ( f->end().pointed_node() - , l->end().pointed_node() - , detail::dcast_bucket_ptr(it.pointed_node())); - //Now get the bucket_impl from the iterator - const bucket_type &b = static_cast - (bucket_type::slist_type::container_from_end_iterator(bucket_type::s_iterator_to(*bb))); - //Now just calculate the index b has in the bucket array - return static_cast(&b - &*f); - } - - std::size_t priv_get_bucket_num_no_hash_store(siterator it, detail::false_) //NO optimize multikey - { - bucket_ptr f(this->priv_bucket_pointer()), l(f + this->priv_bucket_count() - 1); - slist_node_ptr first_ptr(f->cend().pointed_node()) - , last_ptr(l->cend().pointed_node()); - - //The end node is embedded in the singly linked list: - //iterate until we reach it. - while(!(first_ptr <= it.pointed_node() && it.pointed_node() <= last_ptr)){ - ++it; - } - //Now get the bucket_impl from the iterator - const bucket_type &b = static_cast - (bucket_type::container_from_end_iterator(it)); - - //Now just calculate the index b has in the bucket array - return static_cast(&b - &*f); - } - - static std::size_t priv_stored_hash(slist_node_ptr n, detail::true_) //store_hash - { return node_traits::get_hash(detail::dcast_bucket_ptr(n)); } - - static std::size_t priv_stored_hash(slist_node_ptr, detail::false_) //NO store_hash (This should never be called) - { BOOST_INTRUSIVE_INVARIANT_ASSERT(0); return 0; } - - node &priv_value_to_node(value_type &v) - { return *this->priv_value_traits().to_node_ptr(v); } - - const node &priv_value_to_node(const value_type &v) const - { return *this->priv_value_traits().to_node_ptr(v); } - - value_type &priv_value_from_slist_node(slist_node_ptr n) - { return *this->priv_value_traits().to_value_ptr(detail::dcast_bucket_ptr(n)); } - - const value_type &priv_value_from_slist_node(slist_node_ptr n) const - { return *this->priv_value_traits().to_value_ptr(detail::dcast_bucket_ptr(n)); } - - void priv_clear_buckets(const bucket_ptr buckets_ptr, const size_type bucket_cnt) - { - bucket_ptr buckets_it = buckets_ptr; - for(size_type bucket_i = 0; bucket_i != bucket_cnt; ++buckets_it, ++bucket_i){ - if(safemode_or_autounlink){ - bucket_plus_vtraits::priv_clear_group_nodes(*buckets_it, optimize_multikey_t()); - buckets_it->clear_and_dispose(detail::init_disposer()); - } - else{ - buckets_it->clear(); - } - } - } - - bucket_traits bucket_traits_; -}; - -//bucket_hash_t -//Stores bucket_plus_vtraits plust the hash function -template -struct bucket_hash_t - : public detail::ebo_functor_holder - ::value_traits::value_type - >::type - > -{ - typedef typename bucket_plus_vtraits::value_traits value_traits; - typedef typename value_traits::value_type value_type; - typedef typename value_traits::node_traits node_traits; - typedef typename get_hash< VoidOrKeyHash, value_type>::type hasher; - typedef BucketTraits bucket_traits; - typedef bucket_plus_vtraits bucket_plus_vtraits_t; - - template - bucket_hash_t(const ValueTraits &val_traits, BOOST_FWD_REF(BucketTraitsType) b_traits, const hasher & h) - : detail::ebo_functor_holder(h), internal(val_traits, ::boost::forward(b_traits)) - {} - - const hasher &priv_hasher() const - { return this->detail::ebo_functor_holder::get(); } - - hasher &priv_hasher() - { return this->detail::ebo_functor_holder::get(); } - - std::size_t priv_stored_or_compute_hash(const value_type &v, detail::true_) const //For store_hash == true - { return node_traits::get_hash(this->internal.priv_value_traits().to_node_ptr(v)); } - - std::size_t priv_stored_or_compute_hash(const value_type &v, detail::false_) const //For store_hash == false - { return this->priv_hasher()(v); } - - bucket_plus_vtraits_t internal; //4 -}; - -//bucket_hash_equal_t -//Stores bucket_hash_t and the equality function when the first -//non-empty bucket shall not be cached. -template -struct bucket_hash_equal_t - : public detail::ebo_functor_holder //equal - ::value_traits::value_type - >::type - > -{ - typedef bucket_hash_t bucket_hash_type; - typedef bucket_plus_vtraits bucket_plus_vtraits_t; - typedef typename bucket_plus_vtraits_t::value_traits value_traits; - typedef typename get_equal_to< VoidOrKeyEqual - , typename value_traits::value_type - >::type value_equal; - typedef typename bucket_hash_type::hasher hasher; - typedef BucketTraits bucket_traits; - typedef typename bucket_plus_vtraits_t::slist_impl slist_impl; - typedef typename slist_impl::size_type size_type; - typedef typename slist_impl::iterator siterator; - typedef detail::bucket_impl bucket_type; - typedef typename detail::unordered_bucket_ptr_impl::type bucket_ptr; - - template - bucket_hash_equal_t(const ValueTraits &val_traits, BOOST_FWD_REF(BucketTraitsType) b_traits, const hasher & h, const value_equal &e) - : detail::ebo_functor_holder(e) - , internal(val_traits, ::boost::forward(b_traits), h) - {} - - bucket_ptr priv_get_cache() - { return this->internal.internal.priv_bucket_pointer(); } - - void priv_set_cache(const bucket_ptr &) - {} - - size_type priv_get_cache_bucket_num() - { return 0u; } - - void priv_initialize_cache() - {} - - void priv_swap_cache(bucket_hash_equal_t &) - {} - - siterator priv_begin() const - { - size_type n = 0; - size_type bucket_cnt = this->internal.internal.priv_bucket_count(); - for (n = 0; n < bucket_cnt; ++n){ - bucket_type &b = this->internal.internal.priv_bucket_pointer()[n]; - if(!b.empty()){ - return b.begin(); - } - } - return this->internal.internal.priv_invalid_local_it(); - } - - void priv_insertion_update_cache(size_type) - {} - - void priv_erasure_update_cache_range(size_type, size_type) - {} - - void priv_erasure_update_cache() - {} - - const value_equal &priv_equal() const - { return this->detail::ebo_functor_holder::get(); } - - value_equal &priv_equal() - { return this->detail::ebo_functor_holder::get(); } - - bucket_hash_t internal; //3 -}; - -//bucket_hash_equal_t -//Stores bucket_hash_t and the equality function when the first -//non-empty bucket shall be cached. -template //cache_begin == true version -struct bucket_hash_equal_t - : public detail::ebo_functor_holder //equal - ::value_traits::value_type - >::type - > -{ - typedef bucket_plus_vtraits bucket_plus_vtraits_t; - typedef bucket_hash_t bucket_hash_type; - typedef typename bucket_plus_vtraits - ::value_traits value_traits; - typedef typename get_equal_to - < VoidOrKeyEqual - , typename value_traits::value_type>::type value_equal; - typedef typename bucket_hash_type::hasher hasher; - typedef BucketTraits bucket_traits; - typedef typename bucket_plus_vtraits_t::slist_impl::size_type size_type; - typedef typename bucket_plus_vtraits_t::slist_impl::iterator siterator; - - template - bucket_hash_equal_t(const ValueTraits &val_traits, BOOST_FWD_REF(BucketTraitsType) b_traits, const hasher & h, const value_equal &e) - : detail::ebo_functor_holder(e) - , internal(val_traits, ::boost::forward(b_traits), h) - {} - - typedef typename detail::unordered_bucket_ptr_impl - ::type bucket_ptr; - - bucket_ptr &priv_get_cache() - { return cached_begin_; } - - const bucket_ptr &priv_get_cache() const - { return cached_begin_; } - - void priv_set_cache(const bucket_ptr &p) - { cached_begin_ = p; } - - std::size_t priv_get_cache_bucket_num() - { return this->cached_begin_ - this->internal.internal.priv_bucket_pointer(); } - - void priv_initialize_cache() - { this->cached_begin_ = this->internal.internal.priv_invalid_bucket(); } - - void priv_swap_cache(bucket_hash_equal_t &other) - { - std::swap(this->cached_begin_, other.cached_begin_); - } - - siterator priv_begin() const - { - if(this->cached_begin_ == this->internal.internal.priv_invalid_bucket()){ - return this->internal.internal.priv_invalid_local_it(); - } - else{ - return this->cached_begin_->begin(); - } - } - - void priv_insertion_update_cache(size_type insertion_bucket) - { - bucket_ptr p = this->internal.internal.priv_bucket_pointer() + insertion_bucket; - if(p < this->cached_begin_){ - this->cached_begin_ = p; - } - } - - const value_equal &priv_equal() const - { return this->detail::ebo_functor_holder::get(); } - - value_equal &priv_equal() - { return this->detail::ebo_functor_holder::get(); } - - void priv_erasure_update_cache_range(size_type first_bucket_num, size_type last_bucket_num) - { - //If the last bucket is the end, the cache must be updated - //to the last position if all - if(this->priv_get_cache_bucket_num() == first_bucket_num && - this->internal.internal.priv_bucket_pointer()[first_bucket_num].empty() ){ - this->priv_set_cache(this->internal.internal.priv_bucket_pointer() + last_bucket_num); - this->priv_erasure_update_cache(); - } - } - - void priv_erasure_update_cache() - { - if(this->cached_begin_ != this->internal.internal.priv_invalid_bucket()){ - size_type current_n = this->priv_get_cache() - this->internal.internal.priv_bucket_pointer(); - for( const size_type num_buckets = this->internal.internal.priv_bucket_count() - ; current_n < num_buckets - ; ++current_n, ++this->priv_get_cache()){ - if(!this->priv_get_cache()->empty()){ - return; - } - } - this->priv_initialize_cache(); - } - } - - bucket_ptr cached_begin_; - bucket_hash_t internal; //2 -}; - -//hashdata_internal -//Stores bucket_hash_equal_t and split_traits -template -struct hashdata_internal - : public detail::size_holder< 0 != (BoolFlags & hash_bool_flags::incremental_pos), SizeType, int> //split_traits -{ - typedef bucket_hash_equal_t - < VoidOrKeyHash, VoidOrKeyEqual - , ValueTraits, BucketTraits - , 0 != (BoolFlags & hash_bool_flags::cache_begin_pos) - > internal_type; - typedef typename internal_type::value_equal value_equal; - typedef typename internal_type::hasher hasher; - typedef bucket_plus_vtraits bucket_plus_vtraits_t; - typedef typename bucket_plus_vtraits_t::size_type size_type; - typedef typename bucket_plus_vtraits_t::bucket_ptr bucket_ptr; - typedef detail::size_holder - <0 != (BoolFlags & hash_bool_flags::incremental_pos) - , SizeType, int> split_traits; - typedef typename bucket_plus_vtraits_t:: - value_traits::node_traits node_traits; - typedef detail::bool_::value> optimize_multikey_t; - - template - hashdata_internal( const ValueTraits &val_traits, BOOST_FWD_REF(BucketTraitsType) b_traits - , const hasher & h, const value_equal &e) - : internal(val_traits, ::boost::forward(b_traits), h, e) - {} - - split_traits &priv_split_traits() - { return *this; } - - const split_traits &priv_split_traits() const - { return *this; } - - ~hashdata_internal() - { this->priv_clear_buckets(); } - - void priv_clear_buckets() - { - this->internal.internal.internal.priv_clear_buckets - ( this->internal.priv_get_cache() - , this->internal.internal.internal.priv_bucket_count() - - (this->internal.priv_get_cache() - - this->internal.internal.internal.priv_bucket_pointer())); - } - - void priv_clear_buckets_and_cache() - { - this->priv_clear_buckets(); - this->internal.priv_initialize_cache(); - } - - void priv_initialize_buckets_and_cache() - { - this->internal.internal.internal.priv_clear_buckets - ( this->internal.internal.internal.priv_bucket_pointer() - , this->internal.internal.internal.priv_bucket_count()); - this->internal.priv_initialize_cache(); - } - - internal_type internal; //2 -}; - -//hashtable_data_t -//Stores hashdata_internal and size_traits -template -struct hashtable_data_t - : public detail::size_holder - < 0 != (BoolFlags & hash_bool_flags::constant_time_size_pos), SizeType> //size_traits -{ - typedef detail::size_holder - < 0 != (BoolFlags & hash_bool_flags::constant_time_size_pos) - , SizeType> size_traits; - typedef hashdata_internal - < SizeType - , BoolFlags & (hash_bool_flags::incremental_pos | hash_bool_flags::cache_begin_pos) - , VoidOrKeyHash, VoidOrKeyEqual - , ValueTraits, BucketTraits> internal_type; - typedef ValueTraits value_traits; - typedef typename internal_type::value_equal value_equal; - typedef typename internal_type::hasher hasher; - typedef BucketTraits bucket_traits; - typedef bucket_plus_vtraits - bucket_plus_vtraits_t; - - template - hashtable_data_t( BOOST_FWD_REF(BucketTraitsType) b_traits, const hasher & h - , const value_equal &e, const value_traits &val_traits) - : internal(val_traits, ::boost::forward(b_traits), h, e) - {} - - internal_type internal; //1 -}; - -/// @endcond - -//! The class template hashtable is an intrusive hash table container, that -//! is used to construct intrusive unordered_set and unordered_multiset containers. The -//! no-throw guarantee holds only, if the VoidOrKeyEqual object and Hasher don't throw. -//! -//! hashtable is a semi-intrusive container: each object to be stored in the -//! container must contain a proper hook, but the container also needs -//! additional auxiliary memory to work: hashtable needs a pointer to an array -//! of type `bucket_type` to be passed in the constructor. This bucket array must -//! have at least the same lifetime as the container. This makes the use of -//! hashtable more complicated than purely intrusive containers. -//! `bucket_type` is default-constructible, copyable and assignable -//! -//! 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<>, \c hash<> and \c equal<> -//! \c bucket_traits<>, power_2_buckets<>, cache_begin<> and incremental<>. -//! -//! hashtable only provides forward iterators but it provides 4 iterator types: -//! iterator and const_iterator to navigate through the whole container and -//! local_iterator and const_local_iterator to navigate through the values -//! stored in a single bucket. Local iterators are faster and smaller. -//! -//! It's not recommended to use non constant-time size hashtables because several -//! key functions, like "empty()", become non-constant time functions. Non -//! constant_time size hashtables are mainly provided to support auto-unlink hooks. -//! -//! hashtables, does not make automatic rehashings nor -//! offers functions related to a load factor. Rehashing can be explicitly requested -//! and the user must provide a new bucket array that will be used from that moment. -//! -//! Since no automatic rehashing is done, iterators are never invalidated when -//! inserting or erasing elements. Iterators are only invalidated when rehashing. -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -template -#else -template -#endif -class hashtable_impl - : private hashtable_data_t - < SizeType - , BoolFlags & hashtable_data_bool_flags_mask - , VoidOrKeyHash, VoidOrKeyEqual, ValueTraits, BucketTraits> -{ - typedef hashtable_data_t - < SizeType - , BoolFlags & hashtable_data_bool_flags_mask - , VoidOrKeyHash, VoidOrKeyEqual, ValueTraits, BucketTraits> data_type; - - public: - typedef ValueTraits value_traits; - - /// @cond - typedef BucketTraits bucket_traits; - - typedef typename detail::get_slist_impl - ::type - >::type slist_impl; - typedef bucket_plus_vtraits bucket_plus_vtraits_t; - typedef typename bucket_plus_vtraits_t::const_value_traits_ptr const_value_traits_ptr; - - - /// @endcond - - typedef typename value_traits::pointer pointer; - typedef typename value_traits::const_pointer const_pointer; - typedef typename value_traits::value_type value_type; - typedef typename pointer_traits::reference reference; - typedef typename pointer_traits::reference const_reference; - typedef typename pointer_traits::difference_type difference_type; - typedef SizeType size_type; - typedef value_type key_type; - typedef typename data_type::value_equal key_equal; - typedef typename data_type::value_equal value_equal; - typedef typename data_type::hasher hasher; - typedef detail::bucket_impl bucket_type; - typedef typename pointer_traits - ::template rebind_pointer - < bucket_type >::type bucket_ptr; - typedef typename pointer_traits - ::template rebind_pointer - < const bucket_type >::type const_bucket_ptr; - typedef typename pointer_traits - ::reference bucket_reference; - typedef typename pointer_traits - ::reference const_bucket_reference; - typedef typename slist_impl::iterator siterator; - typedef typename slist_impl::const_iterator const_siterator; - typedef hashtable_iterator iterator; - typedef hashtable_iterator const_iterator; - typedef typename value_traits::node_traits node_traits; - typedef typename node_traits::node node; - typedef typename pointer_traits - ::template rebind_pointer - < node >::type node_ptr; - typedef typename pointer_traits - ::template rebind_pointer - < const node >::type const_node_ptr; - typedef typename pointer_traits - ::reference node_reference; - typedef typename pointer_traits - ::reference const_node_reference; - typedef typename slist_impl::node_algorithms node_algorithms; - - static const bool stateful_value_traits = detail::is_stateful_value_traits::value; - static const bool store_hash = detail::store_hash_is_true::value; - - static const bool unique_keys = 0 != (BoolFlags & hash_bool_flags::unique_keys_pos); - static const bool constant_time_size = 0 != (BoolFlags & hash_bool_flags::constant_time_size_pos); - static const bool cache_begin = 0 != (BoolFlags & hash_bool_flags::cache_begin_pos); - static const bool compare_hash = 0 != (BoolFlags & hash_bool_flags::compare_hash_pos); - static const bool incremental = 0 != (BoolFlags & hash_bool_flags::incremental_pos); - static const bool power_2_buckets = incremental || (0 != (BoolFlags & hash_bool_flags::power_2_buckets_pos)); - - static const bool optimize_multikey - = detail::optimize_multikey_is_true::value && !unique_keys; - - /// @cond - private: - - //Configuration error: compare_hash<> can't be specified without store_hash<> - //See documentation for more explanations - BOOST_STATIC_ASSERT((!compare_hash || store_hash)); - - typedef typename slist_impl::node_ptr slist_node_ptr; - typedef typename pointer_traits - ::template rebind_pointer - < void >::type void_pointer; - //We'll define group traits, but these won't be instantiated if - //optimize_multikey is not true - typedef unordered_group_adapter group_traits; - typedef circular_slist_algorithms group_algorithms; - typedef detail::bool_ store_hash_t; - typedef detail::bool_ optimize_multikey_t; - typedef detail::bool_ cache_begin_t; - typedef detail::bool_ power_2_buckets_t; - typedef detail::size_holder size_traits; - typedef detail::size_holder split_traits; - typedef detail::group_functions group_functions_t; - typedef detail::node_functions node_functions_t; - - private: - //noncopyable, movable - BOOST_MOVABLE_BUT_NOT_COPYABLE(hashtable_impl) - - static const bool safemode_or_autounlink = is_safe_autounlink::value; - - //Constant-time size is incompatible with auto-unlink hooks! - BOOST_STATIC_ASSERT(!(constant_time_size && ((int)value_traits::link_mode == (int)auto_unlink))); - //Cache begin is incompatible with auto-unlink hooks! - BOOST_STATIC_ASSERT(!(cache_begin && ((int)value_traits::link_mode == (int)auto_unlink))); - - template - node_cast_adaptor< detail::node_disposer - , slist_node_ptr, node_ptr > - make_node_disposer(const Disposer &disposer) const - { - return node_cast_adaptor - < detail::node_disposer - , slist_node_ptr, node_ptr > - (disposer, &this->priv_value_traits()); - } - - /// @endcond - - public: - typedef detail::insert_commit_data_impl insert_commit_data; - - typedef detail::transform_iterator - < typename slist_impl::iterator - , downcast_node_to_value_t - < value_traits - , false> > local_iterator; - - typedef detail::transform_iterator - < typename slist_impl::iterator - , downcast_node_to_value_t - < value_traits - , true> > const_local_iterator; - - public: - - //! Requires: buckets must not be being used by any other resource. - //! - //! Effects: Constructs an empty unordered_set, storing a reference - //! to the bucket array and copies of the key_hasher and equal_func functors. - //! - //! Complexity: Constant. - //! - //! Throws: If value_traits::node_traits::node - //! constructor throws (this does not happen with predefined Boost.Intrusive hooks) - //! or the copy constructor or invocation of hash_func or equal_func throws. - //! - //! Notes: buckets array must be disposed only after - //! *this is disposed. - explicit hashtable_impl ( const bucket_traits &b_traits - , const hasher & hash_func = hasher() - , const key_equal &equal_func = key_equal() - , const value_traits &v_traits = value_traits()) - : data_type(b_traits, hash_func, equal_func, v_traits) - { - this->data_type::internal.priv_initialize_buckets_and_cache(); - this->priv_size_traits().set_size(size_type(0)); - size_type bucket_sz = this->priv_bucket_count(); - BOOST_INTRUSIVE_INVARIANT_ASSERT(bucket_sz != 0); - //Check power of two bucket array if the option is activated - BOOST_INTRUSIVE_INVARIANT_ASSERT - (!power_2_buckets || (0 == (bucket_sz & (bucket_sz-1)))); - this->priv_split_traits().set_size(bucket_sz>>1); - } - - //! Effects: to-do - //! - hashtable_impl(BOOST_RV_REF(hashtable_impl) x) - : data_type( ::boost::move(x.priv_bucket_traits()) - , ::boost::move(x.priv_hasher()) - , ::boost::move(x.priv_equal()) - , ::boost::move(x.priv_value_traits()) - ) - { - this->priv_swap_cache(x); - x.priv_initialize_cache(); - if(constant_time_size){ - this->priv_size_traits().set_size(size_type(0)); - this->priv_size_traits().set_size(x.priv_size_traits().get_size()); - x.priv_size_traits().set_size(size_type(0)); - } - if(incremental){ - this->priv_split_traits().set_size(x.priv_split_traits().get_size()); - x.priv_split_traits().set_size(size_type(0)); - } - } - - //! Effects: to-do - //! - hashtable_impl& operator=(BOOST_RV_REF(hashtable_impl) x) - { this->swap(x); return *this; } - - #if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - //! Effects: Detaches all elements from this. The objects in the unordered_set - //! are not deleted (i.e. no destructors are called). - //! - //! Complexity: Linear to the number of elements in the unordered_set, if - //! it's a safe-mode or auto-unlink value. Otherwise constant. - //! - //! Throws: Nothing. - ~hashtable_impl(); - #endif - - //! Effects: Returns an iterator pointing to the beginning of the unordered_set. - //! - //! Complexity: Amortized constant time. - //! Worst case (empty unordered_set): O(this->bucket_count()) - //! - //! Throws: Nothing. - iterator begin() - { return iterator(this->priv_begin(), &this->get_bucket_value_traits()); } - - //! Effects: Returns a const_iterator pointing to the beginning - //! of the unordered_set. - //! - //! Complexity: Amortized constant time. - //! Worst case (empty unordered_set): O(this->bucket_count()) - //! - //! Throws: Nothing. - const_iterator begin() const - { return this->cbegin(); } - - //! Effects: Returns a const_iterator pointing to the beginning - //! of the unordered_set. - //! - //! Complexity: Amortized constant time. - //! Worst case (empty unordered_set): O(this->bucket_count()) - //! - //! Throws: Nothing. - const_iterator cbegin() const - { return const_iterator(this->priv_begin(), &this->get_bucket_value_traits()); } - - //! Effects: Returns an iterator pointing to the end of the unordered_set. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - iterator end() - { return iterator(this->priv_invalid_local_it(), 0); } - - //! Effects: Returns a const_iterator pointing to the end of the unordered_set. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - const_iterator end() const - { return this->cend(); } - - //! Effects: Returns a const_iterator pointing to the end of the unordered_set. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - const_iterator cend() const - { return const_iterator(this->priv_invalid_local_it(), 0); } - - //! Effects: Returns the hasher object used by the unordered_set. - //! - //! Complexity: Constant. - //! - //! Throws: If hasher copy-constructor throws. - hasher hash_function() const - { return this->priv_hasher(); } - - //! Effects: Returns the key_equal object used by the unordered_set. - //! - //! Complexity: Constant. - //! - //! Throws: If key_equal copy-constructor throws. - key_equal key_eq() const - { return this->priv_equal(); } - - //! Effects: Returns true if the container is empty. - //! - //! Complexity: if constant-time size and cache_begin options are disabled, - //! average constant time (worst case, with empty() == true: O(this->bucket_count()). - //! Otherwise constant. - //! - //! Throws: Nothing. - bool empty() const - { - if(constant_time_size){ - return !this->size(); - } - else if(cache_begin){ - return this->begin() == this->end(); - } - else{ - size_type bucket_cnt = this->priv_bucket_count(); - const bucket_type *b = boost::intrusive::detail::to_raw_pointer(this->priv_bucket_pointer()); - for (size_type n = 0; n < bucket_cnt; ++n, ++b){ - if(!b->empty()){ - return false; - } - } - return true; - } - } - - //! Effects: Returns the number of elements stored in the unordered_set. - //! - //! Complexity: Linear to elements contained in *this if - //! constant_time_size is false. Constant-time otherwise. - //! - //! Throws: Nothing. - size_type size() const - { - if(constant_time_size) - return this->priv_size_traits().get_size(); - else{ - size_type len = 0; - size_type bucket_cnt = this->priv_bucket_count(); - const bucket_type *b = boost::intrusive::detail::to_raw_pointer(this->priv_bucket_pointer()); - for (size_type n = 0; n < bucket_cnt; ++n, ++b){ - len += b->size(); - } - return len; - } - } - - //! Requires: the hasher and the equality function unqualified swap - //! call should not throw. - //! - //! Effects: Swaps the contents of two unordered_sets. - //! Swaps also the contained bucket array and equality and hasher functors. - //! - //! Complexity: Constant. - //! - //! Throws: If the swap() call for the comparison or hash functors - //! found using ADL throw. Basic guarantee. - void swap(hashtable_impl& other) - { - using std::swap; - //These can throw - swap(this->priv_equal(), other.priv_equal()); - swap(this->priv_hasher(), other.priv_hasher()); - //These can't throw - swap(this->priv_bucket_traits(), other.priv_bucket_traits()); - swap(this->priv_value_traits(), other.priv_value_traits()); - this->priv_swap_cache(other); - if(constant_time_size){ - size_type backup = this->priv_size_traits().get_size(); - this->priv_size_traits().set_size(other.priv_size_traits().get_size()); - other.priv_size_traits().set_size(backup); - } - if(incremental){ - size_type backup = this->priv_split_traits().get_size(); - this->priv_split_traits().set_size(other.priv_split_traits().get_size()); - other.priv_split_traits().set_size(backup); - } - } - - //! Requires: Disposer::operator()(pointer) shouldn't throw - //! Cloner should yield to nodes that compare equal and produce the same - //! hash than the original node. - //! - //! Effects: Erases all the elements from *this - //! calling Disposer::operator()(pointer), clones all the - //! elements from src calling Cloner::operator()(const_reference ) - //! and inserts them on *this. The hash function and the equality - //! predicate are copied from the source. - //! - //! If store_hash option is true, this method does not use the hash function. - //! - //! If any operation throws, all cloned elements are unlinked and disposed - //! calling Disposer::operator()(pointer). - //! - //! Complexity: Linear to erased plus inserted elements. - //! - //! Throws: If cloner or hasher throw or hash or equality predicate copying - //! throws. Basic guarantee. - template - void clone_from(const hashtable_impl &src, Cloner cloner, Disposer disposer) - { - this->clear_and_dispose(disposer); - if(!constant_time_size || !src.empty()){ - const size_type src_bucket_count = src.bucket_count(); - const size_type dst_bucket_count = this->bucket_count(); - //Check power of two bucket array if the option is activated - BOOST_INTRUSIVE_INVARIANT_ASSERT - (!power_2_buckets || (0 == (src_bucket_count & (src_bucket_count-1)))); - BOOST_INTRUSIVE_INVARIANT_ASSERT - (!power_2_buckets || (0 == (dst_bucket_count & (dst_bucket_count-1)))); - - //If src bucket count is bigger or equal, structural copy is possible - if(!incremental && (src_bucket_count >= dst_bucket_count)){ - //First clone the first ones - const bucket_ptr src_buckets = src.priv_bucket_pointer(); - const bucket_ptr dst_buckets = this->priv_bucket_pointer(); - size_type constructed; - - typedef node_cast_adaptor< detail::node_disposer - , slist_node_ptr, node_ptr > NodeDisposer; - typedef node_cast_adaptor< detail::node_cloner - , slist_node_ptr, node_ptr > NodeCloner; - NodeDisposer node_disp(disposer, &this->priv_value_traits()); - - detail::exception_array_disposer - rollback(dst_buckets[0], node_disp, constructed); - for( constructed = 0 - ; constructed < dst_bucket_count - ; ++constructed){ - dst_buckets[constructed].clone_from - ( src_buckets[constructed] - , NodeCloner(cloner, &this->priv_value_traits()), node_disp); - } - if(src_bucket_count != dst_bucket_count){ - //Now insert the remaining ones using the modulo trick - for(//"constructed" comes from the previous loop - ; constructed < src_bucket_count - ; ++constructed){ - bucket_type &dst_b = - dst_buckets[detail::hash_to_bucket_split(constructed, dst_bucket_count, dst_bucket_count)]; - bucket_type &src_b = src_buckets[constructed]; - for( siterator b(src_b.begin()), e(src_b.end()) - ; b != e - ; ++b){ - dst_b.push_front(*(NodeCloner(cloner, &this->priv_value_traits())(*b.pointed_node()))); - } - } - } - this->priv_hasher() = src.priv_hasher(); - this->priv_equal() = src.priv_equal(); - rollback.release(); - this->priv_size_traits().set_size(src.priv_size_traits().get_size()); - this->priv_split_traits().set_size(dst_bucket_count); - this->priv_insertion_update_cache(0u); - this->priv_erasure_update_cache(); - } - else if(store_hash){ - //Unlike previous cloning algorithm, this can throw - //if cloner, hasher or comparison functor throw - const_iterator b(src.cbegin()), e(src.cend()); - detail::exception_disposer - rollback(*this, disposer); - for(; b != e; ++b){ - std::size_t hash_value = this->priv_stored_or_compute_hash(*b, store_hash_t());; - this->priv_insert_equal_with_hash(*cloner(*b), hash_value); - } - rollback.release(); - } - else{ - //Unlike previous cloning algorithm, this can throw - //if cloner, hasher or comparison functor throw - const_iterator b(src.cbegin()), e(src.cend()); - detail::exception_disposer - rollback(*this, disposer); - for(; b != e; ++b){ - this->insert_equal(*cloner(*b)); - } - rollback.release(); - } - } - } - - //! Requires: value must be an lvalue - //! - //! Effects: Inserts the value into the unordered_set. - //! - //! Returns: An iterator to the inserted value. - //! - //! Complexity: Average case O(1), worst case O(this->size()). - //! - //! Throws: If the internal hasher or the equality functor throws. Strong guarantee. - //! - //! Note: Does not affect the validity of iterators and references. - //! No copy-constructors are called. - iterator insert_equal(reference value) - { - size_type bucket_num; - std::size_t hash_value; - siterator prev; - siterator it = this->priv_find - (value, this->priv_hasher(), this->priv_equal(), bucket_num, hash_value, prev); - return this->priv_insert_equal_find(value, bucket_num, hash_value, it); - } - - //! Requires: Dereferencing iterator must yield an lvalue - //! of type value_type. - //! - //! Effects: Equivalent to this->insert_equal(t) for each element in [b, e). - //! - //! Complexity: Average case O(N), where N is std::distance(b, e). - //! Worst case O(N*this->size()). - //! - //! Throws: If the internal hasher or the equality functor throws. Basic guarantee. - //! - //! Note: Does not affect the validity of iterators and references. - //! No copy-constructors are called. - template - void insert_equal(Iterator b, Iterator e) - { - for (; b != e; ++b) - this->insert_equal(*b); - } - - //! Requires: value must be an lvalue - //! - //! Effects: Tries to inserts value into the unordered_set. - //! - //! Returns: If the value - //! is not already present inserts it and returns a pair containing the - //! iterator to the new value and true. If there is an equivalent value - //! returns a pair containing an iterator to the already present value - //! and false. - //! - //! Complexity: Average case O(1), worst case O(this->size()). - //! - //! Throws: If the internal hasher or the equality functor throws. Strong guarantee. - //! - //! Note: Does not affect the validity of iterators and references. - //! No copy-constructors are called. - std::pair insert_unique(reference value) - { - insert_commit_data commit_data; - std::pair ret = this->insert_unique_check - (value, this->priv_hasher(), this->priv_equal(), commit_data); - if(!ret.second) - return ret; - return std::pair - (this->insert_unique_commit(value, commit_data), true); - } - - //! Requires: Dereferencing iterator must yield an lvalue - //! of type value_type. - //! - //! Effects: Equivalent to this->insert_unique(t) for each element in [b, e). - //! - //! Complexity: Average case O(N), where N is std::distance(b, e). - //! Worst case O(N*this->size()). - //! - //! Throws: If the internal hasher or the equality functor throws. Basic guarantee. - //! - //! Note: Does not affect the validity of iterators and references. - //! No copy-constructors are called. - template - void insert_unique(Iterator b, Iterator e) - { - for (; b != e; ++b) - this->insert_unique(*b); - } - - //! Requires: "hash_func" must be a hash function that induces - //! the same hash values as the stored hasher. The difference is that - //! "hash_func" hashes the given key instead of the value_type. - //! - //! "equal_func" must be a equality function that induces - //! the same equality as key_equal. The difference is that - //! "equal_func" compares an arbitrary key with the contained values. - //! - //! Effects: Checks if a value can be inserted in the unordered_set, using - //! a user provided key instead of the value itself. - //! - //! Returns: If there is an equivalent value - //! returns a pair containing an iterator to the already present value - //! and false. If the value can be inserted returns true in the returned - //! pair boolean and fills "commit_data" that is meant to be used with - //! the "insert_commit" function. - //! - //! Complexity: Average case O(1), worst case O(this->size()). - //! - //! Throws: If hash_func or equal_func throw. Strong guarantee. - //! - //! Notes: This function is used to improve performance when constructing - //! a value_type is expensive: if there is an equivalent value - //! the constructed object must be discarded. Many times, the part of the - //! node that is used to impose the hash or the equality is much cheaper to - //! construct than the value_type and this function offers the possibility to - //! use that the part to check if the insertion will be successful. - //! - //! If the check is successful, the user can construct the value_type and use - //! "insert_commit" to insert the object in constant-time. - //! - //! "commit_data" remains valid for a subsequent "insert_commit" only if no more - //! objects are inserted or erased from the unordered_set. - //! - //! After a successful rehashing insert_commit_data remains valid. - template - std::pair insert_unique_check - ( const KeyType &key - , KeyHasher hash_func - , KeyValueEqual equal_func - , insert_commit_data &commit_data) - { - size_type bucket_num; - siterator prev; - siterator prev_pos = - this->priv_find(key, hash_func, equal_func, bucket_num, commit_data.hash, prev); - bool success = prev_pos == this->priv_invalid_local_it(); - if(success){ - prev_pos = prev; - } - return std::pair(iterator(prev_pos, &this->get_bucket_value_traits()),success); - } - - //! Requires: value must be an lvalue of type value_type. commit_data - //! must have been obtained from a previous call to "insert_check". - //! No objects should have been inserted or erased from the unordered_set between - //! the "insert_check" that filled "commit_data" and the call to "insert_commit". - //! - //! Effects: Inserts the value in the unordered_set using the information obtained - //! from the "commit_data" that a previous "insert_check" filled. - //! - //! Returns: An iterator to the newly inserted object. - //! - //! Complexity: Constant time. - //! - //! Throws: Nothing. - //! - //! Notes: This function has only sense if a "insert_check" has been - //! previously executed to fill "commit_data". No value should be inserted or - //! erased between the "insert_check" and "insert_commit" calls. - //! - //! After a successful rehashing insert_commit_data remains valid. - iterator insert_unique_commit(reference value, const insert_commit_data &commit_data) - { - size_type bucket_num = this->priv_hash_to_bucket(commit_data.hash); - bucket_type &b = this->priv_bucket_pointer()[bucket_num]; - this->priv_size_traits().increment(); - node_ptr n = pointer_traits::pointer_to(this->priv_value_to_node(value)); - node_functions_t::store_hash(n, commit_data.hash, store_hash_t()); - if(safemode_or_autounlink) - BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(node_algorithms::unique(n)); - this->priv_insertion_update_cache(bucket_num); - group_functions_t::insert_in_group(node_ptr(), n, optimize_multikey_t()); - return iterator(b.insert_after(b.before_begin(), *n), &this->get_bucket_value_traits()); - } - - //! Effects: Erases the element pointed to by i. - //! - //! Complexity: Average case O(1), worst case O(this->size()). - //! - //! Throws: Nothing. - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased element. No destructors are called. - void erase(const_iterator i) - { this->erase_and_dispose(i, detail::null_disposer()); } - - //! Effects: Erases the range pointed to by b end e. - //! - //! Complexity: Average case O(std::distance(b, e)), - //! worst case O(this->size()). - //! - //! Throws: Nothing. - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased elements. No destructors are called. - void erase(const_iterator b, const_iterator e) - { this->erase_and_dispose(b, e, detail::null_disposer()); } - - //! Effects: Erases all the elements with the given value. - //! - //! Returns: The number of erased elements. - //! - //! Complexity: Average case O(this->count(value)). - //! Worst case O(this->size()). - //! - //! Throws: If the internal hasher or the equality functor throws. - //! Basic guarantee. - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased elements. No destructors are called. - size_type erase(const_reference value) - { return this->erase(value, this->priv_hasher(), this->priv_equal()); } - - //! Requires: "hash_func" must be a hash function that induces - //! the same hash values as the stored hasher. The difference is that - //! "hash_func" hashes the given key instead of the value_type. - //! - //! "equal_func" must be a equality function that induces - //! the same equality as key_equal. The difference is that - //! "equal_func" compares an arbitrary key with the contained values. - //! - //! Effects: Erases all the elements that have the same hash and - //! compare equal with the given key. - //! - //! Returns: The number of erased elements. - //! - //! Complexity: Average case O(this->count(value)). - //! Worst case O(this->size()). - //! - //! Throws: If hash_func or equal_func throw. Basic guarantee. - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased elements. No destructors are called. - template - size_type erase(const KeyType& key, KeyHasher hash_func, KeyValueEqual equal_func) - { return this->erase_and_dispose(key, hash_func, equal_func, detail::null_disposer()); } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Erases the element pointed to by i. - //! Disposer::operator()(pointer) is called for the removed element. - //! - //! Complexity: Average case O(1), worst case O(this->size()). - //! - //! Throws: Nothing. - //! - //! Note: Invalidates the iterators - //! to the erased elements. - template - void erase_and_dispose(const_iterator i, Disposer disposer - /// @cond - , typename detail::enable_if_c::value >::type * = 0 - /// @endcond - ) - { - this->priv_erase(i, disposer, optimize_multikey_t()); - this->priv_size_traits().decrement(); - this->priv_erasure_update_cache(); - } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Erases the range pointed to by b end e. - //! Disposer::operator()(pointer) is called for the removed elements. - //! - //! Complexity: Average case O(std::distance(b, e)), - //! worst case O(this->size()). - //! - //! Throws: Nothing. - //! - //! Note: Invalidates the iterators - //! to the erased elements. - template - void erase_and_dispose(const_iterator b, const_iterator e, Disposer disposer) - { - if(b != e){ - //Get the bucket number and local iterator for both iterators - siterator first_local_it(b.slist_it()); - size_type first_bucket_num = this->priv_get_bucket_num(first_local_it); - - const bucket_ptr buck_ptr = this->priv_bucket_pointer(); - siterator before_first_local_it - = this->priv_get_previous(buck_ptr[first_bucket_num], first_local_it); - size_type last_bucket_num; - siterator last_local_it; - - //For the end iterator, we will assign the end iterator - //of the last bucket - if(e == this->end()){ - last_bucket_num = this->bucket_count() - 1; - last_local_it = buck_ptr[last_bucket_num].end(); - } - else{ - last_local_it = e.slist_it(); - last_bucket_num = this->priv_get_bucket_num(last_local_it); - } - this->priv_erase_range(before_first_local_it, first_bucket_num, last_local_it, last_bucket_num, disposer); - this->priv_erasure_update_cache_range(first_bucket_num, last_bucket_num); - } - } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Erases all the elements with the given value. - //! Disposer::operator()(pointer) is called for the removed elements. - //! - //! Returns: The number of erased elements. - //! - //! Complexity: Average case O(this->count(value)). - //! Worst case O(this->size()). - //! - //! Throws: If the internal hasher or the equality functor throws. - //! Basic guarantee. - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased elements. No destructors are called. - template - size_type erase_and_dispose(const_reference value, Disposer disposer) - { return this->erase_and_dispose(value, this->priv_hasher(), this->priv_equal(), disposer); } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Erases all the elements with the given key. - //! according to the comparison functor "equal_func". - //! Disposer::operator()(pointer) is called for the removed elements. - //! - //! Returns: The number of erased elements. - //! - //! Complexity: Average case O(this->count(value)). - //! Worst case O(this->size()). - //! - //! Throws: If hash_func or equal_func throw. Basic guarantee. - //! - //! Note: Invalidates the iterators - //! to the erased elements. - template - size_type erase_and_dispose(const KeyType& key, KeyHasher hash_func - ,KeyValueEqual equal_func, Disposer disposer) - { - size_type bucket_num; - std::size_t h; - siterator prev; - siterator it = this->priv_find(key, hash_func, equal_func, bucket_num, h, prev); - bool success = it != this->priv_invalid_local_it(); - size_type cnt(0); - if(!success){ - return 0; - } - else if(optimize_multikey){ - siterator last = bucket_type::s_iterator_to - (*node_traits::get_next(group_functions_t::get_last_in_group - (detail::dcast_bucket_ptr(it.pointed_node()), optimize_multikey_t()))); - this->priv_erase_range_impl(bucket_num, prev, last, disposer, cnt); - } - else{ - //If found erase all equal values - bucket_type &b = this->priv_bucket_pointer()[bucket_num]; - for(siterator end_sit = b.end(); it != end_sit; ++cnt, ++it){ - slist_node_ptr n(it.pointed_node()); - const value_type &v = this->priv_value_from_slist_node(n); - if(compare_hash){ - std::size_t vh = this->priv_stored_or_compute_hash(v, store_hash_t()); - if(h != vh || !equal_func(key, v)){ - break; - } - } - else if(!equal_func(key, v)){ - break; - } - this->priv_size_traits().decrement(); - } - b.erase_after_and_dispose(prev, it, make_node_disposer(disposer)); - } - this->priv_erasure_update_cache(); - return cnt; - } - - //! Effects: Erases all of the elements. - //! - //! Complexity: Linear to the number of elements on the container. - //! if it's a safe-mode or auto-unlink value_type. Constant time otherwise. - //! - //! Throws: Nothing. - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased elements. No destructors are called. - void clear() - { - this->data_type::internal.priv_clear_buckets_and_cache(); - this->priv_size_traits().set_size(size_type(0)); - } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Erases all of the elements. - //! - //! Complexity: Linear to the number of elements on the container. - //! Disposer::operator()(pointer) is called for the removed elements. - //! - //! Throws: Nothing. - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased elements. No destructors are called. - template - void clear_and_dispose(Disposer disposer) - { - if(!constant_time_size || !this->empty()){ - size_type num_buckets = this->bucket_count(); - bucket_ptr b = this->priv_bucket_pointer(); - for(; num_buckets--; ++b){ - b->clear_and_dispose(make_node_disposer(disposer)); - } - this->priv_size_traits().set_size(size_type(0)); - } - this->priv_initialize_cache(); - } - - //! Effects: Returns the number of contained elements with the given value - //! - //! Complexity: Average case O(1), worst case O(this->size()). - //! - //! Throws: If the internal hasher or the equality functor throws. - size_type count(const_reference value) const - { return this->count(value, this->priv_hasher(), this->priv_equal()); } - - //! Requires: "hash_func" must be a hash function that induces - //! the same hash values as the stored hasher. The difference is that - //! "hash_func" hashes the given key instead of the value_type. - //! - //! "equal_func" must be a equality function that induces - //! the same equality as key_equal. The difference is that - //! "equal_func" compares an arbitrary key with the contained values. - //! - //! Effects: Returns the number of contained elements with the given key - //! - //! Complexity: Average case O(1), worst case O(this->size()). - //! - //! Throws: If hash_func or equal throw. - template - size_type count(const KeyType &key, const KeyHasher &hash_func, const KeyValueEqual &equal_func) const - { - size_type bucket_n1, bucket_n2, cnt; - this->priv_equal_range(key, hash_func, equal_func, bucket_n1, bucket_n2, cnt); - return cnt; - } - - //! Effects: Finds an iterator to the first element is equal to - //! "value" or end() if that element does not exist. - //! - //! Complexity: Average case O(1), worst case O(this->size()). - //! - //! Throws: If the internal hasher or the equality functor throws. - iterator find(const_reference value) - { return this->find(value, this->priv_hasher(), this->priv_equal()); } - - //! Requires: "hash_func" must be a hash function that induces - //! the same hash values as the stored hasher. The difference is that - //! "hash_func" hashes the given key instead of the value_type. - //! - //! "equal_func" must be a equality function that induces - //! the same equality as key_equal. The difference is that - //! "equal_func" compares an arbitrary key with the contained values. - //! - //! Effects: Finds an iterator to the first element whose key is - //! "key" according to the given hash and equality functor or end() if - //! that element does not exist. - //! - //! Complexity: Average case O(1), worst case O(this->size()). - //! - //! Throws: If hash_func or equal_func throw. - //! - //! Note: This function is used when constructing a value_type - //! is expensive and the value_type can be compared with a cheaper - //! key type. Usually this key is part of the value_type. - template - iterator find(const KeyType &key, KeyHasher hash_func, KeyValueEqual equal_func) - { - size_type bucket_n; - std::size_t hash; - siterator prev; - siterator local_it = this->priv_find(key, hash_func, equal_func, bucket_n, hash, prev); - return iterator(local_it, &this->get_bucket_value_traits()); - } - - //! Effects: Finds a const_iterator to the first element whose key is - //! "key" or end() if that element does not exist. - //! - //! Complexity: Average case O(1), worst case O(this->size()). - //! - //! Throws: If the internal hasher or the equality functor throws. - const_iterator find(const_reference value) const - { return this->find(value, this->priv_hasher(), this->priv_equal()); } - - //! Requires: "hash_func" must be a hash function that induces - //! the same hash values as the stored hasher. The difference is that - //! "hash_func" hashes the given key instead of the value_type. - //! - //! "equal_func" must be a equality function that induces - //! the same equality as key_equal. The difference is that - //! "equal_func" compares an arbitrary key with the contained values. - //! - //! Effects: Finds an iterator to the first element whose key is - //! "key" according to the given hasher and equality functor or end() if - //! that element does not exist. - //! - //! Complexity: Average case O(1), worst case O(this->size()). - //! - //! Throws: If hash_func or equal_func throw. - //! - //! Note: This function is used when constructing a value_type - //! is expensive and the value_type can be compared with a cheaper - //! key type. Usually this key is part of the value_type. - template - const_iterator find - (const KeyType &key, KeyHasher hash_func, KeyValueEqual equal_func) const - { - size_type bucket_n; - std::size_t hash_value; - siterator prev; - siterator sit = this->priv_find(key, hash_func, equal_func, bucket_n, hash_value, prev); - return const_iterator(sit, &this->get_bucket_value_traits()); - } - - //! Effects: Returns a range containing all elements with values equivalent - //! to value. Returns std::make_pair(this->end(), this->end()) if no such - //! elements exist. - //! - //! Complexity: Average case O(this->count(value)). Worst case O(this->size()). - //! - //! Throws: If the internal hasher or the equality functor throws. - std::pair equal_range(const_reference value) - { return this->equal_range(value, this->priv_hasher(), this->priv_equal()); } - - //! Requires: "hash_func" must be a hash function that induces - //! the same hash values as the stored hasher. The difference is that - //! "hash_func" hashes the given key instead of the value_type. - //! - //! "equal_func" must be a equality function that induces - //! the same equality as key_equal. The difference is that - //! "equal_func" compares an arbitrary key with the contained values. - //! - //! Effects: Returns a range containing all elements with equivalent - //! keys. Returns std::make_pair(this->end(), this->end()) if no such - //! elements exist. - //! - //! Complexity: Average case O(this->count(key, hash_func, equal_func)). - //! Worst case O(this->size()). - //! - //! Throws: If hash_func or the equal_func throw. - //! - //! Note: This function is used when constructing a value_type - //! is expensive and the value_type can be compared with a cheaper - //! key type. Usually this key is part of the value_type. - template - std::pair equal_range - (const KeyType &key, KeyHasher hash_func, KeyValueEqual equal_func) - { - size_type bucket_n1, bucket_n2, cnt; - std::pair ret = this->priv_equal_range - (key, hash_func, equal_func, bucket_n1, bucket_n2, cnt); - return std::pair - (iterator(ret.first, &this->get_bucket_value_traits()), iterator(ret.second, &this->get_bucket_value_traits())); - } - - //! Effects: Returns a range containing all elements with values equivalent - //! to value. Returns std::make_pair(this->end(), this->end()) if no such - //! elements exist. - //! - //! Complexity: Average case O(this->count(value)). Worst case O(this->size()). - //! - //! Throws: If the internal hasher or the equality functor throws. - std::pair - equal_range(const_reference value) const - { return this->equal_range(value, this->priv_hasher(), this->priv_equal()); } - - //! Requires: "hash_func" must be a hash function that induces - //! the same hash values as the stored hasher. The difference is that - //! "hash_func" hashes the given key instead of the value_type. - //! - //! "equal_func" must be a equality function that induces - //! the same equality as key_equal. The difference is that - //! "equal_func" compares an arbitrary key with the contained values. - //! - //! Effects: Returns a range containing all elements with equivalent - //! keys. Returns std::make_pair(this->end(), this->end()) if no such - //! elements exist. - //! - //! Complexity: Average case O(this->count(key, hash_func, equal_func)). - //! Worst case O(this->size()). - //! - //! Throws: If the hasher or equal_func throw. - //! - //! Note: This function is used when constructing a value_type - //! is expensive and the value_type can be compared with a cheaper - //! key type. Usually this key is part of the value_type. - template - std::pair equal_range - (const KeyType &key, KeyHasher hash_func, KeyValueEqual equal_func) const - { - size_type bucket_n1, bucket_n2, cnt; - std::pair ret = - this->priv_equal_range(key, hash_func, equal_func, bucket_n1, bucket_n2, cnt); - return std::pair - ( const_iterator(ret.first, &this->get_bucket_value_traits()) - , const_iterator(ret.second, &this->get_bucket_value_traits())); - } - - //! Requires: value must be an lvalue and shall be in a unordered_set of - //! appropriate type. Otherwise the behavior is undefined. - //! - //! Effects: Returns: a valid iterator belonging to the unordered_set - //! that points to the value - //! - //! Complexity: Constant. - //! - //! Throws: If the internal hash function throws. - iterator iterator_to(reference value) - { - return iterator(bucket_type::s_iterator_to - (this->priv_value_to_node(value)), &this->get_bucket_value_traits()); - } - - //! Requires: value must be an lvalue and shall be in a unordered_set of - //! appropriate type. Otherwise the behavior is undefined. - //! - //! Effects: Returns: a valid const_iterator belonging to the - //! unordered_set that points to the value - //! - //! Complexity: Constant. - //! - //! Throws: If the internal hash function throws. - const_iterator iterator_to(const_reference value) const - { - node_reference r = *pointer_traits::const_cast_from - (pointer_traits::pointer_to(this->priv_value_to_node(value))); - siterator sit = bucket_type::s_iterator_to(r); - return const_iterator(sit, &this->get_bucket_value_traits()); - } - - //! Requires: value must be an lvalue and shall be in a unordered_set of - //! appropriate type. Otherwise the behavior is undefined. - //! - //! Effects: Returns: a valid local_iterator belonging to the unordered_set - //! that points to the value - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - //! - //! Note: This static function is available only if the value traits - //! is stateless. - static local_iterator s_local_iterator_to(reference value) - { - BOOST_STATIC_ASSERT((!stateful_value_traits)); - siterator sit = bucket_type::s_iterator_to(*value_traits::to_node_ptr(value)); - return local_iterator(sit, const_value_traits_ptr()); - } - - //! Requires: value must be an lvalue and shall be in a unordered_set of - //! appropriate type. Otherwise the behavior is undefined. - //! - //! Effects: Returns: a valid const_local_iterator belonging to - //! the unordered_set that points to the value - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - //! - //! Note: This static function is available only if the value traits - //! is stateless. - static const_local_iterator s_local_iterator_to(const_reference value) - { - BOOST_STATIC_ASSERT((!stateful_value_traits)); - node_reference r = *pointer_traits::const_cast_from - (value_traits::to_node_ptr(value)); - siterator sit = bucket_type::s_iterator_to(r); - return const_local_iterator(sit, const_value_traits_ptr()); - } - - //! Requires: value must be an lvalue and shall be in a unordered_set of - //! appropriate type. Otherwise the behavior is undefined. - //! - //! Effects: Returns: a valid local_iterator belonging to the unordered_set - //! that points to the value - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - local_iterator local_iterator_to(reference value) - { - siterator sit = bucket_type::s_iterator_to(this->priv_value_to_node(value)); - return local_iterator(sit, this->priv_value_traits_ptr()); - } - - //! Requires: value must be an lvalue and shall be in a unordered_set of - //! appropriate type. Otherwise the behavior is undefined. - //! - //! Effects: Returns: a valid const_local_iterator belonging to - //! the unordered_set that points to the value - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - const_local_iterator local_iterator_to(const_reference value) const - { - node_reference r = *pointer_traits::const_cast_from - (pointer_traits::pointer_to(this->priv_value_to_node(value))); - siterator sit = bucket_type::s_iterator_to(r); - return const_local_iterator(sit, this->priv_value_traits_ptr()); - } - - //! Effects: Returns the number of buckets passed in the constructor - //! or the last rehash function. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - size_type bucket_count() const - { return this->priv_bucket_count(); } - - //! Requires: n is in the range [0, this->bucket_count()). - //! - //! Effects: Returns the number of elements in the nth bucket. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - size_type bucket_size(size_type n) const - { return this->priv_bucket_pointer()[n].size(); } - - //! Effects: Returns the index of the bucket in which elements - //! with keys equivalent to k would be found, if any such element existed. - //! - //! Complexity: Constant. - //! - //! Throws: If the hash functor throws. - //! - //! Note: the return value is in the range [0, this->bucket_count()). - size_type bucket(const key_type& k) const - { return this->bucket(k, this->priv_hasher()); } - - //! Requires: "hash_func" must be a hash function that induces - //! the same hash values as the stored hasher. The difference is that - //! "hash_func" hashes the given key instead of the value_type. - //! - //! Effects: Returns the index of the bucket in which elements - //! with keys equivalent to k would be found, if any such element existed. - //! - //! Complexity: Constant. - //! - //! Throws: If hash_func throws. - //! - //! Note: the return value is in the range [0, this->bucket_count()). - template - size_type bucket(const KeyType& k, const KeyHasher &hash_func) const - { return this->priv_hash_to_bucket(hash_func(k)); } - - //! Effects: Returns the bucket array pointer passed in the constructor - //! or the last rehash function. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - bucket_ptr bucket_pointer() const - { return this->priv_bucket_pointer(); } - - //! Requires: n is in the range [0, this->bucket_count()). - //! - //! Effects: Returns a local_iterator pointing to the beginning - //! of the sequence stored in the bucket n. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - //! - //! Note: [this->begin(n), this->end(n)) is a valid range - //! containing all of the elements in the nth bucket. - local_iterator begin(size_type n) - { return local_iterator(this->priv_bucket_pointer()[n].begin(), this->priv_value_traits_ptr()); } - - //! Requires: n is in the range [0, this->bucket_count()). - //! - //! Effects: Returns a const_local_iterator pointing to the beginning - //! of the sequence stored in the bucket n. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - //! - //! Note: [this->begin(n), this->end(n)) is a valid range - //! containing all of the elements in the nth bucket. - const_local_iterator begin(size_type n) const - { return this->cbegin(n); } - - //! Requires: n is in the range [0, this->bucket_count()). - //! - //! Effects: Returns a const_local_iterator pointing to the beginning - //! of the sequence stored in the bucket n. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - //! - //! Note: [this->begin(n), this->end(n)) is a valid range - //! containing all of the elements in the nth bucket. - const_local_iterator cbegin(size_type n) const - { - bucket_reference br = pointer_traits::const_cast_from(this->priv_bucket_pointer())[n]; - return const_local_iterator(br.begin(), this->priv_value_traits_ptr()); - } - - //! Requires: n is in the range [0, this->bucket_count()). - //! - //! Effects: Returns a local_iterator pointing to the end - //! of the sequence stored in the bucket n. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - //! - //! Note: [this->begin(n), this->end(n)) is a valid range - //! containing all of the elements in the nth bucket. - local_iterator end(size_type n) - { return local_iterator(this->priv_bucket_pointer()[n].end(), this->priv_value_traits_ptr()); } - - //! Requires: n is in the range [0, this->bucket_count()). - //! - //! Effects: Returns a const_local_iterator pointing to the end - //! of the sequence stored in the bucket n. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - //! - //! Note: [this->begin(n), this->end(n)) is a valid range - //! containing all of the elements in the nth bucket. - const_local_iterator end(size_type n) const - { return this->cend(n); } - - //! Requires: n is in the range [0, this->bucket_count()). - //! - //! Effects: Returns a const_local_iterator pointing to the end - //! of the sequence stored in the bucket n. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - //! - //! Note: [this->begin(n), this->end(n)) is a valid range - //! containing all of the elements in the nth bucket. - const_local_iterator cend(size_type n) const - { - bucket_reference br = pointer_traits::const_cast_from(this->priv_bucket_pointer())[n]; - return const_local_iterator ( br.end(), this->priv_value_traits_ptr()); - } - - //! Requires: new_bucket_traits can hold a pointer to a new bucket array - //! or the same as the old bucket array with a different length. new_size is the length of the - //! the array pointed by new_buckets. If new_bucket_traits.bucket_begin() == this->bucket_pointer() - //! new_bucket_traits.bucket_count() can be bigger or smaller than this->bucket_count(). - //! 'new_bucket_traits' copy constructor should not throw. - //! - //! Effects: Updates the internal reference with the new bucket, erases - //! the values from the old bucket and inserts then in the new one. - //! Bucket traits hold by *this is assigned from new_bucket_traits. - //! If the container is configured as incremental<>, the split bucket is set - //! to the new bucket_count(). - //! - //! If store_hash option is true, this method does not use the hash function. - //! - //! Complexity: Average case linear in this->size(), worst case quadratic. - //! - //! Throws: If the hasher functor throws. Basic guarantee. - void rehash(const bucket_traits &new_bucket_traits) - { - const bucket_ptr new_buckets = new_bucket_traits.bucket_begin(); - size_type new_bucket_count = new_bucket_traits.bucket_count(); - const bucket_ptr old_buckets = this->priv_bucket_pointer(); - size_type old_bucket_count = this->priv_bucket_count(); - - //Check power of two bucket array if the option is activated - BOOST_INTRUSIVE_INVARIANT_ASSERT - (!power_2_buckets || (0 == (new_bucket_count & (new_bucket_count-1u)))); - - size_type n = this->priv_get_cache_bucket_num(); - const bool same_buffer = old_buckets == new_buckets; - //If the new bucket length is a common factor - //of the old one we can avoid hash calculations. - const bool fast_shrink = (!incremental) && (old_bucket_count > new_bucket_count) && - (power_2_buckets ||(old_bucket_count % new_bucket_count) == 0); - //If we are shrinking the same bucket array and it's - //is a fast shrink, just rehash the last nodes - size_type new_first_bucket_num = new_bucket_count; - if(same_buffer && fast_shrink && (n < new_bucket_count)){ - n = new_bucket_count; - new_first_bucket_num = this->priv_get_cache_bucket_num(); - } - - //Anti-exception stuff: they destroy the elements if something goes wrong. - //If the source and destination buckets are the same, the second rollback function - //is harmless, because all elements have been already unlinked and destroyed - typedef detail::init_disposer NodeDisposer; - NodeDisposer node_disp; - bucket_type & newbuck = new_buckets[0]; - bucket_type & oldbuck = old_buckets[0]; - detail::exception_array_disposer - rollback1(newbuck, node_disp, new_bucket_count); - detail::exception_array_disposer - rollback2(oldbuck, node_disp, old_bucket_count); - - //Put size in a safe value for rollback exception - size_type size_backup = this->priv_size_traits().get_size(); - this->priv_size_traits().set_size(0); - //Put cache to safe position - this->priv_initialize_cache(); - this->priv_insertion_update_cache(size_type(0u)); - - //Iterate through nodes - for(; n < old_bucket_count; ++n){ - bucket_type &old_bucket = old_buckets[n]; - - if(!fast_shrink){ - siterator before_i(old_bucket.before_begin()); - siterator end_sit(old_bucket.end()); - siterator i(old_bucket.begin()); - for(;i != end_sit; ++i){ - const value_type &v = this->priv_value_from_slist_node(i.pointed_node()); - const std::size_t hash_value = this->priv_stored_or_compute_hash(v, store_hash_t()); - const size_type new_n = detail::hash_to_bucket_split(hash_value, new_bucket_count, new_bucket_count); - if(cache_begin && new_n < new_first_bucket_num) - new_first_bucket_num = new_n; - siterator last = bucket_type::s_iterator_to - (*group_functions_t::get_last_in_group - (detail::dcast_bucket_ptr(i.pointed_node()), optimize_multikey_t())); - if(same_buffer && new_n == n){ - before_i = last; - } - else{ - bucket_type &new_b = new_buckets[new_n]; - new_b.splice_after(new_b.before_begin(), old_bucket, before_i, last); - } - i = before_i; - } - } - else{ - const size_type new_n = detail::hash_to_bucket_split(n, new_bucket_count, new_bucket_count); - if(cache_begin && new_n < new_first_bucket_num) - new_first_bucket_num = new_n; - bucket_type &new_b = new_buckets[new_n]; - if(!old_bucket.empty()){ - new_b.splice_after( new_b.before_begin() - , old_bucket - , old_bucket.before_begin() - , hashtable_impl::priv_get_last(old_bucket)); - } - } - } - - this->priv_size_traits().set_size(size_backup); - this->priv_split_traits().set_size(new_bucket_count); - this->priv_bucket_traits() = new_bucket_traits; - this->priv_initialize_cache(); - this->priv_insertion_update_cache(new_first_bucket_num); - rollback1.release(); - rollback2.release(); - } - - //! Requires: - //! - //! Effects: - //! - //! Complexity: - //! - //! Throws: - //! - //! Note: this method is only available if incremental option is activated. - bool incremental_rehash(bool grow = true) - { - //This function is only available for containers with incremental hashing - BOOST_STATIC_ASSERT(( incremental && power_2_buckets )); - const size_type split_idx = this->priv_split_traits().get_size(); - const size_type bucket_cnt = this->priv_bucket_count(); - const bucket_ptr buck_ptr = this->priv_bucket_pointer(); - - if(grow){ - //Test if the split variable can be changed - if(split_idx >= bucket_cnt) - return false; - - const size_type bucket_to_rehash = split_idx - bucket_cnt/2; - bucket_type &old_bucket = buck_ptr[bucket_to_rehash]; - siterator before_i(old_bucket.before_begin()); - const siterator end_sit(old_bucket.end()); - siterator i(old_bucket.begin()); - this->priv_split_traits().increment(); - - //Anti-exception stuff: if an exception is thrown while - //moving elements from old_bucket to the target bucket, all moved - //elements are moved back to the original one. - detail::incremental_rehash_rollback rollback - ( buck_ptr[split_idx], old_bucket, this->priv_split_traits()); - for(;i != end_sit; ++i){ - const value_type &v = this->priv_value_from_slist_node(i.pointed_node()); - const std::size_t hash_value = this->priv_stored_or_compute_hash(v, store_hash_t()); - const size_type new_n = this->priv_hash_to_bucket(hash_value); - siterator last = bucket_type::s_iterator_to - (*group_functions_t::get_last_in_group - (detail::dcast_bucket_ptr(i.pointed_node()), optimize_multikey_t())); - if(new_n == bucket_to_rehash){ - before_i = last; - } - else{ - bucket_type &new_b = buck_ptr[new_n]; - new_b.splice_after(new_b.before_begin(), old_bucket, before_i, last); - } - i = before_i; - } - rollback.release(); - this->priv_erasure_update_cache(); - return true; - } - else{ - //Test if the split variable can be changed - if(split_idx <= bucket_cnt/2) - return false; - const size_type target_bucket_num = split_idx - 1 - bucket_cnt/2; - bucket_type &target_bucket = buck_ptr[target_bucket_num]; - bucket_type &source_bucket = buck_ptr[split_idx-1]; - target_bucket.splice_after(target_bucket.cbefore_begin(), source_bucket); - this->priv_split_traits().decrement(); - this->priv_insertion_update_cache(target_bucket_num); - return true; - } - } - - //! Effects: If new_bucket_traits.bucket_count() is not - //! this->bucket_count()/2 or this->bucket_count()*2, or - //! this->split_bucket() != new_bucket_traits.bucket_count() returns false - //! and does nothing. - //! - //! Otherwise, copy assigns new_bucket_traits to the internal bucket_traits - //! and transfers all the objects from old buckets to the new ones. - //! - //! Complexity: Linear to size(). - //! - //! Throws: Nothing - //! - //! Note: this method is only available if incremental option is activated. - bool incremental_rehash(const bucket_traits &new_bucket_traits) - { - //This function is only available for containers with incremental hashing - BOOST_STATIC_ASSERT(( incremental && power_2_buckets )); - size_type new_bucket_traits_size = new_bucket_traits.bucket_count(); - size_type cur_bucket_traits = this->priv_bucket_count(); - if(new_bucket_traits_size/2 != cur_bucket_traits && new_bucket_traits_size != cur_bucket_traits/2){ - return false; - } - - const size_type split_idx = this->split_count(); - - if(new_bucket_traits_size/2 == cur_bucket_traits){ - //Test if the split variable can be changed - if(!(split_idx >= cur_bucket_traits)) - return false; - } - else{ - //Test if the split variable can be changed - if(!(split_idx <= cur_bucket_traits/2)) - return false; - } - - const size_type ini_n = this->priv_get_cache_bucket_num(); - const bucket_ptr old_buckets = this->priv_bucket_pointer(); - this->priv_bucket_traits() = new_bucket_traits; - if(new_bucket_traits.bucket_begin() != old_buckets){ - for(size_type n = ini_n; n < split_idx; ++n){ - bucket_type &new_bucket = new_bucket_traits.bucket_begin()[n]; - bucket_type &old_bucket = old_buckets[n]; - new_bucket.splice_after(new_bucket.cbefore_begin(), old_bucket); - } - //Put cache to safe position - this->priv_initialize_cache(); - this->priv_insertion_update_cache(ini_n); - } - return true; - } - - //! Requires: - //! - //! Effects: - //! - //! Complexity: - //! - //! Throws: - size_type split_count() const - { - //This function is only available if incremental hashing is activated - BOOST_STATIC_ASSERT(( incremental && power_2_buckets )); - return this->priv_split_traits().get_size(); - } - - //! Effects: Returns the nearest new bucket count optimized for - //! the container that is bigger or equal than n. This suggestion can be - //! used to create bucket arrays with a size that will usually improve - //! container's performance. If such value does not exist, the - //! higher possible value is returned. - //! - //! Complexity: Amortized constant time. - //! - //! Throws: Nothing. - static size_type suggested_upper_bucket_count(size_type n) - { - const std::size_t *primes = &detail::prime_list_holder<0>::prime_list[0]; - const std::size_t *primes_end = primes + detail::prime_list_holder<0>::prime_list_size; - std::size_t const* bound = std::lower_bound(primes, primes_end, n); - bound -= (bound == primes_end); - return size_type(*bound); - } - - //! Effects: Returns the nearest new bucket count optimized for - //! the container that is smaller or equal than n. This suggestion can be - //! used to create bucket arrays with a size that will usually improve - //! container's performance. If such value does not exist, the - //! lowest possible value is returned. - //! - //! Complexity: Amortized constant time. - //! - //! Throws: Nothing. - static size_type suggested_lower_bucket_count(size_type n) - { - const std::size_t *primes = &detail::prime_list_holder<0>::prime_list[0]; - const std::size_t *primes_end = primes + detail::prime_list_holder<0>::prime_list_size; - size_type const* bound = std::upper_bound(primes, primes_end, n); - bound -= (bound != primes); - return size_type(*bound); - } - /// @cond - private: - size_traits &priv_size_traits() - { return static_cast(static_cast(*this)); } - - const size_traits &priv_size_traits() const - { return static_cast(static_cast(*this)); } - - bucket_ptr priv_bucket_pointer() const - { return this->data_type::internal.internal.internal.internal.priv_bucket_pointer(); } - - SizeType priv_bucket_count() const - { return this->data_type::internal.internal.internal.internal.priv_bucket_count(); } - - const bucket_plus_vtraits &get_bucket_value_traits() const - { return this->data_type::internal.internal.internal.internal.get_bucket_value_traits(); } - - bucket_plus_vtraits &get_bucket_value_traits() - { return this->data_type::internal.internal.internal.internal.get_bucket_value_traits(); } - - bucket_traits &priv_bucket_traits() - { return this->data_type::internal.internal.internal.internal.priv_bucket_traits(); } - - const bucket_traits &priv_bucket_traits() const - { return this->data_type::internal.internal.internal.internal.priv_bucket_traits(); } - - value_traits &priv_value_traits() - { return this->data_type::internal.internal.internal.internal.priv_value_traits(); } - - const value_traits &priv_value_traits() const - { return this->data_type::internal.internal.internal.internal.priv_value_traits(); } - - const_value_traits_ptr priv_value_traits_ptr() const - { return this->data_type::internal.internal.internal.internal.priv_value_traits_ptr(); } - - siterator priv_invalid_local_it() const - { return this->data_type::internal.internal.internal.internal.priv_invalid_local_it(); } - - split_traits &priv_split_traits() - { return this->data_type::internal.priv_split_traits(); } - - const split_traits &priv_split_traits() const - { return this->data_type::internal.priv_split_traits(); } - - bucket_ptr priv_get_cache() - { return this->data_type::internal.internal.priv_get_cache(); } - - void priv_initialize_cache() - { return this->data_type::internal.internal.priv_initialize_cache(); } - - siterator priv_begin() const - { return this->data_type::internal.internal.priv_begin(); } - - const value_equal &priv_equal() const - { return this->data_type::internal.internal.priv_equal(); } - - value_equal &priv_equal() - { return this->data_type::internal.internal.priv_equal(); } - - const hasher &priv_hasher() const - { return this->data_type::internal.internal.internal.priv_hasher(); } - - hasher &priv_hasher() - { return this->data_type::internal.internal.internal.priv_hasher(); } - - void priv_swap_cache(hashtable_impl &h) - { this->data_type::internal.internal.priv_swap_cache(h.data_type::internal.internal); } - - node &priv_value_to_node(value_type &v) - { return this->data_type::internal.internal.internal.internal.priv_value_to_node(v); } - - const node &priv_value_to_node(const value_type &v) const - { return this->data_type::internal.internal.internal.internal.priv_value_to_node(v); } - - SizeType priv_get_cache_bucket_num() - { return this->data_type::internal.internal.priv_get_cache_bucket_num(); } - - void priv_insertion_update_cache(SizeType n) - { return this->data_type::internal.internal.priv_insertion_update_cache(n); } - - template - std::size_t priv_stored_or_compute_hash(const value_type &v, detail::bool_ b) const - { return this->data_type::internal.internal.internal.priv_stored_or_compute_hash(v, b); } - - value_type &priv_value_from_slist_node(slist_node_ptr n) - { return this->data_type::internal.internal.internal.internal.priv_value_from_slist_node(n); } - - const value_type &priv_value_from_slist_node(slist_node_ptr n) const - { return this->data_type::internal.internal.internal.internal.priv_value_from_slist_node(n); } - - void priv_erasure_update_cache_range(SizeType first_bucket_num, SizeType last_bucket_num) - { return this->data_type::internal.internal.priv_erasure_update_cache_range(first_bucket_num, last_bucket_num); } - - void priv_erasure_update_cache() - { return this->data_type::internal.internal.priv_erasure_update_cache(); } - - static std::size_t priv_stored_hash(slist_node_ptr n, detail::true_ true_value) - { return bucket_plus_vtraits::priv_stored_hash(n, true_value); } - - static std::size_t priv_stored_hash(slist_node_ptr n, detail::false_ false_value) - { return bucket_plus_vtraits::priv_stored_hash(n, false_value); } - - std::size_t priv_hash_to_bucket(std::size_t hash_value) const - { - return detail::hash_to_bucket_split - (hash_value, this->priv_bucket_traits().bucket_count(), this->priv_split_traits().get_size()); - } - - template - void priv_erase_range_impl - (size_type bucket_num, siterator before_first_it, siterator end_sit, Disposer disposer, size_type &num_erased) - { - const bucket_ptr buckets = this->priv_bucket_pointer(); - bucket_type &b = buckets[bucket_num]; - - if(before_first_it == b.before_begin() && end_sit == b.end()){ - this->priv_erase_range_impl(bucket_num, 1, disposer, num_erased); - } - else{ - num_erased = 0; - siterator to_erase(before_first_it); - ++to_erase; - slist_node_ptr end_ptr = end_sit.pointed_node(); - while(to_erase != end_sit){ - group_functions_t::erase_from_group(end_ptr, detail::dcast_bucket_ptr(to_erase.pointed_node()), optimize_multikey_t()); - to_erase = b.erase_after_and_dispose(before_first_it, make_node_disposer(disposer)); - ++num_erased; - } - this->priv_size_traits().set_size(this->priv_size_traits().get_size()-num_erased); - } - } - - template - void priv_erase_range_impl - (size_type first_bucket_num, size_type num_buckets, Disposer disposer, size_type &num_erased) - { - //Now fully clear the intermediate buckets - const bucket_ptr buckets = this->priv_bucket_pointer(); - num_erased = 0; - for(size_type i = first_bucket_num; i < (num_buckets + first_bucket_num); ++i){ - bucket_type &b = buckets[i]; - siterator b_begin(b.before_begin()); - siterator nxt(b_begin); - ++nxt; - siterator end_sit(b.end()); - while(nxt != end_sit){ - group_functions_t::init_group(detail::dcast_bucket_ptr(nxt.pointed_node()), optimize_multikey_t()); - nxt = b.erase_after_and_dispose - (b_begin, make_node_disposer(disposer)); - this->priv_size_traits().decrement(); - ++num_erased; - } - } - } - - template - void priv_erase_range( siterator before_first_it, size_type first_bucket - , siterator last_it, size_type last_bucket - , Disposer disposer) - { - size_type num_erased; - if (first_bucket == last_bucket){ - this->priv_erase_range_impl(first_bucket, before_first_it, last_it, disposer, num_erased); - } - else { - bucket_type *b = (&this->priv_bucket_pointer()[0]); - this->priv_erase_range_impl(first_bucket, before_first_it, b[first_bucket].end(), disposer, num_erased); - if(size_type n = (last_bucket - first_bucket - 1)) - this->priv_erase_range_impl(first_bucket + 1, n, disposer, num_erased); - this->priv_erase_range_impl(last_bucket, b[last_bucket].before_begin(), last_it, disposer, num_erased); - } - } - - std::size_t priv_get_bucket_num(siterator it) - { return this->priv_get_bucket_num_hash_dispatch(it, store_hash_t()); } - - std::size_t priv_get_bucket_num_hash_dispatch(siterator it, detail::true_) //store_hash - { - return this->priv_hash_to_bucket - (this->priv_stored_hash(it.pointed_node(), store_hash_t())); - } - - std::size_t priv_get_bucket_num_hash_dispatch(siterator it, detail::false_) //NO store_hash - { return this->data_type::internal.internal.internal.internal.priv_get_bucket_num_no_hash_store(it, optimize_multikey_t()); } - - static siterator priv_get_previous(bucket_type &b, siterator i) - { return bucket_plus_vtraits_t::priv_get_previous(b, i, optimize_multikey_t()); } - - static siterator priv_get_last(bucket_type &b) - { return bucket_plus_vtraits_t::priv_get_last(b, optimize_multikey_t()); } - - template - void priv_erase(const_iterator i, Disposer disposer, detail::true_) - { - slist_node_ptr elem(i.slist_it().pointed_node()); - slist_node_ptr f_bucket_end, l_bucket_end; - if(store_hash){ - f_bucket_end = l_bucket_end = - (this->priv_bucket_pointer() - [this->priv_hash_to_bucket - (this->priv_stored_hash(elem, store_hash_t())) - ]).before_begin().pointed_node(); - } - else{ - f_bucket_end = this->priv_bucket_pointer()->cend().pointed_node(); - l_bucket_end = f_bucket_end + this->priv_bucket_count() - 1; - } - node_ptr nxt_in_group; - siterator prev = bucket_type::s_iterator_to - (*group_functions_t::get_previous_and_next_in_group - ( elem, nxt_in_group, f_bucket_end, l_bucket_end) - ); - bucket_type::s_erase_after_and_dispose(prev, make_node_disposer(disposer)); - if(nxt_in_group) - group_algorithms::unlink_after(nxt_in_group); - if(safemode_or_autounlink) - group_algorithms::init(detail::dcast_bucket_ptr(elem)); - } - - template - void priv_erase(const_iterator i, Disposer disposer, detail::false_) - { - siterator to_erase(i.slist_it()); - bucket_type &b = this->priv_bucket_pointer()[this->priv_get_bucket_num(to_erase)]; - siterator prev(this->priv_get_previous(b, to_erase)); - b.erase_after_and_dispose(prev, make_node_disposer(disposer)); - } - - template - siterator priv_find - ( const KeyType &key, KeyHasher hash_func - , KeyValueEqual equal_func, size_type &bucket_number, std::size_t &h, siterator &previt) const - { - h = hash_func(key); - return this->priv_find_with_hash(key, equal_func, bucket_number, h, previt); - } - - template - siterator priv_find_with_hash - ( const KeyType &key, KeyValueEqual equal_func, size_type &bucket_number, const std::size_t h, siterator &previt) const - { - bucket_number = this->priv_hash_to_bucket(h); - bucket_type &b = this->priv_bucket_pointer()[bucket_number]; - previt = b.before_begin(); - if(constant_time_size && this->empty()){ - return this->priv_invalid_local_it(); - } - - siterator it = previt; - ++it; - - while(it != b.end()){ - const value_type &v = this->priv_value_from_slist_node(it.pointed_node()); - if(compare_hash){ - std::size_t vh = this->priv_stored_or_compute_hash(v, store_hash_t()); - if(h == vh && equal_func(key, v)){ - return it; - } - } - else if(equal_func(key, v)){ - return it; - } - if(optimize_multikey){ - previt = bucket_type::s_iterator_to - (*group_functions_t::get_last_in_group - (detail::dcast_bucket_ptr(it.pointed_node()), optimize_multikey_t())); - it = previt; - } - else{ - previt = it; - } - ++it; - } - previt = b.before_begin(); - return this->priv_invalid_local_it(); - } - - iterator priv_insert_equal_with_hash(reference value, std::size_t hash_value) - { - size_type bucket_num; - siterator prev; - siterator it = this->priv_find_with_hash - (value, this->priv_equal(), bucket_num, hash_value, prev); - return this->priv_insert_equal_find(value, bucket_num, hash_value, it); - } - - iterator priv_insert_equal_find(reference value, size_type bucket_num, std::size_t hash_value, siterator it) - { - bucket_type &b = this->priv_bucket_pointer()[bucket_num]; - bool found_equal = it != this->priv_invalid_local_it(); - if(!found_equal){ - it = b.before_begin(); - } - //Now store hash if needed - node_ptr n = pointer_traits::pointer_to(this->priv_value_to_node(value)); - node_functions_t::store_hash(n, hash_value, store_hash_t()); - //Checks for some modes - if(safemode_or_autounlink) - BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(node_algorithms::unique(n)); - //Shortcut for optimize_multikey cases - if(optimize_multikey){ - node_ptr first_in_group = found_equal ? - detail::dcast_bucket_ptr(it.pointed_node()) : node_ptr(); - group_functions_t::insert_in_group(first_in_group, n, optimize_multikey_t()); - } - //Update cache and increment size if needed - this->priv_insertion_update_cache(bucket_num); - this->priv_size_traits().increment(); - //Insert the element in the bucket after it - return iterator(b.insert_after(it, *n), &this->get_bucket_value_traits()); - } - - template - std::pair priv_equal_range - ( const KeyType &key - , KeyHasher hash_func - , KeyValueEqual equal_func - , size_type &bucket_number_first - , size_type &bucket_number_second - , size_type &cnt) const - { - std::size_t h; - cnt = 0; - siterator prev; - //Let's see if the element is present - std::pair to_return - ( this->priv_find(key, hash_func, equal_func, bucket_number_first, h, prev) - , this->priv_invalid_local_it()); - if(to_return.first == to_return.second){ - bucket_number_second = bucket_number_first; - return to_return; - } - { - //If it's present, find the first that it's not equal in - //the same bucket - bucket_type &b = this->priv_bucket_pointer()[bucket_number_first]; - siterator it = to_return.first; - if(optimize_multikey){ - to_return.second = bucket_type::s_iterator_to - (*node_traits::get_next(group_functions_t::get_last_in_group - (detail::dcast_bucket_ptr(it.pointed_node()), optimize_multikey_t()))); - cnt = std::distance(it, to_return.second); - if(to_return.second != b.end()){ - bucket_number_second = bucket_number_first; - return to_return; - } - } - else{ - ++cnt; - ++it; - while(it != b.end()){ - const value_type &v = this->priv_value_from_slist_node(it.pointed_node()); - if(compare_hash){ - std::size_t hv = this->priv_stored_or_compute_hash(v, store_hash_t()); - if(hv != h || !equal_func(key, v)){ - to_return.second = it; - bucket_number_second = bucket_number_first; - return to_return; - } - } - else if(!equal_func(key, v)){ - to_return.second = it; - bucket_number_second = bucket_number_first; - return to_return; - } - ++it; - ++cnt; - } - } - } - - //If we reached the end, find the first, non-empty bucket - for(bucket_number_second = bucket_number_first+1 - ; bucket_number_second != this->priv_bucket_count() - ; ++bucket_number_second){ - bucket_type &b = this->priv_bucket_pointer()[bucket_number_second]; - if(!b.empty()){ - to_return.second = b.begin(); - return to_return; - } - } - - //Otherwise, return the end node - to_return.second = this->priv_invalid_local_it(); - return to_return; - } - /// @endcond -}; - -/// @cond -#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) -template < class T - , bool UniqueKeys - , class PackedOptions - > -#else -template -#endif -struct make_bucket_traits -{ - //Real value traits must be calculated from options - typedef typename detail::get_value_traits - ::type value_traits; - - typedef typename PackedOptions::bucket_traits specified_bucket_traits; - - //Real bucket traits must be calculated from options and calculated value_traits - typedef typename detail::get_slist_impl - ::type - >::type slist_impl; - - typedef typename - detail::if_c< detail::is_same - < specified_bucket_traits - , default_bucket_traits - >::value - , detail::bucket_traits_impl - , specified_bucket_traits - >::type type; -}; -/// @endcond - -//! Helper metafunction to define a \c hashtable 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 -#else -template -#endif -struct make_hashtable -{ - /// @cond - typedef typename pack_options - < hashtable_defaults, - #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) - O1, O2, O3, O4, O5, O6, O7, O8, O9, O10 - #else - Options... - #endif - >::type packed_options; - - typedef typename detail::get_value_traits - ::type value_traits; - - typedef typename make_bucket_traits - ::type bucket_traits; - - typedef hashtable_impl - < value_traits - , typename packed_options::hash - , typename packed_options::equal - , typename packed_options::size_type - , bucket_traits - , (std::size_t(false)*hash_bool_flags::unique_keys_pos) - | (std::size_t(packed_options::constant_time_size)*hash_bool_flags::constant_time_size_pos) - | (std::size_t(packed_options::power_2_buckets)*hash_bool_flags::power_2_buckets_pos) - | (std::size_t(packed_options::cache_begin)*hash_bool_flags::cache_begin_pos) - | (std::size_t(packed_options::compare_hash)*hash_bool_flags::compare_hash_pos) - | (std::size_t(packed_options::incremental)*hash_bool_flags::incremental_pos) - > implementation_defined; - - /// @endcond - typedef implementation_defined type; -}; - -#if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - -#if defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) -template -#else -template -#endif -class hashtable - : public make_hashtable::type -{ - typedef typename make_hashtable::type Base; - BOOST_MOVABLE_BUT_NOT_COPYABLE(hashtable) - - public: - typedef typename Base::value_traits value_traits; - typedef typename Base::iterator iterator; - typedef typename Base::const_iterator const_iterator; - typedef typename Base::bucket_ptr bucket_ptr; - typedef typename Base::size_type size_type; - typedef typename Base::hasher hasher; - typedef typename Base::bucket_traits bucket_traits; - typedef typename Base::key_equal key_equal; - - //Assert if passed value traits are compatible with the type - BOOST_STATIC_ASSERT((detail::is_same::value)); - - explicit hashtable ( const bucket_traits &b_traits - , const hasher & hash_func = hasher() - , const key_equal &equal_func = key_equal() - , const value_traits &v_traits = value_traits()) - : Base(b_traits, hash_func, equal_func, v_traits) - {} - - hashtable(BOOST_RV_REF(hashtable) x) - : Base(::boost::move(static_cast(x))) - {} - - hashtable& operator=(BOOST_RV_REF(hashtable) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } -}; - -#endif - -} //namespace intrusive -} //namespace boost - -#include - -#endif //BOOST_INTRUSIVE_HASHTABLE_HPP diff --git a/bundled/boost-1.56.0/include/boost/intrusive/list.hpp b/bundled/boost-1.56.0/include/boost/intrusive/list.hpp deleted file mode 100644 index c22e3af762..0000000000 --- a/bundled/boost-1.56.0/include/boost/intrusive/list.hpp +++ /dev/null @@ -1,1490 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Olaf Krzikalla 2004-2006. -// (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_LIST_HPP -#define BOOST_INTRUSIVE_LIST_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { -namespace intrusive { - -/// @cond - -struct list_defaults -{ - typedef detail::default_list_hook proto_value_traits; - static const bool constant_time_size = true; - typedef std::size_t size_type; - typedef void header_holder_type; -}; - -/// @endcond - -//! The class template list is an intrusive container that mimics most of the -//! interface of std::list 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<> and \c size_type<>. -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -template -#else -template -#endif -class list_impl -{ - //Public typedefs - public: - typedef ValueTraits value_traits; - typedef typename value_traits::pointer pointer; - typedef typename value_traits::const_pointer const_pointer; - typedef typename pointer_traits::element_type value_type; - typedef typename pointer_traits::reference reference; - typedef typename pointer_traits::reference const_reference; - typedef typename pointer_traits::difference_type difference_type; - typedef SizeType size_type; - typedef list_iterator iterator; - typedef list_iterator const_iterator; - typedef boost::intrusive::detail::reverse_iterator reverse_iterator; - typedef boost::intrusive::detail::reverse_iteratorconst_reverse_iterator; - typedef typename value_traits::node_traits node_traits; - 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 circular_list_algorithms node_algorithms; - typedef HeaderHolder header_holder_type; - - static const bool constant_time_size = ConstantTimeSize; - static const bool stateful_value_traits = detail::is_stateful_value_traits::value; - static const bool has_container_from_iterator = - boost::is_same< header_holder_type, detail::default_header_holder< node_traits > >::value; - - /// @cond - - private: - typedef detail::size_holder size_traits; - - //noncopyable - BOOST_MOVABLE_BUT_NOT_COPYABLE(list_impl) - - static const bool safemode_or_autounlink = is_safe_autounlink::value; - - //Constant-time size is incompatible with auto-unlink hooks! - BOOST_STATIC_ASSERT(!(constant_time_size && - ((int)value_traits::link_mode == (int)auto_unlink) - )); - - node_ptr get_root_node() - { return data_.root_plus_size_.m_header.get_node(); } - - const_node_ptr get_root_node() const - { return data_.root_plus_size_.m_header.get_node(); } - - struct root_plus_size : public size_traits - { - header_holder_type m_header; - }; - - struct data_t : public value_traits - { - typedef typename list_impl::value_traits value_traits; - explicit data_t(const value_traits &val_traits) - : value_traits(val_traits) - {} - - root_plus_size root_plus_size_; - } data_; - - size_traits &priv_size_traits() - { return data_.root_plus_size_; } - - const size_traits &priv_size_traits() const - { return data_.root_plus_size_; } - - const value_traits &priv_value_traits() const - { return data_; } - - value_traits &priv_value_traits() - { return data_; } - - typedef typename boost::intrusive::value_traits_pointers - ::const_value_traits_ptr const_value_traits_ptr; - - const_value_traits_ptr priv_value_traits_ptr() const - { return pointer_traits::pointer_to(this->priv_value_traits()); } - - /// @endcond - - public: - - //! Effects: constructs an empty list. - //! - //! Complexity: Constant - //! - //! Throws: If value_traits::node_traits::node - //! constructor throws (this does not happen with predefined Boost.Intrusive hooks). - explicit list_impl(const value_traits &v_traits = value_traits()) - : data_(v_traits) - { - this->priv_size_traits().set_size(size_type(0)); - node_algorithms::init_header(this->get_root_node()); - } - - //! Requires: Dereferencing iterator must yield an lvalue of type value_type. - //! - //! Effects: Constructs a list equal to the range [first,last). - //! - //! Complexity: Linear in std::distance(b, e). No copy constructors are called. - //! - //! Throws: If value_traits::node_traits::node - //! constructor throws (this does not happen with predefined Boost.Intrusive hooks). - template - list_impl(Iterator b, Iterator e, const value_traits &v_traits = value_traits()) - : data_(v_traits) - { - //nothrow, no need to rollback to release elements on exception - this->priv_size_traits().set_size(size_type(0)); - node_algorithms::init_header(this->get_root_node()); - //nothrow, no need to rollback to release elements on exception - this->insert(this->cend(), b, e); - } - - //! Effects: to-do - //! - list_impl(BOOST_RV_REF(list_impl) x) - : data_(::boost::move(x.priv_value_traits())) - { - this->priv_size_traits().set_size(size_type(0)); - node_algorithms::init_header(this->get_root_node()); - //nothrow, no need to rollback to release elements on exception - this->swap(x); - } - - //! Effects: to-do - //! - list_impl& operator=(BOOST_RV_REF(list_impl) x) - { this->swap(x); return *this; } - - //! Effects: If it's not a safe-mode or an auto-unlink value_type - //! the destructor does nothing - //! (ie. no code is generated). Otherwise it detaches all elements from this. - //! In this case the objects in the list are not deleted (i.e. no destructors - //! are called), but the hooks according to the ValueTraits template parameter - //! are set to their default value. - //! - //! Complexity: Linear to the number of elements in the list, if - //! it's a safe-mode or auto-unlink value . Otherwise constant. - ~list_impl() - { - if(is_safe_autounlink::value){ - this->clear(); - node_algorithms::init(this->get_root_node()); - } - } - - //! Requires: value must be an lvalue. - //! - //! Effects: Inserts the value in the back of the list. - //! No copy constructors are called. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - //! - //! Note: Does not affect the validity of iterators and references. - void push_back(reference value) - { - node_ptr to_insert = priv_value_traits().to_node_ptr(value); - if(safemode_or_autounlink) - BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(node_algorithms::inited(to_insert)); - node_algorithms::link_before(this->get_root_node(), to_insert); - this->priv_size_traits().increment(); - } - - //! Requires: value must be an lvalue. - //! - //! Effects: Inserts the value in the front of the list. - //! No copy constructors are called. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - //! - //! Note: Does not affect the validity of iterators and references. - void push_front(reference value) - { - node_ptr to_insert = priv_value_traits().to_node_ptr(value); - if(safemode_or_autounlink) - BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(node_algorithms::inited(to_insert)); - node_algorithms::link_before(node_traits::get_next(this->get_root_node()), to_insert); - this->priv_size_traits().increment(); - } - - //! Effects: Erases the last element of the list. - //! No destructors are called. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - //! - //! Note: Invalidates the iterators (but not the references) to the erased element. - void pop_back() - { return this->pop_back_and_dispose(detail::null_disposer()); } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Erases the last element of the list. - //! No destructors are called. - //! Disposer::operator()(pointer) is called for the removed element. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - //! - //! Note: Invalidates the iterators to the erased element. - template - void pop_back_and_dispose(Disposer disposer) - { - node_ptr to_erase = node_traits::get_previous(this->get_root_node()); - node_algorithms::unlink(to_erase); - this->priv_size_traits().decrement(); - if(safemode_or_autounlink) - node_algorithms::init(to_erase); - disposer(priv_value_traits().to_value_ptr(to_erase)); - } - - //! Effects: Erases the first element of the list. - //! No destructors are called. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - //! - //! Note: Invalidates the iterators (but not the references) to the erased element. - void pop_front() - { return this->pop_front_and_dispose(detail::null_disposer()); } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Erases the first element of the list. - //! No destructors are called. - //! Disposer::operator()(pointer) is called for the removed element. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - //! - //! Note: Invalidates the iterators to the erased element. - template - void pop_front_and_dispose(Disposer disposer) - { - node_ptr to_erase = node_traits::get_next(this->get_root_node()); - node_algorithms::unlink(to_erase); - this->priv_size_traits().decrement(); - if(safemode_or_autounlink) - node_algorithms::init(to_erase); - disposer(priv_value_traits().to_value_ptr(to_erase)); - } - - //! Effects: Returns a reference to the first element of the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - reference front() - { return *priv_value_traits().to_value_ptr(node_traits::get_next(this->get_root_node())); } - - //! Effects: Returns a const_reference to the first element of the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reference front() const - { return *priv_value_traits().to_value_ptr(detail::uncast(node_traits::get_next(this->get_root_node()))); } - - //! Effects: Returns a reference to the last element of the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - reference back() - { return *priv_value_traits().to_value_ptr(node_traits::get_previous(this->get_root_node())); } - - //! Effects: Returns a const_reference to the last element of the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reference back() const - { return *priv_value_traits().to_value_ptr(detail::uncast(node_traits::get_previous(this->get_root_node()))); } - - //! Effects: Returns an iterator to the first element contained in the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - iterator begin() - { return iterator(node_traits::get_next(this->get_root_node()), this->priv_value_traits_ptr()); } - - //! Effects: Returns a const_iterator to the first element contained in the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator begin() const - { return this->cbegin(); } - - //! Effects: Returns a const_iterator to the first element contained in the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator cbegin() const - { return const_iterator(node_traits::get_next(this->get_root_node()), this->priv_value_traits_ptr()); } - - //! Effects: Returns an iterator to the end of the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - iterator end() - { return iterator(this->get_root_node(), this->priv_value_traits_ptr()); } - - //! Effects: Returns a const_iterator to the end of the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator end() const - { return this->cend(); } - - //! Effects: Returns a constant iterator to the end of the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator cend() const - { return const_iterator(detail::uncast(this->get_root_node()), this->priv_value_traits_ptr()); } - - //! Effects: Returns a reverse_iterator pointing to the beginning - //! of the reversed list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - reverse_iterator rbegin() - { return reverse_iterator(this->end()); } - - //! Effects: Returns a const_reverse_iterator pointing to the beginning - //! of the reversed list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator rbegin() const - { return this->crbegin(); } - - //! Effects: Returns a const_reverse_iterator pointing to the beginning - //! of the reversed list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator crbegin() const - { return const_reverse_iterator(end()); } - - //! Effects: Returns a reverse_iterator pointing to the end - //! of the reversed list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - reverse_iterator rend() - { return reverse_iterator(begin()); } - - //! Effects: Returns a const_reverse_iterator pointing to the end - //! of the reversed list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator rend() const - { return this->crend(); } - - //! Effects: Returns a const_reverse_iterator pointing to the end - //! of the reversed list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reverse_iterator crend() const - { return const_reverse_iterator(this->begin()); } - - //! Precondition: end_iterator must be a valid end iterator - //! of list. - //! - //! Effects: Returns a const reference to the list associated to the end iterator - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - static list_impl &container_from_end_iterator(iterator end_iterator) - { return list_impl::priv_container_from_end_iterator(end_iterator); } - - //! Precondition: end_iterator must be a valid end const_iterator - //! of list. - //! - //! Effects: Returns a const reference to the list associated to the end iterator - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - static const list_impl &container_from_end_iterator(const_iterator end_iterator) - { return list_impl::priv_container_from_end_iterator(end_iterator); } - - //! Effects: Returns the number of the elements contained in the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements contained in the list. - //! if constant-time size option is disabled. Constant time otherwise. - //! - //! Note: Does not affect the validity of iterators and references. - size_type size() const - { - if(constant_time_size) - return this->priv_size_traits().get_size(); - else - return node_algorithms::count(this->get_root_node()) - 1; - } - - //! Effects: Returns true if the list contains no elements. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - //! - //! Note: Does not affect the validity of iterators and references. - bool empty() const - { return node_algorithms::unique(this->get_root_node()); } - - //! Effects: Swaps the elements of x and *this. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - //! - //! Note: Does not affect the validity of iterators and references. - void swap(list_impl& other) - { - node_algorithms::swap_nodes(this->get_root_node(), other.get_root_node()); - if(constant_time_size){ - size_type backup = this->priv_size_traits().get_size(); - this->priv_size_traits().set_size(other.priv_size_traits().get_size()); - other.priv_size_traits().set_size(backup); - } - } - - //! Effects: Moves backwards all the elements, so that the first - //! element becomes the second, the second becomes the third... - //! the last element becomes the first one. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of shifts. - //! - //! Note: Does not affect the validity of iterators and references. - void shift_backwards(size_type n = 1) - { node_algorithms::move_forward(this->get_root_node(), n); } - - //! Effects: Moves forward all the elements, so that the second - //! element becomes the first, the third becomes the second... - //! the first element becomes the last one. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of shifts. - //! - //! Note: Does not affect the validity of iterators and references. - void shift_forward(size_type n = 1) - { node_algorithms::move_backwards(this->get_root_node(), n); } - - //! Effects: Erases the element pointed by i of the list. - //! No destructors are called. - //! - //! Returns: the first element remaining beyond the removed element, - //! or end() if no such element exists. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - //! - //! Note: Invalidates the iterators (but not the references) to the - //! erased element. - iterator erase(const_iterator i) - { return this->erase_and_dispose(i, detail::null_disposer()); } - - //! Requires: b and e must be valid iterators to elements in *this. - //! - //! Effects: Erases the element range pointed by b and e - //! No destructors are called. - //! - //! Returns: the first element remaining beyond the removed elements, - //! or end() if no such element exists. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of erased elements if it's a safe-mode - //! or auto-unlink value, or constant-time size is enabled. Constant-time otherwise. - //! - //! Note: Invalidates the iterators (but not the references) to the - //! erased elements. - iterator erase(const_iterator b, const_iterator e) - { - if(safemode_or_autounlink || constant_time_size){ - return this->erase_and_dispose(b, e, detail::null_disposer()); - } - else{ - node_algorithms::unlink(b.pointed_node(), e.pointed_node()); - return e.unconst(); - } - } - - //! Requires: b and e must be valid iterators to elements in *this. - //! n must be std::distance(b, e). - //! - //! Effects: Erases the element range pointed by b and e - //! No destructors are called. - //! - //! Returns: the first element remaining beyond the removed elements, - //! or end() if no such element exists. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of erased elements if it's a safe-mode - //! or auto-unlink value is enabled. Constant-time otherwise. - //! - //! Note: Invalidates the iterators (but not the references) to the - //! erased elements. - iterator erase(const_iterator b, const_iterator e, difference_type n) - { - BOOST_INTRUSIVE_INVARIANT_ASSERT(std::distance(b, e) == difference_type(n)); - if(safemode_or_autounlink || constant_time_size){ - return this->erase_and_dispose(b, e, detail::null_disposer()); - } - else{ - if(constant_time_size){ - this->priv_size_traits().decrease(n); - } - node_algorithms::unlink(b.pointed_node(), e.pointed_node()); - return e.unconst(); - } - } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Erases the element pointed by i of the list. - //! No destructors are called. - //! Disposer::operator()(pointer) is called for the removed element. - //! - //! Returns: the first element remaining beyond the removed element, - //! or end() if no such element exists. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - //! - //! Note: Invalidates the iterators to the erased element. - template - iterator erase_and_dispose(const_iterator i, Disposer disposer) - { - node_ptr to_erase(i.pointed_node()); - ++i; - node_algorithms::unlink(to_erase); - this->priv_size_traits().decrement(); - if(safemode_or_autounlink) - node_algorithms::init(to_erase); - disposer(this->priv_value_traits().to_value_ptr(to_erase)); - return i.unconst(); - } - - #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - template - iterator erase_and_dispose(iterator i, Disposer disposer) - { return this->erase_and_dispose(const_iterator(i), disposer); } - #endif - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Erases the element range pointed by b and e - //! No destructors are called. - //! Disposer::operator()(pointer) is called for the removed elements. - //! - //! Returns: the first element remaining beyond the removed elements, - //! or end() if no such element exists. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements erased. - //! - //! Note: Invalidates the iterators to the erased elements. - template - iterator erase_and_dispose(const_iterator b, const_iterator e, Disposer disposer) - { - node_ptr bp(b.pointed_node()), ep(e.pointed_node()); - node_algorithms::unlink(bp, ep); - while(bp != ep){ - node_ptr to_erase(bp); - bp = node_traits::get_next(bp); - if(safemode_or_autounlink) - node_algorithms::init(to_erase); - disposer(priv_value_traits().to_value_ptr(to_erase)); - this->priv_size_traits().decrement(); - } - return e.unconst(); - } - - //! Effects: Erases all the elements of the container. - //! No destructors are called. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements of the list. - //! if it's a safe-mode or auto-unlink value_type. Constant time otherwise. - //! - //! Note: Invalidates the iterators (but not the references) to the erased elements. - void clear() - { - if(safemode_or_autounlink){ - this->clear_and_dispose(detail::null_disposer()); - } - else{ - node_algorithms::init_header(this->get_root_node()); - this->priv_size_traits().set_size(size_type(0)); - } - } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Erases all the elements of the container. - //! No destructors are called. - //! Disposer::operator()(pointer) is called for the removed elements. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements of the list. - //! - //! Note: Invalidates the iterators to the erased elements. - template - void clear_and_dispose(Disposer disposer) - { - const_iterator it(this->begin()), itend(this->end()); - while(it != itend){ - node_ptr to_erase(it.pointed_node()); - ++it; - if(safemode_or_autounlink) - node_algorithms::init(to_erase); - disposer(priv_value_traits().to_value_ptr(to_erase)); - } - node_algorithms::init_header(this->get_root_node()); - this->priv_size_traits().set_size(0); - } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! Cloner should yield to nodes equivalent to the original nodes. - //! - //! Effects: Erases all the elements from *this - //! calling Disposer::operator()(pointer), clones all the - //! elements from src calling Cloner::operator()(const_reference ) - //! and inserts them on *this. - //! - //! If cloner throws, all cloned elements are unlinked and disposed - //! calling Disposer::operator()(pointer). - //! - //! Complexity: Linear to erased plus inserted elements. - //! - //! Throws: If cloner throws. Basic guarantee. - template - void clone_from(const list_impl &src, Cloner cloner, Disposer disposer) - { - this->clear_and_dispose(disposer); - detail::exception_disposer - rollback(*this, disposer); - const_iterator b(src.begin()), e(src.end()); - for(; b != e; ++b){ - this->push_back(*cloner(*b)); - } - rollback.release(); - } - - //! Requires: value must be an lvalue and p must be a valid iterator of *this. - //! - //! Effects: Inserts the value before the position pointed by p. - //! - //! Returns: An iterator to the inserted element. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant time. No copy constructors are called. - //! - //! Note: Does not affect the validity of iterators and references. - iterator insert(const_iterator p, reference value) - { - node_ptr to_insert = this->priv_value_traits().to_node_ptr(value); - if(safemode_or_autounlink) - BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(node_algorithms::inited(to_insert)); - node_algorithms::link_before(p.pointed_node(), to_insert); - this->priv_size_traits().increment(); - return iterator(to_insert, this->priv_value_traits_ptr()); - } - - //! Requires: Dereferencing iterator must yield - //! an lvalue of type value_type and p must be a valid iterator of *this. - //! - //! Effects: Inserts the range pointed by b and e before the position p. - //! No copy constructors are called. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements inserted. - //! - //! Note: Does not affect the validity of iterators and references. - template - void insert(const_iterator p, Iterator b, Iterator e) - { - for (; b != e; ++b) - this->insert(p, *b); - } - - //! Requires: Dereferencing iterator must yield - //! an lvalue of type value_type. - //! - //! Effects: Clears the list and inserts the range pointed by b and e. - //! No destructors or copy constructors are called. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements inserted plus - //! linear to the elements contained in the list if it's a safe-mode - //! or auto-unlink value. - //! Linear to the number of elements inserted in the list otherwise. - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased elements. - template - void assign(Iterator b, Iterator e) - { - this->clear(); - this->insert(this->cend(), b, e); - } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Requires: Dereferencing iterator must yield - //! an lvalue of type value_type. - //! - //! Effects: Clears the list and inserts the range pointed by b and e. - //! No destructors or copy constructors are called. - //! Disposer::operator()(pointer) is called for the removed elements. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements inserted plus - //! linear to the elements contained in the list. - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased elements. - template - void dispose_and_assign(Disposer disposer, Iterator b, Iterator e) - { - this->clear_and_dispose(disposer); - this->insert(this->cend(), b, e); - } - - //! Requires: p must be a valid iterator of *this. - //! - //! Effects: Transfers all the elements of list x to this list, before the - //! the element pointed by p. No destructors or copy constructors are called. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - //! - //! Note: Iterators of values obtained from list x now point to elements of - //! this list. Iterators of this list and all the references are not invalidated. - void splice(const_iterator p, list_impl& x) - { - if(!x.empty()){ - node_algorithms::transfer - (p.pointed_node(), x.begin().pointed_node(), x.end().pointed_node()); - size_traits &thist = this->priv_size_traits(); - size_traits &xt = x.priv_size_traits(); - thist.increase(xt.get_size()); - xt.set_size(size_type(0)); - } - } - - //! Requires: p must be a valid iterator of *this. - //! new_ele must point to an element contained in list x. - //! - //! Effects: Transfers the value pointed by new_ele, from list x to this list, - //! before the element pointed by p. No destructors or copy constructors are called. - //! If p == new_ele or p == ++new_ele, this function is a null operation. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - //! - //! Note: Iterators of values obtained from list x now point to elements of this - //! list. Iterators of this list and all the references are not invalidated. - void splice(const_iterator p, list_impl&x, const_iterator new_ele) - { - node_algorithms::transfer(p.pointed_node(), new_ele.pointed_node()); - x.priv_size_traits().decrement(); - this->priv_size_traits().increment(); - } - - //! Requires: p must be a valid iterator of *this. - //! f and e must point to elements contained in list x. - //! - //! Effects: Transfers the range pointed by f and e from list x to this list, - //! before the element pointed by p. No destructors or copy constructors are called. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements transferred - //! if constant-time size option is enabled. Constant-time otherwise. - //! - //! Note: Iterators of values obtained from list x now point to elements of this - //! list. Iterators of this list and all the references are not invalidated. - void splice(const_iterator p, list_impl&x, const_iterator f, const_iterator e) - { - if(constant_time_size) - this->splice(p, x, f, e, std::distance(f, e)); - else - this->splice(p, x, f, e, 1);//distance is a dummy value - } - - //! Requires: p must be a valid iterator of *this. - //! f and e must point to elements contained in list x. - //! n == std::distance(f, e) - //! - //! Effects: Transfers the range pointed by f and e from list x to this list, - //! before the element pointed by p. No destructors or copy constructors are called. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - //! - //! Note: Iterators of values obtained from list x now point to elements of this - //! list. Iterators of this list and all the references are not invalidated. - void splice(const_iterator p, list_impl&x, const_iterator f, const_iterator e, difference_type n) - { - if(n){ - if(constant_time_size){ - BOOST_INTRUSIVE_INVARIANT_ASSERT(n == std::distance(f, e)); - node_algorithms::transfer(p.pointed_node(), f.pointed_node(), e.pointed_node()); - size_traits &thist = this->priv_size_traits(); - size_traits &xt = x.priv_size_traits(); - thist.increase(n); - xt.decrease(n); - } - else{ - node_algorithms::transfer(p.pointed_node(), f.pointed_node(), e.pointed_node()); - } - } - } - - //! Effects: This function sorts the list *this according to std::less. - //! The sort is stable, that is, the relative order of equivalent elements is preserved. - //! - //! Throws: If value_traits::node_traits::node - //! constructor throws (this does not happen with predefined Boost.Intrusive hooks) - //! or std::less throws. Basic guarantee. - //! - //! Notes: Iterators and references are not invalidated. - //! - //! Complexity: The number of comparisons is approximately N log N, where N - //! is the list's size. - void sort() - { this->sort(std::less()); } - - //! Requires: p must be a comparison function that induces a strict weak ordering - //! - //! Effects: This function sorts the list *this according to p. The sort is - //! stable, that is, the relative order of equivalent elements is preserved. - //! - //! Throws: If value_traits::node_traits::node - //! constructor throws (this does not happen with predefined Boost.Intrusive hooks) - //! or the predicate throws. Basic guarantee. - //! - //! Notes: This won't throw if list_base_hook<> or - //! list_member_hook are used. - //! Iterators and references are not invalidated. - //! - //! Complexity: The number of comparisons is approximately N log N, where N - //! is the list's size. - template - void sort(Predicate p) - { - if(node_traits::get_next(this->get_root_node()) - != node_traits::get_previous(this->get_root_node())){ - list_impl carry(this->priv_value_traits()); - detail::array_initializer counter(this->priv_value_traits()); - int fill = 0; - while(!this->empty()){ - carry.splice(carry.cbegin(), *this, this->cbegin()); - int i = 0; - while(i < fill && !counter[i].empty()) { - counter[i].merge(carry, p); - carry.swap(counter[i++]); - } - carry.swap(counter[i]); - if(i == fill) - ++fill; - } - for (int i = 1; i < fill; ++i) - counter[i].merge(counter[i-1], p); - this->swap(counter[fill-1]); - } - } - - //! Effects: This function removes all of x's elements and inserts them - //! in order into *this according to std::less. The merge is stable; - //! that is, if an element from *this is equivalent to one from x, then the element - //! from *this will precede the one from x. - //! - //! Throws: If std::less throws. Basic guarantee. - //! - //! Complexity: This function is linear time: it performs at most - //! size() + x.size() - 1 comparisons. - //! - //! Note: Iterators and references are not invalidated - void merge(list_impl& x) - { this->merge(x, std::less()); } - - //! Requires: p must be a comparison function that induces a strict weak - //! ordering and both *this and x must be sorted according to that ordering - //! The lists x and *this must be distinct. - //! - //! Effects: This function removes all of x's elements and inserts them - //! in order into *this. The merge is stable; that is, if an element from *this is - //! equivalent to one from x, then the element from *this will precede the one from x. - //! - //! Throws: If the predicate throws. Basic guarantee. - //! - //! Complexity: This function is linear time: it performs at most - //! size() + x.size() - 1 comparisons. - //! - //! Note: Iterators and references are not invalidated. - template - void merge(list_impl& x, Predicate p) - { - const_iterator e(this->cend()), ex(x.cend()); - const_iterator b(this->cbegin()); - while(!x.empty()){ - const_iterator ix(x.cbegin()); - while (b != e && !p(*ix, *b)){ - ++b; - } - if(b == e){ - //Now transfer the rest to the end of the container - this->splice(e, x); - break; - } - else{ - size_type n(0); - do{ - ++ix; ++n; - } while(ix != ex && p(*ix, *b)); - this->splice(b, x, x.begin(), ix, n); - } - } - } - - //! Effects: Reverses the order of elements in the list. - //! - //! Throws: Nothing. - //! - //! Complexity: This function is linear time. - //! - //! Note: Iterators and references are not invalidated - void reverse() - { node_algorithms::reverse(this->get_root_node()); } - - //! Effects: Removes all the elements that compare equal to value. - //! No destructors are called. - //! - //! Throws: If std::equal_to throws. Basic guarantee. - //! - //! Complexity: Linear time. It performs exactly size() comparisons for equality. - //! - //! Note: The relative order of elements that are not removed is unchanged, - //! and iterators to elements that are not removed remain valid. - void remove(const_reference value) - { this->remove_if(detail::equal_to_value(value)); } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Removes all the elements that compare equal to value. - //! Disposer::operator()(pointer) is called for every removed element. - //! - //! Throws: If std::equal_to throws. Basic guarantee. - //! - //! Complexity: Linear time. It performs exactly size() comparisons for equality. - //! - //! Note: The relative order of elements that are not removed is unchanged, - //! and iterators to elements that are not removed remain valid. - template - void remove_and_dispose(const_reference value, Disposer disposer) - { this->remove_and_dispose_if(detail::equal_to_value(value), disposer); } - - //! Effects: Removes all the elements for which a specified - //! predicate is satisfied. No destructors are called. - //! - //! Throws: If pred throws. Basic guarantee. - //! - //! Complexity: Linear time. It performs exactly size() calls to the predicate. - //! - //! Note: The relative order of elements that are not removed is unchanged, - //! and iterators to elements that are not removed remain valid. - template - void remove_if(Pred pred) - { this->remove_and_dispose_if(pred, detail::null_disposer()); } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Removes all the elements for which a specified - //! predicate is satisfied. - //! Disposer::operator()(pointer) is called for every removed element. - //! - //! Throws: If pred throws. Basic guarantee. - //! - //! Complexity: Linear time. It performs exactly size() comparisons for equality. - //! - //! Note: The relative order of elements that are not removed is unchanged, - //! and iterators to elements that are not removed remain valid. - template - void remove_and_dispose_if(Pred pred, Disposer disposer) - { - const_iterator cur(this->cbegin()); - const_iterator last(this->cend()); - while(cur != last) { - if(pred(*cur)){ - cur = this->erase_and_dispose(cur, disposer); - } - else{ - ++cur; - } - } - } - - //! Effects: Removes adjacent duplicate elements or adjacent - //! elements that are equal from the list. No destructors are called. - //! - //! Throws: If std::equal_toComplexity: Linear time (size()-1 comparisons calls to pred()). - //! - //! Note: The relative order of elements that are not removed is unchanged, - //! and iterators to elements that are not removed remain valid. - void unique() - { this->unique_and_dispose(std::equal_to(), detail::null_disposer()); } - - //! Effects: Removes adjacent duplicate elements or adjacent - //! elements that satisfy some binary predicate from the list. - //! No destructors are called. - //! - //! Throws: If pred throws. Basic guarantee. - //! - //! Complexity: Linear time (size()-1 comparisons equality comparisons). - //! - //! Note: The relative order of elements that are not removed is unchanged, - //! and iterators to elements that are not removed remain valid. - template - void unique(BinaryPredicate pred) - { this->unique_and_dispose(pred, detail::null_disposer()); } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Removes adjacent duplicate elements or adjacent - //! elements that are equal from the list. - //! Disposer::operator()(pointer) is called for every removed element. - //! - //! Throws: If std::equal_toComplexity: Linear time (size()-1) comparisons equality comparisons. - //! - //! Note: The relative order of elements that are not removed is unchanged, - //! and iterators to elements that are not removed remain valid. - template - void unique_and_dispose(Disposer disposer) - { this->unique_and_dispose(std::equal_to(), disposer); } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Removes adjacent duplicate elements or adjacent - //! elements that satisfy some binary predicate from the list. - //! Disposer::operator()(pointer) is called for every removed element. - //! - //! Throws: If pred throws. Basic guarantee. - //! - //! Complexity: Linear time (size()-1) comparisons equality comparisons. - //! - //! Note: The relative order of elements that are not removed is unchanged, - //! and iterators to elements that are not removed remain valid. - template - void unique_and_dispose(BinaryPredicate pred, Disposer disposer) - { - const_iterator itend(this->cend()); - const_iterator cur(this->cbegin()); - - if(cur != itend){ - const_iterator after(cur); - ++after; - while(after != itend){ - if(pred(*cur, *after)){ - after = this->erase_and_dispose(after, disposer); - } - else{ - cur = after; - ++after; - } - } - } - } - - //! Requires: value must be a reference to a value inserted in a list. - //! - //! Effects: This function returns a const_iterator pointing to the element - //! - //! Throws: Nothing. - //! - //! Complexity: Constant time. - //! - //! Note: Iterators and references are not invalidated. - //! This static function is available only if the value traits - //! is stateless. - static iterator s_iterator_to(reference value) - { - BOOST_STATIC_ASSERT((!stateful_value_traits)); - BOOST_INTRUSIVE_INVARIANT_ASSERT(!node_algorithms::inited(value_traits::to_node_ptr(value))); - return iterator(value_traits::to_node_ptr(value), const_value_traits_ptr()); - } - - //! Requires: value must be a const reference to a value inserted in a list. - //! - //! Effects: This function returns an iterator pointing to the element. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant time. - //! - //! Note: Iterators and references are not invalidated. - //! This static function is available only if the value traits - //! is stateless. - static const_iterator s_iterator_to(const_reference value) - { - BOOST_STATIC_ASSERT((!stateful_value_traits)); - reference r =*pointer_traits::const_cast_from(pointer_traits::pointer_to(value)); - BOOST_INTRUSIVE_INVARIANT_ASSERT(!node_algorithms::inited(value_traits::to_node_ptr(r))); - return const_iterator(value_traits::to_node_ptr(r), const_value_traits_ptr()); - } - - //! Requires: value must be a reference to a value inserted in a list. - //! - //! Effects: This function returns a const_iterator pointing to the element - //! - //! Throws: Nothing. - //! - //! Complexity: Constant time. - //! - //! Note: Iterators and references are not invalidated. - iterator iterator_to(reference value) - { - BOOST_INTRUSIVE_INVARIANT_ASSERT(!node_algorithms::inited(this->priv_value_traits().to_node_ptr(value))); - return iterator(this->priv_value_traits().to_node_ptr(value), this->priv_value_traits_ptr()); - } - - //! Requires: value must be a const reference to a value inserted in a list. - //! - //! Effects: This function returns an iterator pointing to the element. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant time. - //! - //! Note: Iterators and references are not invalidated. - const_iterator iterator_to(const_reference value) const - { - reference r = *pointer_traits::const_cast_from(pointer_traits::pointer_to(value)); - BOOST_INTRUSIVE_INVARIANT_ASSERT(!node_algorithms::inited(this->priv_value_traits().to_node_ptr(r))); - return const_iterator(this->priv_value_traits().to_node_ptr(r), this->priv_value_traits_ptr()); - } - - /// @cond - - private: - static list_impl &priv_container_from_end_iterator(const const_iterator &end_iterator) - { - BOOST_STATIC_ASSERT((has_container_from_iterator)); - node_ptr p = end_iterator.pointed_node(); - header_holder_type* h = header_holder_type::get_holder(p); - root_plus_size* r = detail::parent_from_member - < root_plus_size, header_holder_type>(h, &root_plus_size::m_header); - data_t *d = detail::parent_from_member - ( r, &data_t::root_plus_size_); - list_impl *s = detail::parent_from_member(d, &list_impl::data_); - return *s; - } - /// @endcond -}; - -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -template -#else -template -#endif -inline bool operator< -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -(const list_impl &x, const list_impl &y) -#else -(const list_impl &x, const list_impl &y) -#endif -{ return std::lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); } - -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -template -#else -template -#endif -bool operator== -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -(const list_impl &x, const list_impl &y) -#else -(const list_impl &x, const list_impl &y) -#endif -{ - typedef list_impl list_type; - typedef typename list_type::const_iterator const_iterator; - const bool C = list_type::constant_time_size; - if(C && x.size() != y.size()){ - return false; - } - const_iterator end1 = x.end(); - - const_iterator i1 = x.begin(); - const_iterator i2 = y.begin(); - if(C){ - while (i1 != end1 && *i1 == *i2) { - ++i1; - ++i2; - } - return i1 == end1; - } - else{ - const_iterator end2 = y.end(); - while (i1 != end1 && i2 != end2 && *i1 == *i2) { - ++i1; - ++i2; - } - return i1 == end1 && i2 == end2; - } -} - -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -template -#else -template -#endif -inline bool operator!= -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -(const list_impl &x, const list_impl &y) -#else -(const list_impl &x, const list_impl &y) -#endif -{ return !(x == y); } - -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -template -#else -template -#endif -inline bool operator> -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -(const list_impl &x, const list_impl &y) -#else -(const list_impl &x, const list_impl &y) -#endif -{ return y < x; } - -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -template -#else -template -#endif -inline bool operator<= -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -(const list_impl &x, const list_impl &y) -#else -(const list_impl &x, const list_impl &y) -#endif -{ return !(y < x); } - -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -template -#else -template -#endif -inline bool operator>= -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -(const list_impl &x, const list_impl &y) -#else -(const list_impl &x, const list_impl &y) -#endif -{ return !(x < y); } - -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -template -#else -template -#endif -inline void swap -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -(list_impl &x, list_impl &y) -#else -(list_impl &x, list_impl &y) -#endif -{ x.swap(y); } - -//! Helper metafunction to define a \c list 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 -#else -template -#endif -struct make_list -{ - /// @cond - typedef typename pack_options - < list_defaults, - #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) - O1, O2, O3, O4 - #else - Options... - #endif - >::type packed_options; - - typedef typename detail::get_value_traits - ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; - - typedef list_impl - < - value_traits, - typename packed_options::size_type, - packed_options::constant_time_size, - header_holder_type - > implementation_defined; - /// @endcond - typedef implementation_defined type; -}; - - -#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED - -#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) -template -#else -template -#endif -class list - : public make_list::type -{ - typedef typename make_list - ::type Base; - //Assert if passed value traits are compatible with the type - BOOST_STATIC_ASSERT((detail::is_same::value)); - BOOST_MOVABLE_BUT_NOT_COPYABLE(list) - - public: - typedef typename Base::value_traits value_traits; - typedef typename Base::iterator iterator; - typedef typename Base::const_iterator const_iterator; - - explicit list(const value_traits &v_traits = value_traits()) - : Base(v_traits) - {} - - template - list(Iterator b, Iterator e, const value_traits &v_traits = value_traits()) - : Base(b, e, v_traits) - {} - - list(BOOST_RV_REF(list) x) - : Base(::boost::move(static_cast(x))) - {} - - list& operator=(BOOST_RV_REF(list) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } - - static list &container_from_end_iterator(iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } - - static const list &container_from_end_iterator(const_iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } -}; - -#endif - -} //namespace intrusive -} //namespace boost - -#include - -#endif //BOOST_INTRUSIVE_LIST_HPP diff --git a/bundled/boost-1.56.0/include/boost/intrusive/options.hpp b/bundled/boost-1.56.0/include/boost/intrusive/options.hpp deleted file mode 100644 index 83eff0982d..0000000000 --- a/bundled/boost-1.56.0/include/boost/intrusive/options.hpp +++ /dev/null @@ -1,386 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2007-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_OPTIONS_HPP -#define BOOST_INTRUSIVE_OPTIONS_HPP - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { -namespace intrusive { - -#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED - -//typedef void default_tag; -struct default_tag; -struct member_tag; - -namespace detail{ - -struct default_hook_tag{}; - -#define BOOST_INTRUSIVE_DEFAULT_HOOK_MARKER_DEFINITION(BOOST_INTRUSIVE_DEFAULT_HOOK_MARKER) \ -struct BOOST_INTRUSIVE_DEFAULT_HOOK_MARKER : public default_hook_tag\ -{\ - template \ - struct apply\ - { typedef typename T::BOOST_INTRUSIVE_DEFAULT_HOOK_MARKER type; };\ -}\ - -BOOST_INTRUSIVE_DEFAULT_HOOK_MARKER_DEFINITION(default_list_hook); -BOOST_INTRUSIVE_DEFAULT_HOOK_MARKER_DEFINITION(default_slist_hook); -BOOST_INTRUSIVE_DEFAULT_HOOK_MARKER_DEFINITION(default_rbtree_hook); -BOOST_INTRUSIVE_DEFAULT_HOOK_MARKER_DEFINITION(default_hashtable_hook); -BOOST_INTRUSIVE_DEFAULT_HOOK_MARKER_DEFINITION(default_avltree_hook); -BOOST_INTRUSIVE_DEFAULT_HOOK_MARKER_DEFINITION(default_bstree_hook); - -#undef BOOST_INTRUSIVE_DEFAULT_HOOK_MARKER_DEFINITION - -template -struct concrete_hook_base_value_traits -{ - typedef typename BaseHook::hooktags tags; - typedef bhtraits - < T - , typename tags::node_traits - , tags::link_mode - , typename tags::tag - , tags::type> type; -}; - -template -struct concrete_hook_base_node_traits -{ typedef typename BaseHook::hooktags::node_traits type; }; - -template -struct any_hook_base_value_traits -{ - //AnyToSomeHook value_traits derive from a generic_hook - //The generic_hook is configured with any_node_traits - //and AnyToSomeHook::value_traits with the correct - //node traits for the container, so use node_traits - //from AnyToSomeHook_ProtoValueTraits and the rest of - //elements from the hooktags member of the generic_hook - typedef AnyToSomeHook_ProtoValueTraits proto_value_traits; - typedef bhtraits - < T - , typename proto_value_traits::node_traits - , proto_value_traits::hooktags::link_mode - , typename proto_value_traits::hooktags::tag - , proto_value_traits::hooktags::type - > type; -}; - -template -struct any_hook_base_node_traits -{ typedef typename BaseHook::node_traits type; }; - -template -struct get_base_value_traits -{ - typedef typename detail::eval_if_c - < internal_any_hook_bool_is_true::value - , any_hook_base_value_traits - , concrete_hook_base_value_traits - >::type type; -}; - -template -struct get_base_node_traits -{ - typedef typename detail::eval_if_c - < internal_any_hook_bool_is_true::value - , any_hook_base_node_traits - , concrete_hook_base_node_traits - >::type type; -}; - -template -struct get_member_value_traits -{ - typedef typename MemberHook::member_value_traits type; -}; - -template -struct get_member_node_traits -{ - typedef typename MemberHook::member_value_traits::node_traits type; -}; - -template -struct get_value_traits -{ - typedef typename detail::eval_if_c - ::value - ,detail::apply - ,detail::identity - >::type supposed_value_traits; - - //...if it's a default hook - typedef typename detail::eval_if_c - < internal_base_hook_bool_is_true::value - //...get it's internal value traits using - //the provided T value type. - , get_base_value_traits - //...else use its internal value traits tag - //(member hooks and custom value traits are in this group) - , detail::eval_if_c - < internal_member_value_traits::value - , get_member_value_traits - , detail::identity - > - >::type type; -}; - -template -struct get_explicit_node_traits -{ - typedef typename ValueTraits::node_traits type; -}; - -template -struct get_node_traits -{ - typedef SupposedValueTraits supposed_value_traits; - //...if it's a base hook - typedef typename detail::eval_if_c - < internal_base_hook_bool_is_true::value - //...get it's internal value traits using - //the provided T value type. - , get_base_node_traits - //...else use its internal value traits tag - //(member hooks and custom value traits are in this group) - , detail::eval_if_c - < internal_member_value_traits::value - , get_member_node_traits - , get_explicit_node_traits - > - >::type type; -}; - -} //namespace detail{ - -#endif //BOOST_INTRUSIVE_DOXYGEN_INVOKED - -//!This option setter specifies if the intrusive -//!container stores its size as a member to -//!obtain constant-time size() member. -BOOST_INTRUSIVE_OPTION_CONSTANT(constant_time_size, bool, Enabled, constant_time_size) - -//!This option setter specifies a container header holder type -BOOST_INTRUSIVE_OPTION_TYPE(header_holder_type, HeaderHolder, HeaderHolder, header_holder_type) - -//!This option setter specifies the type that -//!the container will use to store its size. -BOOST_INTRUSIVE_OPTION_TYPE(size_type, SizeType, SizeType, size_type) - -//!This option setter specifies the strict weak ordering -//!comparison functor for the value type -BOOST_INTRUSIVE_OPTION_TYPE(compare, Compare, Compare, compare) - -//!This option setter for scapegoat containers specifies if -//!the intrusive scapegoat container should use a non-variable -//!alpha value that does not need floating-point operations. -//! -//!If activated, the fixed alpha value is 1/sqrt(2). This -//!option also saves some space in the container since -//!the alpha value and some additional data does not need -//!to be stored in the container. -//! -//!If the user only needs an alpha value near 1/sqrt(2), this -//!option also improves performance since avoids logarithm -//!and division operations when rebalancing the tree. -BOOST_INTRUSIVE_OPTION_CONSTANT(floating_point, bool, Enabled, floating_point) - -//!This option setter specifies the equality -//!functor for the value type -BOOST_INTRUSIVE_OPTION_TYPE(equal, Equal, Equal, equal) - -//!This option setter specifies the equality -//!functor for the value type -BOOST_INTRUSIVE_OPTION_TYPE(priority, Priority, Priority, priority) - -//!This option setter specifies the hash -//!functor for the value type -BOOST_INTRUSIVE_OPTION_TYPE(hash, Hash, Hash, hash) - -//!This option setter specifies the relationship between the type -//!to be managed by the container (the value type) and the node to be -//!used in the node algorithms. It also specifies the linking policy. -BOOST_INTRUSIVE_OPTION_TYPE(value_traits, ValueTraits, ValueTraits, proto_value_traits) - -//#define BOOST_INTRUSIVE_COMMA , -//#define BOOST_INTRUSIVE_LESS < -//#define BOOST_INTRUSIVE_MORE > -//BOOST_INTRUSIVE_OPTION_TYPE (member_hook, Parent BOOST_INTRUSIVE_COMMA class MemberHook BOOST_INTRUSIVE_COMMA MemberHook Parent::* PtrToMember , mhtraits BOOST_INTRUSIVE_LESS Parent BOOST_INTRUSIVE_COMMA MemberHook BOOST_INTRUSIVE_COMMA PtrToMember BOOST_INTRUSIVE_MORE , proto_value_traits) -//template< class Parent , class MemberHook , MemberHook Parent::* PtrToMember> -//struct member_hook { -// template struct pack : Base { -// typedef mhtraits < Parent , MemberHook , PtrToMember > proto_value_traits; -// }; -//}; -// -//#undef BOOST_INTRUSIVE_COMMA -//#undef BOOST_INTRUSIVE_LESS -//#undef BOOST_INTRUSIVE_MORE - -//!This option setter specifies the member hook the -//!container must use. -template< typename Parent - , typename MemberHook - , MemberHook Parent::* PtrToMember> -struct member_hook -{ -// @cond -// typedef typename MemberHook::hooktags::node_traits node_traits; -// typedef typename node_traits::node node_type; -// typedef node_type Parent::* Ptr2MemNode; -// typedef mhtraits -// < Parent -// , node_traits -// //This cast is really ugly but necessary to reduce template bloat. -// //Since we control the layout between the hook and the node, and there is -// //always single inheritance, the offset of the node is exactly the offset of -// //the hook. Since the node type is shared between all member hooks, this saves -// //quite a lot of symbol stuff. -// , (Ptr2MemNode)PtrToMember -// , MemberHook::hooktags::link_mode> member_value_traits; - typedef mhtraits member_value_traits; - template - struct pack : Base - { - typedef member_value_traits proto_value_traits; - }; -/// @endcond -}; - -//!This option setter specifies the function object that will -//!be used to convert between values to be inserted in a container -//!and the hook to be used for that purpose. -BOOST_INTRUSIVE_OPTION_TYPE(function_hook, Functor, fhtraits, proto_value_traits) - -//!This option setter specifies that the container -//!must use the specified base hook -BOOST_INTRUSIVE_OPTION_TYPE(base_hook, BaseHook, BaseHook, proto_value_traits) - -//!This option setter specifies the type of -//!a void pointer. This will instruct the hook -//!to use this type of pointer instead of the -//!default one -BOOST_INTRUSIVE_OPTION_TYPE(void_pointer, VoidPointer, VoidPointer, void_pointer) - -//!This option setter specifies the type of -//!the tag of a base hook. A type cannot have two -//!base hooks of the same type, so a tag can be used -//!to differentiate two base hooks with otherwise same type -BOOST_INTRUSIVE_OPTION_TYPE(tag, Tag, Tag, tag) - -//!This option setter specifies the link mode -//!(normal_link, safe_link or auto_unlink) -BOOST_INTRUSIVE_OPTION_CONSTANT(link_mode, link_mode_type, LinkType, link_mode) - -//!This option setter specifies if the hook -//!should be optimized for size instead of for speed. -BOOST_INTRUSIVE_OPTION_CONSTANT(optimize_size, bool, Enabled, optimize_size) - -//!This option setter specifies if the slist container should -//!use a linear implementation instead of a circular one. -BOOST_INTRUSIVE_OPTION_CONSTANT(linear, bool, Enabled, linear) - -//!If true, slist also stores a pointer to the last element of the singly linked list. -//!This allows O(1) swap and splice_after(iterator, slist &) for circular slists and makes -//!possible new functions like push_back(reference) and back(). -BOOST_INTRUSIVE_OPTION_CONSTANT(cache_last, bool, Enabled, cache_last) - -//!This option setter specifies the bucket traits -//!class for unordered associative containers. When this option is specified, -//!instead of using the default bucket traits, a user defined holder will be defined -BOOST_INTRUSIVE_OPTION_TYPE(bucket_traits, BucketTraits, BucketTraits, bucket_traits) - -//!This option setter specifies if the unordered hook -//!should offer room to store the hash value. -//!Storing the hash in the hook will speed up rehashing -//!processes in applications where rehashing is frequent, -//!rehashing might throw or the value is heavy to hash. -BOOST_INTRUSIVE_OPTION_CONSTANT(store_hash, bool, Enabled, store_hash) - -//!This option setter specifies if the unordered hook -//!should offer room to store another link to another node -//!with the same key. -//!Storing this link will speed up lookups and insertions on -//!unordered_multiset containers with a great number of elements -//!with the same key. -BOOST_INTRUSIVE_OPTION_CONSTANT(optimize_multikey, bool, Enabled, optimize_multikey) - -//!This option setter specifies if the bucket array will be always power of two. -//!This allows using masks instead of the default modulo operation to determine -//!the bucket number from the hash value, leading to better performance. -//!In debug mode, if power of two buckets mode is activated, the bucket length -//!will be checked to through assertions to assure the bucket length is power of two. -BOOST_INTRUSIVE_OPTION_CONSTANT(power_2_buckets, bool, Enabled, power_2_buckets) - -//!This option setter specifies if the container will cache a pointer to the first -//!non-empty bucket so that begin() is always constant-time. -//!This is specially helpful when we can have containers with a few elements -//!but with big bucket arrays (that is, hashtables with low load factors). -BOOST_INTRUSIVE_OPTION_CONSTANT(cache_begin, bool, Enabled, cache_begin) - -//!This option setter specifies if the container will compare the hash value -//!before comparing objects. This option can't be specified if store_hash<> -//!is not true. -//!This is specially helpful when we have containers with a high load factor. -//!and the comparison function is much more expensive that comparing already -//!stored hash values. -BOOST_INTRUSIVE_OPTION_CONSTANT(compare_hash, bool, Enabled, compare_hash) - -//!This option setter specifies if the hash container will use incremental -//!hashing. With incremental hashing the cost of hash table expansion is spread -//!out across each hash table insertion operation, as opposed to be incurred all at once. -//!Therefore linear hashing is well suited for interactive applications or real-time -//!appplications where the worst-case insertion time of non-incremental hash containers -//!(rehashing the whole bucket array) is not admisible. -BOOST_INTRUSIVE_OPTION_CONSTANT(incremental, bool, Enabled, incremental) - -/// @cond - -struct none -{ - template - struct pack : Base - {}; -}; - -struct hook_defaults -{ - typedef void* void_pointer; - static const link_mode_type link_mode = safe_link; - typedef default_tag tag; - static const bool optimize_size = false; - static const bool store_hash = false; - static const bool linear = false; - static const bool optimize_multikey = false; -}; - -/// @endcond - -} //namespace intrusive { -} //namespace boost { - -#include - -#endif //#ifndef BOOST_INTRUSIVE_OPTIONS_HPP diff --git a/bundled/boost-1.56.0/include/boost/intrusive/parent_from_member.hpp b/bundled/boost-1.56.0/include/boost/intrusive/parent_from_member.hpp deleted file mode 100644 index 0f3eb5c761..0000000000 --- a/bundled/boost-1.56.0/include/boost/intrusive/parent_from_member.hpp +++ /dev/null @@ -1,44 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2010-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_GET_PARENT_FROM_MEMBER_HPP -#define BOOST_INTRUSIVE_GET_PARENT_FROM_MEMBER_HPP - -#include -#include - -#include - -namespace boost { -namespace intrusive { - -//! Given a pointer to a member and its corresponding pointer to data member, -//! this function returns the pointer of the parent containing that member. -//! Note: this function does not work with pointer to members that rely on -//! virtual inheritance. -template -inline Parent *get_parent_from_member(Member *member, const Member Parent::* ptr_to_member) -{ return ::boost::intrusive::detail::parent_from_member(member, ptr_to_member); } - -//! Given a const pointer to a member and its corresponding const pointer to data member, -//! this function returns the const pointer of the parent containing that member. -//! Note: this function does not work with pointer to members that rely on -//! virtual inheritance. -template -inline const Parent *get_parent_from_member(const Member *member, const Member Parent::* ptr_to_member) -{ return ::boost::intrusive::detail::parent_from_member(member, ptr_to_member); } - -} //namespace intrusive { -} //namespace boost { - -#include - -#endif //#ifndef BOOST_INTRUSIVE_GET_PARENT_FROM_MEMBER_HPP diff --git a/bundled/boost-1.56.0/include/boost/intrusive/pointer_traits.hpp b/bundled/boost-1.56.0/include/boost/intrusive/pointer_traits.hpp deleted file mode 100644 index fe898f6165..0000000000 --- a/bundled/boost-1.56.0/include/boost/intrusive/pointer_traits.hpp +++ /dev/null @@ -1,273 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Pablo Halpern 2009. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -////////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2011-2013. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/intrusive for documentation. -// -////////////////////////////////////////////////////////////////////////////// - -#ifndef BOOST_INTRUSIVE_POINTER_TRAITS_HPP -#define BOOST_INTRUSIVE_POINTER_TRAITS_HPP - -#if defined(_MSC_VER) -# pragma once -#endif - -#include -#include -#include -#include -#include -#include - -namespace boost { -namespace intrusive { - -//! pointer_traits is the implementation of C++11 std::pointer_traits class with some -//! extensions like castings. -//! -//! pointer_traits supplies a uniform interface to certain attributes of pointer-like types. -template -struct pointer_traits -{ - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - //!The pointer type - //!queried by this pointer_traits instantiation - typedef Ptr pointer; - - //!Ptr::element_type if such a type exists; otherwise, T if Ptr is a class - //!template instantiation of the form SomePointer, where Args is zero or - //!more type arguments ; otherwise , the specialization is ill-formed. - typedef unspecified_type element_type; - - //!Ptr::difference_type if such a type exists; otherwise, - //!std::ptrdiff_t. - typedef unspecified_type difference_type; - - //!Ptr::rebind if such a type exists; otherwise, SomePointer if Ptr is - //!a class template instantiation of the form SomePointer, where Args is zero or - //!more type arguments ; otherwise, the instantiation of rebind is ill-formed. - //! - //!For portable code for C++03 and C++11,
typename rebind_pointer::type
- //!shall be used instead of rebind to obtain a pointer to U. - template using rebind = unspecified; - - //!Ptr::reference if such a type exists (non-standard extension); otherwise, element_type & - //! - typedef element_type &reference; - #else - typedef Ptr pointer; - // - typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_EVAL_DEFAULT - ( boost::intrusive::detail::, Ptr, element_type - , boost::intrusive::detail::first_param) element_type; - // - typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT - (boost::intrusive::detail::, Ptr, difference_type, std::ptrdiff_t) difference_type; - - typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT - (boost::intrusive::detail::, Ptr, reference, typename boost::intrusive::detail::unvoid_ref::type) reference; - // - template struct rebind_pointer - { - typedef typename boost::intrusive::detail::type_rebinder::type type; - }; - - #if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) - template using rebind = typename boost::intrusive::detail::type_rebinder::type; - #endif - #endif //#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) - - //! Remark: If element_type is (possibly cv-qualified) void, r type is unspecified; otherwise, - //! it is element_type &. - //! - //! Returns: A dereferenceable pointer to r obtained by calling Ptr::pointer_to(r). - //! Non-standard extension: If such function does not exist, returns pointer(addressof(r)); - static pointer pointer_to(reference r) - { - //Non-standard extension, it does not require Ptr::pointer_to. If not present - //tries to converts &r to pointer. - const bool value = boost::intrusive::detail:: - has_member_function_callable_with_pointer_to - ::value; - boost::intrusive::detail::bool_ flag; - return pointer_traits::priv_pointer_to(flag, r); - } - - //! Remark: Non-standard extension. - //! - //! Returns: A dereferenceable pointer to r obtained by calling Ptr::static_cast_from(r). - //! If such function does not exist, returns pointer_to(static_cast(*uptr)) - template - static pointer static_cast_from(const UPtr &uptr) - { - const bool value = boost::intrusive::detail:: - has_member_function_callable_with_static_cast_from - ::value; - boost::intrusive::detail::bool_ flag; - return pointer_traits::priv_static_cast_from(flag, uptr); - } - - //! Remark: Non-standard extension. - //! - //! Returns: A dereferenceable pointer to r obtained by calling Ptr::const_cast_from(r). - //! If such function does not exist, returns pointer_to(const_cast(*uptr)) - template - static pointer const_cast_from(const UPtr &uptr) - { - const bool value = boost::intrusive::detail:: - has_member_function_callable_with_const_cast_from - ::value; - boost::intrusive::detail::bool_ flag; - return pointer_traits::priv_const_cast_from(flag, uptr); - } - - //! Remark: Non-standard extension. - //! - //! Returns: A dereferenceable pointer to r obtained by calling Ptr::dynamic_cast_from(r). - //! If such function does not exist, returns pointer_to(*dynamic_cast(&*uptr)) - template - static pointer dynamic_cast_from(const UPtr &uptr) - { - const bool value = boost::intrusive::detail:: - has_member_function_callable_with_dynamic_cast_from - ::value; - boost::intrusive::detail::bool_ flag; - return pointer_traits::priv_dynamic_cast_from(flag, uptr); - } - - ///@cond - private: - //priv_to_raw_pointer - template - static T* to_raw_pointer(T* p) - { return p; } - - template - static typename pointer_traits::element_type* - to_raw_pointer(const Pointer &p) - { return pointer_traits::to_raw_pointer(p.operator->()); } - - //priv_pointer_to - static pointer priv_pointer_to(boost::intrusive::detail::true_, reference r) - { return Ptr::pointer_to(r); } - - static pointer priv_pointer_to(boost::intrusive::detail::false_, reference r) - { return pointer(boost::intrusive::detail::addressof(r)); } - - //priv_static_cast_from - template - static pointer priv_static_cast_from(boost::intrusive::detail::true_, const UPtr &uptr) - { return Ptr::static_cast_from(uptr); } - - template - static pointer priv_static_cast_from(boost::intrusive::detail::false_, const UPtr &uptr) - { return pointer_to(*static_cast(to_raw_pointer(uptr))); } - - //priv_const_cast_from - template - static pointer priv_const_cast_from(boost::intrusive::detail::true_, const UPtr &uptr) - { return Ptr::const_cast_from(uptr); } - - template - static pointer priv_const_cast_from(boost::intrusive::detail::false_, const UPtr &uptr) - { return pointer_to(const_cast(*uptr)); } - - //priv_dynamic_cast_from - template - static pointer priv_dynamic_cast_from(boost::intrusive::detail::true_, const UPtr &uptr) - { return Ptr::dynamic_cast_from(uptr); } - - template - static pointer priv_dynamic_cast_from(boost::intrusive::detail::false_, const UPtr &uptr) - { - element_type *p = dynamic_cast(&*uptr); - if(!p){ - return pointer(); - } - else{ - return pointer_to(*p); - } - } - ///@endcond -}; - -///@cond - -// Remove cv qualification from Ptr parameter to pointer_traits: -template -struct pointer_traits : pointer_traits {}; -template -struct pointer_traits : pointer_traits { }; -template -struct pointer_traits : pointer_traits { }; -// Remove reference from Ptr parameter to pointer_traits: -template -struct pointer_traits : pointer_traits { }; - -///@endcond - -//! Specialization of pointer_traits for raw pointers -//! -template -struct pointer_traits -{ - typedef T element_type; - typedef T* pointer; - typedef std::ptrdiff_t difference_type; - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - typedef T & reference; - //!typedef for
U *
- //! - //!For portable code for C++03 and C++11,
typename rebind_pointer::type
- //!shall be used instead of rebind to obtain a pointer to U. - template using rebind = U*; - #else - typedef typename boost::intrusive::detail::unvoid_ref::type reference; - #if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) - template using rebind = U*; - #endif - #endif - - template struct rebind_pointer - { typedef U* type; }; - - //! Returns: addressof(r) - //! - static pointer pointer_to(reference r) - { return boost::intrusive::detail::addressof(r); } - - //! Returns: static_cast(uptr) - //! - template - static pointer static_cast_from(U *uptr) - { return static_cast(uptr); } - - //! Returns: const_cast(uptr) - //! - template - static pointer const_cast_from(U *uptr) - { return const_cast(uptr); } - - //! Returns: dynamic_cast(uptr) - //! - template - static pointer dynamic_cast_from(U *uptr) - { return dynamic_cast(uptr); } -}; - -} //namespace container { -} //namespace boost { - -#include - -#endif // ! defined(BOOST_INTRUSIVE_POINTER_TRAITS_HPP) diff --git a/bundled/boost-1.56.0/include/boost/intrusive/priority_compare.hpp b/bundled/boost-1.56.0/include/boost/intrusive/priority_compare.hpp deleted file mode 100644 index f6beee1ca9..0000000000 --- a/bundled/boost-1.56.0/include/boost/intrusive/priority_compare.hpp +++ /dev/null @@ -1,60 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2008 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/intrusive for documentation. -// -///////////////////////////////////////////////////////////////////////////// - -#ifndef BOOST_INTRUSIVE_PRIORITY_COMPARE_HPP -#define BOOST_INTRUSIVE_PRIORITY_COMPARE_HPP - -#include -#include - -#include - -namespace boost { -namespace intrusive { - -template -struct priority_compare -{ - //Compatibility with std::binary_function - typedef T first_argument_type; - typedef T second_argument_type; - typedef bool result_type; - - bool operator()(const T &val, const T &val2) const - { - return priority_order(val, val2); - } -}; - -/// @cond - -template -struct get_prio -{ - typedef Less type; -}; - - -template -struct get_prio -{ - typedef ::boost::intrusive::priority_compare type; -}; - -/// @endcond - -} //namespace intrusive -} //namespace boost - -#include - -#endif //BOOST_INTRUSIVE_PRIORITY_COMPARE_HPP diff --git a/bundled/boost-1.56.0/include/boost/intrusive/rbtree.hpp b/bundled/boost-1.56.0/include/boost/intrusive/rbtree.hpp deleted file mode 100644 index 20f719ce68..0000000000 --- a/bundled/boost-1.56.0/include/boost/intrusive/rbtree.hpp +++ /dev/null @@ -1,539 +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_RBTREE_HPP -#define BOOST_INTRUSIVE_RBTREE_HPP - -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { -namespace intrusive { - -/// @cond - -struct rbtree_defaults -{ - typedef detail::default_rbtree_hook proto_value_traits; - static const bool constant_time_size = true; - typedef std::size_t size_type; - typedef void compare; - typedef void header_holder_type; -}; - -/// @endcond - -//! The class template rbtree is an intrusive red-black tree container, that -//! is used to construct intrusive set and multiset containers. The no-throw -//! guarantee holds only, if the value_compare object -//! doesn't throw. -//! -//! 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 -#else -template -#endif -class rbtree_impl - /// @cond - : public bstree_impl - /// @endcond -{ - public: - typedef ValueTraits value_traits; - /// @cond - typedef bstree_impl< ValueTraits, VoidOrKeyComp, SizeType - , ConstantTimeSize, RbTreeAlgorithms - , HeaderHolder> tree_type; - typedef tree_type implementation_defined; - /// @endcond - - typedef typename implementation_defined::pointer pointer; - typedef typename implementation_defined::const_pointer const_pointer; - typedef typename implementation_defined::value_type value_type; - typedef typename implementation_defined::key_type key_type; - 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::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 = implementation_defined::constant_time_size; - /// @cond - private: - - //noncopyable - BOOST_MOVABLE_BUT_NOT_COPYABLE(rbtree_impl) - - /// @endcond - - public: - - typedef typename implementation_defined::insert_commit_data insert_commit_data; - - //! @copydoc ::boost::intrusive::bstree::bstree(const value_compare &,const value_traits &) - explicit rbtree_impl( const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : tree_type(cmp, v_traits) - {} - - //! @copydoc ::boost::intrusive::bstree::bstree(bool,Iterator,Iterator,const value_compare &,const value_traits &) - template - rbtree_impl( bool unique, Iterator b, Iterator e - , const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : tree_type(unique, b, e, cmp, v_traits) - {} - - //! @copydoc ::boost::intrusive::bstree::bstree(bstree &&) - rbtree_impl(BOOST_RV_REF(rbtree_impl) x) - : tree_type(::boost::move(static_cast(x))) - {} - - //! @copydoc ::boost::intrusive::bstree::operator=(bstree &&) - rbtree_impl& operator=(BOOST_RV_REF(rbtree_impl) x) - { return static_cast(tree_type::operator=(::boost::move(static_cast(x)))); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - //! @copydoc ::boost::intrusive::bstree::~bstree() - ~rbtree_impl(); - - //! @copydoc ::boost::intrusive::bstree::begin() - iterator begin(); - - //! @copydoc ::boost::intrusive::bstree::begin()const - const_iterator begin() const; - - //! @copydoc ::boost::intrusive::bstree::cbegin()const - const_iterator cbegin() const; - - //! @copydoc ::boost::intrusive::bstree::end() - iterator end(); - - //! @copydoc ::boost::intrusive::bstree::end()const - const_iterator end() const; - - //! @copydoc ::boost::intrusive::bstree::cend()const - const_iterator cend() const; - - //! @copydoc ::boost::intrusive::bstree::rbegin() - reverse_iterator rbegin(); - - //! @copydoc ::boost::intrusive::bstree::rbegin()const - const_reverse_iterator rbegin() const; - - //! @copydoc ::boost::intrusive::bstree::crbegin()const - const_reverse_iterator crbegin() const; - - //! @copydoc ::boost::intrusive::bstree::rend() - reverse_iterator rend(); - - //! @copydoc ::boost::intrusive::bstree::rend()const - const_reverse_iterator rend() const; - - //! @copydoc ::boost::intrusive::bstree::crend()const - const_reverse_iterator crend() const; - - //! @copydoc ::boost::intrusive::bstree::container_from_end_iterator(iterator) - static rbtree_impl &container_from_end_iterator(iterator end_iterator); - - //! @copydoc ::boost::intrusive::bstree::container_from_end_iterator(const_iterator) - static const rbtree_impl &container_from_end_iterator(const_iterator end_iterator); - - //! @copydoc ::boost::intrusive::bstree::container_from_iterator(iterator) - static rbtree_impl &container_from_iterator(iterator it); - - //! @copydoc ::boost::intrusive::bstree::container_from_iterator(const_iterator) - static const rbtree_impl &container_from_iterator(const_iterator it); - - //! @copydoc ::boost::intrusive::bstree::key_comp()const - key_compare key_comp() const; - - //! @copydoc ::boost::intrusive::bstree::value_comp()const - value_compare value_comp() const; - - //! @copydoc ::boost::intrusive::bstree::empty()const - bool empty() const; - - //! @copydoc ::boost::intrusive::bstree::size()const - size_type size() const; - - //! @copydoc ::boost::intrusive::bstree::swap - void swap(rbtree_impl& other); - - //! @copydoc ::boost::intrusive::bstree::clone_from - template - void clone_from(const rbtree_impl &src, Cloner cloner, Disposer disposer); - - //! @copydoc ::boost::intrusive::bstree::insert_equal(reference) - iterator insert_equal(reference value); - - //! @copydoc ::boost::intrusive::bstree::insert_equal(const_iterator,reference) - iterator insert_equal(const_iterator hint, reference value); - - //! @copydoc ::boost::intrusive::bstree::insert_equal(Iterator,Iterator) - template - void insert_equal(Iterator b, Iterator e); - - //! @copydoc ::boost::intrusive::bstree::insert_unique(reference) - std::pair insert_unique(reference value); - - //! @copydoc ::boost::intrusive::bstree::insert_unique(const_iterator,reference) - iterator insert_unique(const_iterator hint, reference value); - - //! @copydoc ::boost::intrusive::bstree::insert_unique_check(const KeyType&,KeyValueCompare,insert_commit_data&) - template - std::pair insert_unique_check - (const KeyType &key, KeyValueCompare key_value_comp, insert_commit_data &commit_data); - - //! @copydoc ::boost::intrusive::bstree::insert_unique_check(const_iterator,const KeyType&,KeyValueCompare,insert_commit_data&) - template - std::pair insert_unique_check - (const_iterator hint, const KeyType &key - ,KeyValueCompare key_value_comp, insert_commit_data &commit_data); - - //! @copydoc ::boost::intrusive::bstree::insert_unique_commit - iterator insert_unique_commit(reference value, const insert_commit_data &commit_data); - - //! @copydoc ::boost::intrusive::bstree::insert_unique(Iterator,Iterator) - template - void insert_unique(Iterator b, Iterator e); - - //! @copydoc ::boost::intrusive::bstree::insert_before - iterator insert_before(const_iterator pos, reference value); - - //! @copydoc ::boost::intrusive::bstree::push_back - void push_back(reference value); - - //! @copydoc ::boost::intrusive::bstree::push_front - void push_front(reference value); - - //! @copydoc ::boost::intrusive::bstree::erase(const_iterator) - iterator erase(const_iterator i); - - //! @copydoc ::boost::intrusive::bstree::erase(const_iterator,const_iterator) - iterator erase(const_iterator b, const_iterator e); - - //! @copydoc ::boost::intrusive::bstree::erase(const_reference) - size_type erase(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::erase(const KeyType&,KeyValueCompare) - template - size_type erase(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::bstree::erase_and_dispose(const_iterator,Disposer) - template - iterator erase_and_dispose(const_iterator i, Disposer disposer); - - //! @copydoc ::boost::intrusive::bstree::erase_and_dispose(const_iterator,const_iterator,Disposer) - template - iterator erase_and_dispose(const_iterator b, const_iterator e, Disposer disposer); - - //! @copydoc ::boost::intrusive::bstree::erase_and_dispose(const_reference, Disposer) - template - size_type erase_and_dispose(const_reference value, Disposer disposer); - - //! @copydoc ::boost::intrusive::bstree::erase_and_dispose(const KeyType&,KeyValueCompare,Disposer) - template - size_type erase_and_dispose(const KeyType& key, KeyValueCompare comp, Disposer disposer); - - //! @copydoc ::boost::intrusive::bstree::clear - void clear(); - - //! @copydoc ::boost::intrusive::bstree::clear_and_dispose - template - void clear_and_dispose(Disposer disposer); - - //! @copydoc ::boost::intrusive::bstree::count(const_reference)const - size_type count(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::count(const KeyType&,KeyValueCompare)const - template - size_type count(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::bstree::lower_bound(const_reference) - iterator lower_bound(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::lower_bound(const KeyType&,KeyValueCompare) - template - iterator lower_bound(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::bstree::lower_bound(const_reference)const - const_iterator lower_bound(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::lower_bound(const KeyType&,KeyValueCompare)const - template - const_iterator lower_bound(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::bstree::upper_bound(const_reference) - iterator upper_bound(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::upper_bound(const KeyType&,KeyValueCompare) - template - iterator upper_bound(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::bstree::upper_bound(const_reference)const - const_iterator upper_bound(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::upper_bound(const KeyType&,KeyValueCompare)const - template - const_iterator upper_bound(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::bstree::find(const_reference) - iterator find(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::find(const KeyType&,KeyValueCompare) - template - iterator find(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::bstree::find(const_reference)const - const_iterator find(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::find(const KeyType&,KeyValueCompare)const - template - const_iterator find(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::bstree::equal_range(const_reference) - std::pair equal_range(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::equal_range(const KeyType&,KeyValueCompare) - template - std::pair equal_range(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::bstree::equal_range(const_reference)const - std::pair - equal_range(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::equal_range(const KeyType&,KeyValueCompare)const - template - std::pair - equal_range(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::bstree::bounded_range(const_reference,const_reference,bool,bool) - std::pair bounded_range - (const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed); - - //! @copydoc ::boost::intrusive::bstree::bounded_range(const KeyType&,const KeyType&,KeyValueCompare,bool,bool) - template - std::pair bounded_range - (const KeyType& lower_key, const KeyType& upper_key, KeyValueCompare comp, bool left_closed, bool right_closed); - - //! @copydoc ::boost::intrusive::bstree::bounded_range(const_reference,const_reference,bool,bool)const - std::pair - bounded_range(const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed) const; - - //! @copydoc ::boost::intrusive::bstree::bounded_range(const KeyType&,const KeyType&,KeyValueCompare,bool,bool)const - template - std::pair bounded_range - (const KeyType& lower_key, const KeyType& upper_key, KeyValueCompare comp, bool left_closed, bool right_closed) const; - - //! @copydoc ::boost::intrusive::bstree::s_iterator_to(reference) - static iterator s_iterator_to(reference value); - - //! @copydoc ::boost::intrusive::bstree::s_iterator_to(const_reference) - static const_iterator s_iterator_to(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::iterator_to(reference) - iterator iterator_to(reference value); - - //! @copydoc ::boost::intrusive::bstree::iterator_to(const_reference)const - const_iterator iterator_to(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::init_node(reference) - static void init_node(reference value); - - //! @copydoc ::boost::intrusive::bstree::unlink_leftmost_without_rebalance - pointer unlink_leftmost_without_rebalance(); - - //! @copydoc ::boost::intrusive::bstree::replace_node - void replace_node(iterator replace_this, reference with_this); - - //! @copydoc ::boost::intrusive::bstree::remove_node - void remove_node(reference value); - #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED -}; - -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - -template -bool operator< (const rbtree_impl &x, const rbtree_impl &y); - -template -bool operator==(const rbtree_impl &x, const rbtree_impl &y); - -template -bool operator!= (const rbtree_impl &x, const rbtree_impl &y); - -template -bool operator>(const rbtree_impl &x, const rbtree_impl &y); - -template -bool operator<=(const rbtree_impl &x, const rbtree_impl &y); - -template -bool operator>=(const rbtree_impl &x, const rbtree_impl &y); - -template -void swap(rbtree_impl &x, rbtree_impl &y); - -#endif //#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - -//! Helper metafunction to define a \c rbtree 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 -#else -template -#endif -struct make_rbtree -{ - /// @cond - typedef typename pack_options - < rbtree_defaults, - #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) - O1, O2, O3, O4, O5 - #else - Options... - #endif - >::type packed_options; - - typedef typename detail::get_value_traits - ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; - - typedef rbtree_impl - < value_traits - , typename packed_options::compare - , typename packed_options::size_type - , packed_options::constant_time_size - , header_holder_type - > implementation_defined; - /// @endcond - typedef implementation_defined type; -}; - - -#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED - -#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) -template -#else -template -#endif -class rbtree - : public make_rbtree::type -{ - typedef typename make_rbtree - ::type Base; - BOOST_MOVABLE_BUT_NOT_COPYABLE(rbtree) - - public: - typedef typename Base::value_compare value_compare; - typedef typename Base::value_traits value_traits; - typedef typename Base::iterator iterator; - typedef typename Base::const_iterator const_iterator; - typedef typename Base::reverse_iterator reverse_iterator; - typedef typename Base::const_reverse_iterator const_reverse_iterator; - - //Assert if passed value traits are compatible with the type - BOOST_STATIC_ASSERT((detail::is_same::value)); - - explicit rbtree( const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : Base(cmp, v_traits) - {} - - template - rbtree( bool unique, Iterator b, Iterator e - , const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : Base(unique, b, e, cmp, v_traits) - {} - - rbtree(BOOST_RV_REF(rbtree) x) - : Base(::boost::move(static_cast(x))) - {} - - rbtree& operator=(BOOST_RV_REF(rbtree) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } - - static rbtree &container_from_end_iterator(iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } - - static const rbtree &container_from_end_iterator(const_iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } - - static rbtree &container_from_iterator(iterator it) - { return static_cast(Base::container_from_iterator(it)); } - - static const rbtree &container_from_iterator(const_iterator it) - { return static_cast(Base::container_from_iterator(it)); } -}; - -#endif - -} //namespace intrusive -} //namespace boost - -#include - -#endif //BOOST_INTRUSIVE_RBTREE_HPP diff --git a/bundled/boost-1.56.0/include/boost/intrusive/set.hpp b/bundled/boost-1.56.0/include/boost/intrusive/set.hpp deleted file mode 100644 index 9619e98c56..0000000000 --- a/bundled/boost-1.56.0/include/boost/intrusive/set.hpp +++ /dev/null @@ -1,946 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Olaf Krzikalla 2004-2006. -// (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_SET_HPP -#define BOOST_INTRUSIVE_SET_HPP - -#include -#include - -#include -#include -#include -#include - -namespace boost { -namespace intrusive { - -//! 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 -#else -template -#endif -class set_impl -#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED - : public bstree_impl -#endif -{ - /// @cond - typedef bstree_impl 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::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(const value_compare &,const value_traits &) - explicit set_impl( const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : tree_type(cmp, v_traits) - {} - - //! @copydoc ::boost::intrusive::rbtree::rbtree(bool,Iterator,Iterator,const value_compare &,const value_traits &) - template - set_impl( Iterator b, Iterator e - , const value_compare &cmp = value_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(static_cast(x))) - {} - - //! @copydoc ::boost::intrusive::rbtree::operator=(rbtree &&) - set_impl& operator=(BOOST_RV_REF(set_impl) x) - { return static_cast(tree_type::operator=(::boost::move(static_cast(x)))); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - //! @copydoc ::boost::intrusive::rbtree::~rbtree() - ~set_impl(); - - //! @copydoc ::boost::intrusive::rbtree::begin() - iterator begin(); - - //! @copydoc ::boost::intrusive::rbtree::begin()const - const_iterator begin() const; - - //! @copydoc ::boost::intrusive::rbtree::cbegin()const - const_iterator cbegin() const; - - //! @copydoc ::boost::intrusive::rbtree::end() - iterator end(); - - //! @copydoc ::boost::intrusive::rbtree::end()const - const_iterator end() const; - - //! @copydoc ::boost::intrusive::rbtree::cend()const - const_iterator cend() const; - - //! @copydoc ::boost::intrusive::rbtree::rbegin() - reverse_iterator rbegin(); - - //! @copydoc ::boost::intrusive::rbtree::rbegin()const - const_reverse_iterator rbegin() const; - - //! @copydoc ::boost::intrusive::rbtree::crbegin()const - const_reverse_iterator crbegin() const; - - //! @copydoc ::boost::intrusive::rbtree::rend() - reverse_iterator rend(); - - //! @copydoc ::boost::intrusive::rbtree::rend()const - const_reverse_iterator rend() const; - - //! @copydoc ::boost::intrusive::rbtree::crend()const - const_reverse_iterator crend() const; - - //! @copydoc ::boost::intrusive::rbtree::container_from_end_iterator(iterator) - static set_impl &container_from_end_iterator(iterator end_iterator); - - //! @copydoc ::boost::intrusive::rbtree::container_from_end_iterator(const_iterator) - static const set_impl &container_from_end_iterator(const_iterator end_iterator); - - //! @copydoc ::boost::intrusive::rbtree::container_from_iterator(iterator) - static set_impl &container_from_iterator(iterator it); - - //! @copydoc ::boost::intrusive::rbtree::container_from_iterator(const_iterator) - static const set_impl &container_from_iterator(const_iterator it); - - //! @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; - - //! @copydoc ::boost::intrusive::rbtree::size()const - size_type size() const; - - //! @copydoc ::boost::intrusive::rbtree::swap - void swap(set_impl& other); - - //! @copydoc ::boost::intrusive::rbtree::clone_from - template - void clone_from(const set_impl &src, Cloner cloner, Disposer disposer); - - #endif //#ifdef BOOST_iNTRUSIVE_DOXYGEN_INVOKED - - //! @copydoc ::boost::intrusive::rbtree::insert_unique(reference) - std::pair 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 KeyType&,KeyValueCompare,insert_commit_data&) - template - std::pair insert_check - (const KeyType &key, KeyValueCompare key_value_comp, insert_commit_data &commit_data) - { return tree_type::insert_unique_check(key, key_value_comp, commit_data); } - - //! @copydoc ::boost::intrusive::rbtree::insert_unique_check(const_iterator,const KeyType&,KeyValueCompare,insert_commit_data&) - template - std::pair insert_check - (const_iterator hint, const KeyType &key - ,KeyValueCompare key_value_comp, insert_commit_data &commit_data) - { return tree_type::insert_unique_check(hint, key, key_value_comp, commit_data); } - - //! @copydoc ::boost::intrusive::rbtree::insert_unique(Iterator,Iterator) - template - 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) - { 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); - - //! @copydoc ::boost::intrusive::rbtree::push_back - void push_back(reference value); - - //! @copydoc ::boost::intrusive::rbtree::push_front - void push_front(reference value); - - //! @copydoc ::boost::intrusive::rbtree::erase(const_iterator) - iterator erase(const_iterator i); - - //! @copydoc ::boost::intrusive::rbtree::erase(const_iterator,const_iterator) - iterator erase(const_iterator b, const_iterator e); - - //! @copydoc ::boost::intrusive::rbtree::erase(const_reference) - size_type erase(const_reference value); - - //! @copydoc ::boost::intrusive::rbtree::erase(const KeyType&,KeyValueCompare) - template - size_type erase(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::rbtree::erase_and_dispose(const_iterator,Disposer) - template - iterator erase_and_dispose(const_iterator i, Disposer disposer); - - //! @copydoc ::boost::intrusive::rbtree::erase_and_dispose(const_iterator,const_iterator,Disposer) - template - iterator erase_and_dispose(const_iterator b, const_iterator e, Disposer disposer); - - //! @copydoc ::boost::intrusive::rbtree::erase_and_dispose(const_reference, Disposer) - template - size_type erase_and_dispose(const_reference value, Disposer disposer); - - //! @copydoc ::boost::intrusive::rbtree::erase_and_dispose(const KeyType&,KeyValueCompare,Disposer) - template - size_type erase_and_dispose(const KeyType& key, KeyValueCompare comp, Disposer disposer); - - //! @copydoc ::boost::intrusive::rbtree::clear - void clear(); - - //! @copydoc ::boost::intrusive::rbtree::clear_and_dispose - template - void clear_and_dispose(Disposer disposer); - - #endif // #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! @copydoc ::boost::intrusive::rbtree::count(const_reference)const - size_type count(const_reference value) const - { return static_cast(this->tree_type::find(value) != this->tree_type::cend()); } - - //! @copydoc ::boost::intrusive::rbtree::count(const KeyType&,KeyValueCompare)const - template - size_type count(const KeyType& key, KeyValueCompare comp) const - { return static_cast(this->tree_type::find(key, comp) != this->tree_type::cend()); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! @copydoc ::boost::intrusive::rbtree::lower_bound(const_reference) - iterator lower_bound(const_reference value); - - //! @copydoc ::boost::intrusive::rbtree::lower_bound(const KeyType&,KeyValueCompare) - template - iterator lower_bound(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::rbtree::lower_bound(const_reference)const - const_iterator lower_bound(const_reference value) const; - - //! @copydoc ::boost::intrusive::rbtree::lower_bound(const KeyType&,KeyValueCompare)const - template - const_iterator lower_bound(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::rbtree::upper_bound(const_reference) - iterator upper_bound(const_reference value); - - //! @copydoc ::boost::intrusive::rbtree::upper_bound(const KeyType&,KeyValueCompare) - template - iterator upper_bound(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::rbtree::upper_bound(const_reference)const - const_iterator upper_bound(const_reference value) const; - - //! @copydoc ::boost::intrusive::rbtree::upper_bound(const KeyType&,KeyValueCompare)const - template - const_iterator upper_bound(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::rbtree::find(const_reference) - iterator find(const_reference value); - - //! @copydoc ::boost::intrusive::rbtree::find(const KeyType&,KeyValueCompare) - template - iterator find(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::rbtree::find(const_reference)const - const_iterator find(const_reference value) const; - - //! @copydoc ::boost::intrusive::rbtree::find(const KeyType&,KeyValueCompare)const - template - const_iterator find(const KeyType& key, KeyValueCompare comp) const; - - #endif // #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! @copydoc ::boost::intrusive::rbtree::equal_range(const_reference) - std::pair equal_range(const_reference value) - { return this->tree_type::lower_bound_range(value); } - - //! @copydoc ::boost::intrusive::rbtree::equal_range(const KeyType&,KeyValueCompare) - template - std::pair equal_range(const KeyType& key, KeyValueCompare comp) - { return this->tree_type::lower_bound_range(key, comp); } - - //! @copydoc ::boost::intrusive::rbtree::equal_range(const_reference)const - std::pair - equal_range(const_reference value) const - { return this->tree_type::lower_bound_range(value); } - - //! @copydoc ::boost::intrusive::rbtree::equal_range(const KeyType&,KeyValueCompare)const - template - std::pair - equal_range(const KeyType& key, KeyValueCompare comp) const - { return this->tree_type::lower_bound_range(key, comp); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! @copydoc ::boost::intrusive::rbtree::bounded_range(const_reference,const_reference,bool,bool) - std::pair bounded_range - (const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed); - - //! @copydoc ::boost::intrusive::rbtree::bounded_range(const KeyType&,const KeyType&,KeyValueCompare,bool,bool) - template - std::pair bounded_range - (const KeyType& lower_key, const KeyType& upper_key, KeyValueCompare comp, bool left_closed, bool right_closed); - - //! @copydoc ::boost::intrusive::rbtree::bounded_range(const_reference,const_reference,bool,bool)const - std::pair - bounded_range(const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed) const; - - //! @copydoc ::boost::intrusive::rbtree::bounded_range(const KeyType&,const KeyType&,KeyValueCompare,bool,bool)const - template - std::pair bounded_range - (const KeyType& lower_key, const KeyType& upper_key, KeyValueCompare comp, bool left_closed, bool right_closed) const; - - //! @copydoc ::boost::intrusive::rbtree::s_iterator_to(reference) - static iterator s_iterator_to(reference value); - - //! @copydoc ::boost::intrusive::rbtree::s_iterator_to(const_reference) - static const_iterator s_iterator_to(const_reference value); - - //! @copydoc ::boost::intrusive::rbtree::iterator_to(reference) - iterator iterator_to(reference value); - - //! @copydoc ::boost::intrusive::rbtree::iterator_to(const_reference)const - const_iterator iterator_to(const_reference value) const; - - //! @copydoc ::boost::intrusive::rbtree::init_node(reference) - static void init_node(reference value); - - //! @copydoc ::boost::intrusive::rbtree::unlink_leftmost_without_rebalance - pointer unlink_leftmost_without_rebalance(); - - //! @copydoc ::boost::intrusive::rbtree::replace_node - void replace_node(iterator replace_this, reference with_this); - - //! @copydoc ::boost::intrusive::rbtree::remove_node - void remove_node(reference value); - #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED -}; - -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - -template -bool operator!= (const set_impl &x, const set_impl &y); - -template -bool operator>(const set_impl &x, const set_impl &y); - -template -bool operator<=(const set_impl &x, const set_impl &y); - -template -bool operator>=(const set_impl &x, const set_impl &y); - -template -void swap(set_impl &x, set_impl &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 -#else -template -#endif -struct make_set -{ - /// @cond - typedef typename pack_options - < rbtree_defaults, - #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) - O1, O2, O3, O4, O5 - #else - Options... - #endif - >::type packed_options; - - typedef typename detail::get_value_traits - ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; - - typedef set_impl - < value_traits - , typename packed_options::compare - , typename packed_options::size_type - , packed_options::constant_time_size - , header_holder_type - > implementation_defined; - /// @endcond - typedef implementation_defined type; -}; - -#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED -#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) -template -#else -template -#endif -class set - : public make_set::type -{ - typedef typename make_set - ::type Base; - - BOOST_MOVABLE_BUT_NOT_COPYABLE(set) - public: - typedef typename Base::value_compare value_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::value)); - - explicit set( const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : Base(cmp, v_traits) - {} - - template - set( Iterator b, Iterator e - , const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : Base(b, e, cmp, v_traits) - {} - - set(BOOST_RV_REF(set) x) - : Base(::boost::move(static_cast(x))) - {} - - set& operator=(BOOST_RV_REF(set) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } - - static set &container_from_end_iterator(iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } - - static const set &container_from_end_iterator(const_iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } - - static set &container_from_iterator(iterator it) - { return static_cast(Base::container_from_iterator(it)); } - - static const set &container_from_iterator(const_iterator it) - { return static_cast(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 -#else -template -#endif -class multiset_impl -#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED - : public bstree_impl -#endif -{ - /// @cond - typedef bstree_impl 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::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(const value_compare &,const value_traits &) - explicit multiset_impl( const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : tree_type(cmp, v_traits) - {} - - //! @copydoc ::boost::intrusive::rbtree::rbtree(bool,Iterator,Iterator,const value_compare &,const value_traits &) - template - multiset_impl( Iterator b, Iterator e - , const value_compare &cmp = value_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(static_cast(x))) - {} - - //! @copydoc ::boost::intrusive::rbtree::operator=(rbtree &&) - multiset_impl& operator=(BOOST_RV_REF(multiset_impl) x) - { return static_cast(tree_type::operator=(::boost::move(static_cast(x)))); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - //! @copydoc ::boost::intrusive::rbtree::~rbtree() - ~multiset_impl(); - - //! @copydoc ::boost::intrusive::rbtree::begin() - iterator begin(); - - //! @copydoc ::boost::intrusive::rbtree::begin()const - const_iterator begin() const; - - //! @copydoc ::boost::intrusive::rbtree::cbegin()const - const_iterator cbegin() const; - - //! @copydoc ::boost::intrusive::rbtree::end() - iterator end(); - - //! @copydoc ::boost::intrusive::rbtree::end()const - const_iterator end() const; - - //! @copydoc ::boost::intrusive::rbtree::cend()const - const_iterator cend() const; - - //! @copydoc ::boost::intrusive::rbtree::rbegin() - reverse_iterator rbegin(); - - //! @copydoc ::boost::intrusive::rbtree::rbegin()const - const_reverse_iterator rbegin() const; - - //! @copydoc ::boost::intrusive::rbtree::crbegin()const - const_reverse_iterator crbegin() const; - - //! @copydoc ::boost::intrusive::rbtree::rend() - reverse_iterator rend(); - - //! @copydoc ::boost::intrusive::rbtree::rend()const - const_reverse_iterator rend() const; - - //! @copydoc ::boost::intrusive::rbtree::crend()const - const_reverse_iterator crend() const; - - //! @copydoc ::boost::intrusive::rbtree::container_from_end_iterator(iterator) - static multiset_impl &container_from_end_iterator(iterator end_iterator); - - //! @copydoc ::boost::intrusive::rbtree::container_from_end_iterator(const_iterator) - static const multiset_impl &container_from_end_iterator(const_iterator end_iterator); - - //! @copydoc ::boost::intrusive::rbtree::container_from_iterator(iterator) - static multiset_impl &container_from_iterator(iterator it); - - //! @copydoc ::boost::intrusive::rbtree::container_from_iterator(const_iterator) - static const multiset_impl &container_from_iterator(const_iterator it); - - //! @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; - - //! @copydoc ::boost::intrusive::rbtree::size()const - size_type size() const; - - //! @copydoc ::boost::intrusive::rbtree::swap - void swap(multiset_impl& other); - - //! @copydoc ::boost::intrusive::rbtree::clone_from - template - void clone_from(const multiset_impl &src, Cloner cloner, Disposer disposer); - - #endif //#ifdef BOOST_iNTRUSIVE_DOXYGEN_INVOKED - - //! @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 - 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); - - //! @copydoc ::boost::intrusive::rbtree::push_back - void push_back(reference value); - - //! @copydoc ::boost::intrusive::rbtree::push_front - void push_front(reference value); - - //! @copydoc ::boost::intrusive::rbtree::erase(const_iterator) - iterator erase(const_iterator i); - - //! @copydoc ::boost::intrusive::rbtree::erase(const_iterator,const_iterator) - iterator erase(const_iterator b, const_iterator e); - - //! @copydoc ::boost::intrusive::rbtree::erase(const_reference) - size_type erase(const_reference value); - - //! @copydoc ::boost::intrusive::rbtree::erase(const KeyType&,KeyValueCompare) - template - size_type erase(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::rbtree::erase_and_dispose(const_iterator,Disposer) - template - iterator erase_and_dispose(const_iterator i, Disposer disposer); - - //! @copydoc ::boost::intrusive::rbtree::erase_and_dispose(const_iterator,const_iterator,Disposer) - template - iterator erase_and_dispose(const_iterator b, const_iterator e, Disposer disposer); - - //! @copydoc ::boost::intrusive::rbtree::erase_and_dispose(const_reference, Disposer) - template - size_type erase_and_dispose(const_reference value, Disposer disposer); - - //! @copydoc ::boost::intrusive::rbtree::erase_and_dispose(const KeyType&,KeyValueCompare,Disposer) - template - size_type erase_and_dispose(const KeyType& key, KeyValueCompare comp, Disposer disposer); - - //! @copydoc ::boost::intrusive::rbtree::clear - void clear(); - - //! @copydoc ::boost::intrusive::rbtree::clear_and_dispose - template - void clear_and_dispose(Disposer disposer); - - //! @copydoc ::boost::intrusive::rbtree::count(const_reference)const - size_type count(const_reference value) const; - - //! @copydoc ::boost::intrusive::rbtree::count(const KeyType&,KeyValueCompare)const - template - size_type count(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::rbtree::lower_bound(const_reference) - iterator lower_bound(const_reference value); - - //! @copydoc ::boost::intrusive::rbtree::lower_bound(const KeyType&,KeyValueCompare) - template - iterator lower_bound(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::rbtree::lower_bound(const_reference)const - const_iterator lower_bound(const_reference value) const; - - //! @copydoc ::boost::intrusive::rbtree::lower_bound(const KeyType&,KeyValueCompare)const - template - const_iterator lower_bound(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::rbtree::upper_bound(const_reference) - iterator upper_bound(const_reference value); - - //! @copydoc ::boost::intrusive::rbtree::upper_bound(const KeyType&,KeyValueCompare) - template - iterator upper_bound(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::rbtree::upper_bound(const_reference)const - const_iterator upper_bound(const_reference value) const; - - //! @copydoc ::boost::intrusive::rbtree::upper_bound(const KeyType&,KeyValueCompare)const - template - const_iterator upper_bound(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::rbtree::find(const_reference) - iterator find(const_reference value); - - //! @copydoc ::boost::intrusive::rbtree::find(const KeyType&,KeyValueCompare) - template - iterator find(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::rbtree::find(const_reference)const - const_iterator find(const_reference value) const; - - //! @copydoc ::boost::intrusive::rbtree::find(const KeyType&,KeyValueCompare)const - template - const_iterator find(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::rbtree::equal_range(const_reference) - std::pair equal_range(const_reference value); - - //! @copydoc ::boost::intrusive::rbtree::equal_range(const KeyType&,KeyValueCompare) - template - std::pair equal_range(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::rbtree::equal_range(const_reference)const - std::pair - equal_range(const_reference value) const; - - //! @copydoc ::boost::intrusive::rbtree::equal_range(const KeyType&,KeyValueCompare)const - template - std::pair - equal_range(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::rbtree::bounded_range(const_reference,const_reference,bool,bool) - std::pair bounded_range - (const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed); - - //! @copydoc ::boost::intrusive::rbtree::bounded_range(const KeyType&,const KeyType&,KeyValueCompare,bool,bool) - template - std::pair bounded_range - (const KeyType& lower_key, const KeyType& upper_key, KeyValueCompare comp, bool left_closed, bool right_closed); - - //! @copydoc ::boost::intrusive::rbtree::bounded_range(const_reference,const_reference,bool,bool)const - std::pair - bounded_range(const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed) const; - - //! @copydoc ::boost::intrusive::rbtree::bounded_range(const KeyType&,const KeyType&,KeyValueCompare,bool,bool)const - template - std::pair bounded_range - (const KeyType& lower_key, const KeyType& upper_key, KeyValueCompare comp, bool left_closed, bool right_closed) const; - - //! @copydoc ::boost::intrusive::rbtree::s_iterator_to(reference) - static iterator s_iterator_to(reference value); - - //! @copydoc ::boost::intrusive::rbtree::s_iterator_to(const_reference) - static const_iterator s_iterator_to(const_reference value); - - //! @copydoc ::boost::intrusive::rbtree::iterator_to(reference) - iterator iterator_to(reference value); - - //! @copydoc ::boost::intrusive::rbtree::iterator_to(const_reference)const - const_iterator iterator_to(const_reference value) const; - - //! @copydoc ::boost::intrusive::rbtree::init_node(reference) - static void init_node(reference value); - - //! @copydoc ::boost::intrusive::rbtree::unlink_leftmost_without_rebalance - pointer unlink_leftmost_without_rebalance(); - - //! @copydoc ::boost::intrusive::rbtree::replace_node - void replace_node(iterator replace_this, reference with_this); - - //! @copydoc ::boost::intrusive::rbtree::remove_node - void remove_node(reference value); - #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED -}; - -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - -template -bool operator!= (const multiset_impl &x, const multiset_impl &y); - -template -bool operator>(const multiset_impl &x, const multiset_impl &y); - -template -bool operator<=(const multiset_impl &x, const multiset_impl &y); - -template -bool operator>=(const multiset_impl &x, const multiset_impl &y); - -template -void swap(multiset_impl &x, multiset_impl &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 -#else -template -#endif -struct make_multiset -{ - /// @cond - typedef typename pack_options - < rbtree_defaults, - #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) - O1, O2, O3, O4, O5 - #else - Options... - #endif - >::type packed_options; - - typedef typename detail::get_value_traits - ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; - - typedef multiset_impl - < value_traits - , typename packed_options::compare - , typename packed_options::size_type - , packed_options::constant_time_size - , header_holder_type - > implementation_defined; - /// @endcond - typedef implementation_defined type; -}; - -#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED - -#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) -template -#else -template -#endif -class multiset - : public make_multiset::type -{ - typedef typename make_multiset::type Base; - - BOOST_MOVABLE_BUT_NOT_COPYABLE(multiset) - - public: - typedef typename Base::value_compare value_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::value)); - - multiset( const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : Base(cmp, v_traits) - {} - - template - multiset( Iterator b, Iterator e - , const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : Base(b, e, cmp, v_traits) - {} - - multiset(BOOST_RV_REF(multiset) x) - : Base(::boost::move(static_cast(x))) - {} - - multiset& operator=(BOOST_RV_REF(multiset) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } - - static multiset &container_from_end_iterator(iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } - - static const multiset &container_from_end_iterator(const_iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } - - static multiset &container_from_iterator(iterator it) - { return static_cast(Base::container_from_iterator(it)); } - - static const multiset &container_from_iterator(const_iterator it) - { return static_cast(Base::container_from_iterator(it)); } -}; - -#endif - -} //namespace intrusive -} //namespace boost - -#include - -#endif //BOOST_INTRUSIVE_SET_HPP diff --git a/bundled/boost-1.56.0/include/boost/intrusive/sg_set.hpp b/bundled/boost-1.56.0/include/boost/intrusive/sg_set.hpp deleted file mode 100644 index 0ed2e02f83..0000000000 --- a/bundled/boost-1.56.0/include/boost/intrusive/sg_set.hpp +++ /dev/null @@ -1,970 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2007-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_SG_SET_HPP -#define BOOST_INTRUSIVE_SG_SET_HPP - -#include -#include -#include -#include -#include -#include - -namespace boost { -namespace intrusive { - -//! The class template sg_set is an intrusive container, that mimics most of -//! the interface of std::sg_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 floating_point<>, \c size_type<> and -//! \c compare<>. -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -template -#else -template -#endif -class sg_set_impl -#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED - : public sgtree_impl -#endif -{ - /// @cond - typedef sgtree_impl tree_type; - BOOST_MOVABLE_BUT_NOT_COPYABLE(sg_set_impl) - - typedef tree_type implementation_defined; - /// @endcond - - public: - typedef typename implementation_defined::value_type value_type; - 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::sgtree::sgtree(const value_compare &,const value_traits &) - explicit sg_set_impl( const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : tree_type(cmp, v_traits) - {} - - //! @copydoc ::boost::intrusive::sgtree::sgtree(bool,Iterator,Iterator,const value_compare &,const value_traits &) - template - sg_set_impl( Iterator b, Iterator e - , const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : tree_type(true, b, e, cmp, v_traits) - {} - - //! @copydoc ::boost::intrusive::sgtree::sgtree(sgtree &&) - sg_set_impl(BOOST_RV_REF(sg_set_impl) x) - : tree_type(::boost::move(static_cast(x))) - {} - - //! @copydoc ::boost::intrusive::sgtree::operator=(sgtree &&) - sg_set_impl& operator=(BOOST_RV_REF(sg_set_impl) x) - { return static_cast(tree_type::operator=(::boost::move(static_cast(x)))); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - //! @copydoc ::boost::intrusive::sgtree::~sgtree() - ~sg_set_impl(); - - //! @copydoc ::boost::intrusive::sgtree::begin() - iterator begin(); - - //! @copydoc ::boost::intrusive::sgtree::begin()const - const_iterator begin() const; - - //! @copydoc ::boost::intrusive::sgtree::cbegin()const - const_iterator cbegin() const; - - //! @copydoc ::boost::intrusive::sgtree::end() - iterator end(); - - //! @copydoc ::boost::intrusive::sgtree::end()const - const_iterator end() const; - - //! @copydoc ::boost::intrusive::sgtree::cend()const - const_iterator cend() const; - - //! @copydoc ::boost::intrusive::sgtree::rbegin() - reverse_iterator rbegin(); - - //! @copydoc ::boost::intrusive::sgtree::rbegin()const - const_reverse_iterator rbegin() const; - - //! @copydoc ::boost::intrusive::sgtree::crbegin()const - const_reverse_iterator crbegin() const; - - //! @copydoc ::boost::intrusive::sgtree::rend() - reverse_iterator rend(); - - //! @copydoc ::boost::intrusive::sgtree::rend()const - const_reverse_iterator rend() const; - - //! @copydoc ::boost::intrusive::sgtree::crend()const - const_reverse_iterator crend() const; - - //! @copydoc ::boost::intrusive::sgtree::container_from_end_iterator(iterator) - static sg_set_impl &container_from_end_iterator(iterator end_iterator); - - //! @copydoc ::boost::intrusive::sgtree::container_from_end_iterator(const_iterator) - static const sg_set_impl &container_from_end_iterator(const_iterator end_iterator); - - //! @copydoc ::boost::intrusive::sgtree::container_from_iterator(iterator) - static sg_set_impl &container_from_iterator(iterator it); - - //! @copydoc ::boost::intrusive::sgtree::container_from_iterator(const_iterator) - static const sg_set_impl &container_from_iterator(const_iterator it); - - //! @copydoc ::boost::intrusive::sgtree::key_comp()const - key_compare key_comp() const; - - //! @copydoc ::boost::intrusive::sgtree::value_comp()const - value_compare value_comp() const; - - //! @copydoc ::boost::intrusive::sgtree::empty()const - bool empty() const; - - //! @copydoc ::boost::intrusive::sgtree::size()const - size_type size() const; - - //! @copydoc ::boost::intrusive::sgtree::swap - void swap(sg_set_impl& other); - - //! @copydoc ::boost::intrusive::sgtree::clone_from - template - void clone_from(const sg_set_impl &src, Cloner cloner, Disposer disposer); - - #endif //#ifdef BOOST_iNTRUSIVE_DOXYGEN_INVOKED - - //! @copydoc ::boost::intrusive::sgtree::insert_unique(reference) - std::pair insert(reference value) - { return tree_type::insert_unique(value); } - - //! @copydoc ::boost::intrusive::sgtree::insert_unique(const_iterator,reference) - iterator insert(const_iterator hint, reference value) - { return tree_type::insert_unique(hint, value); } - - //! @copydoc ::boost::intrusive::sgtree::insert_unique_check(const KeyType&,KeyValueCompare,insert_commit_data&) - template - std::pair insert_check - (const KeyType &key, KeyValueCompare key_value_comp, insert_commit_data &commit_data) - { return tree_type::insert_unique_check(key, key_value_comp, commit_data); } - - //! @copydoc ::boost::intrusive::sgtree::insert_unique_check(const_iterator,const KeyType&,KeyValueCompare,insert_commit_data&) - template - std::pair insert_check - (const_iterator hint, const KeyType &key - ,KeyValueCompare key_value_comp, insert_commit_data &commit_data) - { return tree_type::insert_unique_check(hint, key, key_value_comp, commit_data); } - - //! @copydoc ::boost::intrusive::sgtree::insert_unique(Iterator,Iterator) - template - void insert(Iterator b, Iterator e) - { tree_type::insert_unique(b, e); } - - //! @copydoc ::boost::intrusive::sgtree::insert_unique_commit - iterator insert_commit(reference value, const insert_commit_data &commit_data) - { return tree_type::insert_unique_commit(value, commit_data); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - //! @copydoc ::boost::intrusive::sgtree::insert_before - iterator insert_before(const_iterator pos, reference value); - - //! @copydoc ::boost::intrusive::sgtree::push_back - void push_back(reference value); - - //! @copydoc ::boost::intrusive::sgtree::push_front - void push_front(reference value); - - //! @copydoc ::boost::intrusive::sgtree::erase(const_iterator) - iterator erase(const_iterator i); - - //! @copydoc ::boost::intrusive::sgtree::erase(const_iterator,const_iterator) - iterator erase(const_iterator b, const_iterator e); - - //! @copydoc ::boost::intrusive::sgtree::erase(const_reference) - size_type erase(const_reference value); - - //! @copydoc ::boost::intrusive::sgtree::erase(const KeyType&,KeyValueCompare) - template - size_type erase(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::sgtree::erase_and_dispose(const_iterator,Disposer) - template - iterator erase_and_dispose(const_iterator i, Disposer disposer); - - //! @copydoc ::boost::intrusive::sgtree::erase_and_dispose(const_iterator,const_iterator,Disposer) - template - iterator erase_and_dispose(const_iterator b, const_iterator e, Disposer disposer); - - //! @copydoc ::boost::intrusive::sgtree::erase_and_dispose(const_reference, Disposer) - template - size_type erase_and_dispose(const_reference value, Disposer disposer); - - //! @copydoc ::boost::intrusive::sgtree::erase_and_dispose(const KeyType&,KeyValueCompare,Disposer) - template - size_type erase_and_dispose(const KeyType& key, KeyValueCompare comp, Disposer disposer); - - //! @copydoc ::boost::intrusive::sgtree::clear - void clear(); - - //! @copydoc ::boost::intrusive::sgtree::clear_and_dispose - template - void clear_and_dispose(Disposer disposer); - - #endif // #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! @copydoc ::boost::intrusive::sgtree::count(const_reference)const - size_type count(const_reference value) const - { return static_cast(this->tree_type::find(value) != this->tree_type::cend()); } - - //! @copydoc ::boost::intrusive::sgtree::count(const KeyType&,KeyValueCompare)const - template - size_type count(const KeyType& key, KeyValueCompare comp) const - { return static_cast(this->tree_type::find(key, comp) != this->tree_type::cend()); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! @copydoc ::boost::intrusive::sgtree::lower_bound(const_reference) - iterator lower_bound(const_reference value); - - //! @copydoc ::boost::intrusive::sgtree::lower_bound(const KeyType&,KeyValueCompare) - template - iterator lower_bound(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::sgtree::lower_bound(const_reference)const - const_iterator lower_bound(const_reference value) const; - - //! @copydoc ::boost::intrusive::sgtree::lower_bound(const KeyType&,KeyValueCompare)const - template - const_iterator lower_bound(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::sgtree::upper_bound(const_reference) - iterator upper_bound(const_reference value); - - //! @copydoc ::boost::intrusive::sgtree::upper_bound(const KeyType&,KeyValueCompare) - template - iterator upper_bound(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::sgtree::upper_bound(const_reference)const - const_iterator upper_bound(const_reference value) const; - - //! @copydoc ::boost::intrusive::sgtree::upper_bound(const KeyType&,KeyValueCompare)const - template - const_iterator upper_bound(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::sgtree::find(const_reference) - iterator find(const_reference value); - - //! @copydoc ::boost::intrusive::sgtree::find(const KeyType&,KeyValueCompare) - template - iterator find(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::sgtree::find(const_reference)const - const_iterator find(const_reference value) const; - - //! @copydoc ::boost::intrusive::sgtree::find(const KeyType&,KeyValueCompare)const - template - const_iterator find(const KeyType& key, KeyValueCompare comp) const; - - #endif // #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! @copydoc ::boost::intrusive::rbtree::equal_range(const_reference) - std::pair equal_range(const_reference value) - { return this->tree_type::lower_bound_range(value); } - - //! @copydoc ::boost::intrusive::rbtree::equal_range(const KeyType&,KeyValueCompare) - template - std::pair equal_range(const KeyType& key, KeyValueCompare comp) - { return this->tree_type::lower_bound_range(key, comp); } - - //! @copydoc ::boost::intrusive::rbtree::equal_range(const_reference)const - std::pair - equal_range(const_reference value) const - { return this->tree_type::lower_bound_range(value); } - - //! @copydoc ::boost::intrusive::rbtree::equal_range(const KeyType&,KeyValueCompare)const - template - std::pair - equal_range(const KeyType& key, KeyValueCompare comp) const - { return this->tree_type::lower_bound_range(key, comp); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! @copydoc ::boost::intrusive::sgtree::bounded_range(const_reference,const_reference,bool,bool) - std::pair bounded_range - (const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed); - - //! @copydoc ::boost::intrusive::sgtree::bounded_range(const KeyType&,const KeyType&,KeyValueCompare,bool,bool) - template - std::pair bounded_range - (const KeyType& lower_key, const KeyType& upper_key, KeyValueCompare comp, bool left_closed, bool right_closed); - - //! @copydoc ::boost::intrusive::sgtree::bounded_range(const_reference,const_reference,bool,bool)const - std::pair - bounded_range(const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed) const; - - //! @copydoc ::boost::intrusive::sgtree::bounded_range(const KeyType&,const KeyType&,KeyValueCompare,bool,bool)const - template - std::pair bounded_range - (const KeyType& lower_key, const KeyType& upper_key, KeyValueCompare comp, bool left_closed, bool right_closed) const; - - //! @copydoc ::boost::intrusive::sgtree::s_iterator_to(reference) - static iterator s_iterator_to(reference value); - - //! @copydoc ::boost::intrusive::sgtree::s_iterator_to(const_reference) - static const_iterator s_iterator_to(const_reference value); - - //! @copydoc ::boost::intrusive::sgtree::iterator_to(reference) - iterator iterator_to(reference value); - - //! @copydoc ::boost::intrusive::sgtree::iterator_to(const_reference)const - const_iterator iterator_to(const_reference value) const; - - //! @copydoc ::boost::intrusive::sgtree::init_node(reference) - static void init_node(reference value); - - //! @copydoc ::boost::intrusive::sgtree::unlink_leftmost_without_rebalance - pointer unlink_leftmost_without_rebalance(); - - //! @copydoc ::boost::intrusive::sgtree::replace_node - void replace_node(iterator replace_this, reference with_this); - - //! @copydoc ::boost::intrusive::sgtree::remove_node - void remove_node(reference value); - - //! @copydoc ::boost::intrusive::sgtree::rebalance - void rebalance(); - - //! @copydoc ::boost::intrusive::sgtree::rebalance_subtree - iterator rebalance_subtree(iterator root); - - //! @copydoc ::boost::intrusive::sgtree::balance_factor() - float balance_factor() const; - - //! @copydoc ::boost::intrusive::sgtree::balance_factor(float) - void balance_factor(float new_alpha); - - #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED -}; - -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - -template -bool operator!= (const sg_set_impl &x, const sg_set_impl &y); - -template -bool operator>(const sg_set_impl &x, const sg_set_impl &y); - -template -bool operator<=(const sg_set_impl &x, const sg_set_impl &y); - -template -bool operator>=(const sg_set_impl &x, const sg_set_impl &y); - -template -void swap(sg_set_impl &x, sg_set_impl &y); - -#endif //#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - -//! Helper metafunction to define a \c sg_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 -#else -template -#endif -struct make_sg_set -{ - /// @cond - typedef typename pack_options - < sgtree_defaults, - #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) - O1, O2, O3, O4, O5 - #else - Options... - #endif - >::type packed_options; - - typedef typename detail::get_value_traits - ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; - - typedef sg_set_impl - < value_traits - , typename packed_options::compare - , typename packed_options::size_type - , packed_options::floating_point - , header_holder_type - > implementation_defined; - /// @endcond - typedef implementation_defined type; -}; - -#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED -#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) -template -#else -template -#endif -class sg_set - : public make_sg_set::type -{ - typedef typename make_sg_set - ::type Base; - - BOOST_MOVABLE_BUT_NOT_COPYABLE(sg_set) - public: - typedef typename Base::value_compare value_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::value)); - - explicit sg_set( const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : Base(cmp, v_traits) - {} - - template - sg_set( Iterator b, Iterator e - , const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : Base(b, e, cmp, v_traits) - {} - - sg_set(BOOST_RV_REF(sg_set) x) - : Base(::boost::move(static_cast(x))) - {} - - sg_set& operator=(BOOST_RV_REF(sg_set) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } - - static sg_set &container_from_end_iterator(iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } - - static const sg_set &container_from_end_iterator(const_iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } - - static sg_set &container_from_iterator(iterator it) - { return static_cast(Base::container_from_iterator(it)); } - - static const sg_set &container_from_iterator(const_iterator it) - { return static_cast(Base::container_from_iterator(it)); } -}; - -#endif - -//! The class template sg_multiset is an intrusive container, that mimics most of -//! the interface of std::sg_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 floating_point<>, \c size_type<> and -//! \c compare<>. -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -template -#else -template -#endif -class sg_multiset_impl -#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED - : public sgtree_impl -#endif -{ - /// @cond - typedef sgtree_impl tree_type; - - BOOST_MOVABLE_BUT_NOT_COPYABLE(sg_multiset_impl) - typedef tree_type implementation_defined; - /// @endcond - - public: - typedef typename implementation_defined::value_type value_type; - 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::sgtree::sgtree(const value_compare &,const value_traits &) - explicit sg_multiset_impl( const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : tree_type(cmp, v_traits) - {} - - //! @copydoc ::boost::intrusive::sgtree::sgtree(bool,Iterator,Iterator,const value_compare &,const value_traits &) - template - sg_multiset_impl( Iterator b, Iterator e - , const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : tree_type(false, b, e, cmp, v_traits) - {} - - //! @copydoc ::boost::intrusive::sgtree::sgtree(sgtree &&) - sg_multiset_impl(BOOST_RV_REF(sg_multiset_impl) x) - : tree_type(::boost::move(static_cast(x))) - {} - - //! @copydoc ::boost::intrusive::sgtree::operator=(sgtree &&) - sg_multiset_impl& operator=(BOOST_RV_REF(sg_multiset_impl) x) - { return static_cast(tree_type::operator=(::boost::move(static_cast(x)))); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - //! @copydoc ::boost::intrusive::sgtree::~sgtree() - ~sg_multiset_impl(); - - //! @copydoc ::boost::intrusive::sgtree::begin() - iterator begin(); - - //! @copydoc ::boost::intrusive::sgtree::begin()const - const_iterator begin() const; - - //! @copydoc ::boost::intrusive::sgtree::cbegin()const - const_iterator cbegin() const; - - //! @copydoc ::boost::intrusive::sgtree::end() - iterator end(); - - //! @copydoc ::boost::intrusive::sgtree::end()const - const_iterator end() const; - - //! @copydoc ::boost::intrusive::sgtree::cend()const - const_iterator cend() const; - - //! @copydoc ::boost::intrusive::sgtree::rbegin() - reverse_iterator rbegin(); - - //! @copydoc ::boost::intrusive::sgtree::rbegin()const - const_reverse_iterator rbegin() const; - - //! @copydoc ::boost::intrusive::sgtree::crbegin()const - const_reverse_iterator crbegin() const; - - //! @copydoc ::boost::intrusive::sgtree::rend() - reverse_iterator rend(); - - //! @copydoc ::boost::intrusive::sgtree::rend()const - const_reverse_iterator rend() const; - - //! @copydoc ::boost::intrusive::sgtree::crend()const - const_reverse_iterator crend() const; - - //! @copydoc ::boost::intrusive::sgtree::container_from_end_iterator(iterator) - static sg_multiset_impl &container_from_end_iterator(iterator end_iterator); - - //! @copydoc ::boost::intrusive::sgtree::container_from_end_iterator(const_iterator) - static const sg_multiset_impl &container_from_end_iterator(const_iterator end_iterator); - - //! @copydoc ::boost::intrusive::sgtree::container_from_iterator(iterator) - static sg_multiset_impl &container_from_iterator(iterator it); - - //! @copydoc ::boost::intrusive::sgtree::container_from_iterator(const_iterator) - static const sg_multiset_impl &container_from_iterator(const_iterator it); - - //! @copydoc ::boost::intrusive::sgtree::key_comp()const - key_compare key_comp() const; - - //! @copydoc ::boost::intrusive::sgtree::value_comp()const - value_compare value_comp() const; - - //! @copydoc ::boost::intrusive::sgtree::empty()const - bool empty() const; - - //! @copydoc ::boost::intrusive::sgtree::size()const - size_type size() const; - - //! @copydoc ::boost::intrusive::sgtree::swap - void swap(sg_multiset_impl& other); - - //! @copydoc ::boost::intrusive::sgtree::clone_from - template - void clone_from(const sg_multiset_impl &src, Cloner cloner, Disposer disposer); - - #endif //#ifdef BOOST_iNTRUSIVE_DOXYGEN_INVOKED - - //! @copydoc ::boost::intrusive::sgtree::insert_equal(reference) - iterator insert(reference value) - { return tree_type::insert_equal(value); } - - //! @copydoc ::boost::intrusive::sgtree::insert_equal(const_iterator,reference) - iterator insert(const_iterator hint, reference value) - { return tree_type::insert_equal(hint, value); } - - //! @copydoc ::boost::intrusive::sgtree::insert_equal(Iterator,Iterator) - template - void insert(Iterator b, Iterator e) - { tree_type::insert_equal(b, e); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - //! @copydoc ::boost::intrusive::sgtree::insert_before - iterator insert_before(const_iterator pos, reference value); - - //! @copydoc ::boost::intrusive::sgtree::push_back - void push_back(reference value); - - //! @copydoc ::boost::intrusive::sgtree::push_front - void push_front(reference value); - - //! @copydoc ::boost::intrusive::sgtree::erase(const_iterator) - iterator erase(const_iterator i); - - //! @copydoc ::boost::intrusive::sgtree::erase(const_iterator,const_iterator) - iterator erase(const_iterator b, const_iterator e); - - //! @copydoc ::boost::intrusive::sgtree::erase(const_reference) - size_type erase(const_reference value); - - //! @copydoc ::boost::intrusive::sgtree::erase(const KeyType&,KeyValueCompare) - template - size_type erase(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::sgtree::erase_and_dispose(const_iterator,Disposer) - template - iterator erase_and_dispose(const_iterator i, Disposer disposer); - - //! @copydoc ::boost::intrusive::sgtree::erase_and_dispose(const_iterator,const_iterator,Disposer) - template - iterator erase_and_dispose(const_iterator b, const_iterator e, Disposer disposer); - - //! @copydoc ::boost::intrusive::sgtree::erase_and_dispose(const_reference, Disposer) - template - size_type erase_and_dispose(const_reference value, Disposer disposer); - - //! @copydoc ::boost::intrusive::sgtree::erase_and_dispose(const KeyType&,KeyValueCompare,Disposer) - template - size_type erase_and_dispose(const KeyType& key, KeyValueCompare comp, Disposer disposer); - - //! @copydoc ::boost::intrusive::sgtree::clear - void clear(); - - //! @copydoc ::boost::intrusive::sgtree::clear_and_dispose - template - void clear_and_dispose(Disposer disposer); - - //! @copydoc ::boost::intrusive::sgtree::count(const_reference)const - size_type count(const_reference value) const; - - //! @copydoc ::boost::intrusive::sgtree::count(const KeyType&,KeyValueCompare)const - template - size_type count(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::sgtree::lower_bound(const_reference) - iterator lower_bound(const_reference value); - - //! @copydoc ::boost::intrusive::sgtree::lower_bound(const KeyType&,KeyValueCompare) - template - iterator lower_bound(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::sgtree::lower_bound(const_reference)const - const_iterator lower_bound(const_reference value) const; - - //! @copydoc ::boost::intrusive::sgtree::lower_bound(const KeyType&,KeyValueCompare)const - template - const_iterator lower_bound(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::sgtree::upper_bound(const_reference) - iterator upper_bound(const_reference value); - - //! @copydoc ::boost::intrusive::sgtree::upper_bound(const KeyType&,KeyValueCompare) - template - iterator upper_bound(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::sgtree::upper_bound(const_reference)const - const_iterator upper_bound(const_reference value) const; - - //! @copydoc ::boost::intrusive::sgtree::upper_bound(const KeyType&,KeyValueCompare)const - template - const_iterator upper_bound(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::sgtree::find(const_reference) - iterator find(const_reference value); - - //! @copydoc ::boost::intrusive::sgtree::find(const KeyType&,KeyValueCompare) - template - iterator find(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::sgtree::find(const_reference)const - const_iterator find(const_reference value) const; - - //! @copydoc ::boost::intrusive::sgtree::find(const KeyType&,KeyValueCompare)const - template - const_iterator find(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::sgtree::equal_range(const_reference) - std::pair equal_range(const_reference value); - - //! @copydoc ::boost::intrusive::sgtree::equal_range(const KeyType&,KeyValueCompare) - template - std::pair equal_range(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::sgtree::equal_range(const_reference)const - std::pair - equal_range(const_reference value) const; - - //! @copydoc ::boost::intrusive::sgtree::equal_range(const KeyType&,KeyValueCompare)const - template - std::pair - equal_range(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::sgtree::bounded_range(const_reference,const_reference,bool,bool) - std::pair bounded_range - (const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed); - - //! @copydoc ::boost::intrusive::sgtree::bounded_range(const KeyType&,const KeyType&,KeyValueCompare,bool,bool) - template - std::pair bounded_range - (const KeyType& lower_key, const KeyType& upper_key, KeyValueCompare comp, bool left_closed, bool right_closed); - - //! @copydoc ::boost::intrusive::sgtree::bounded_range(const_reference,const_reference,bool,bool)const - std::pair - bounded_range(const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed) const; - - //! @copydoc ::boost::intrusive::sgtree::bounded_range(const KeyType&,const KeyType&,KeyValueCompare,bool,bool)const - template - std::pair bounded_range - (const KeyType& lower_key, const KeyType& upper_key, KeyValueCompare comp, bool left_closed, bool right_closed) const; - - //! @copydoc ::boost::intrusive::sgtree::s_iterator_to(reference) - static iterator s_iterator_to(reference value); - - //! @copydoc ::boost::intrusive::sgtree::s_iterator_to(const_reference) - static const_iterator s_iterator_to(const_reference value); - - //! @copydoc ::boost::intrusive::sgtree::iterator_to(reference) - iterator iterator_to(reference value); - - //! @copydoc ::boost::intrusive::sgtree::iterator_to(const_reference)const - const_iterator iterator_to(const_reference value) const; - - //! @copydoc ::boost::intrusive::sgtree::init_node(reference) - static void init_node(reference value); - - //! @copydoc ::boost::intrusive::sgtree::unlink_leftmost_without_rebalance - pointer unlink_leftmost_without_rebalance(); - - //! @copydoc ::boost::intrusive::sgtree::replace_node - void replace_node(iterator replace_this, reference with_this); - - //! @copydoc ::boost::intrusive::sgtree::remove_node - void remove_node(reference value); - - //! @copydoc ::boost::intrusive::sgtree::rebalance - void rebalance(); - - //! @copydoc ::boost::intrusive::sgtree::rebalance_subtree - iterator rebalance_subtree(iterator root); - - //! @copydoc ::boost::intrusive::sgtree::balance_factor() - float balance_factor() const; - - //! @copydoc ::boost::intrusive::sgtree::balance_factor(float) - void balance_factor(float new_alpha); - - #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED -}; - -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - -template -bool operator!= (const sg_multiset_impl &x, const sg_multiset_impl &y); - -template -bool operator>(const sg_multiset_impl &x, const sg_multiset_impl &y); - -template -bool operator<=(const sg_multiset_impl &x, const sg_multiset_impl &y); - -template -bool operator>=(const sg_multiset_impl &x, const sg_multiset_impl &y); - -template -void swap(sg_multiset_impl &x, sg_multiset_impl &y); - -#endif //#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - -//! Helper metafunction to define a \c sg_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 -#else -template -#endif -struct make_sg_multiset -{ - /// @cond - typedef typename pack_options - < sgtree_defaults, - #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) - O1, O2, O3, O4, O5 - #else - Options... - #endif - >::type packed_options; - - typedef typename detail::get_value_traits - ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; - - typedef sg_multiset_impl - < value_traits - , typename packed_options::compare - , typename packed_options::size_type - , packed_options::floating_point - , header_holder_type - > implementation_defined; - /// @endcond - typedef implementation_defined type; -}; - -#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED - -#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) -template -#else -template -#endif -class sg_multiset - : public make_sg_multiset::type -{ - typedef typename make_sg_multiset::type Base; - - BOOST_MOVABLE_BUT_NOT_COPYABLE(sg_multiset) - - public: - typedef typename Base::value_compare value_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::value)); - - sg_multiset( const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : Base(cmp, v_traits) - {} - - template - sg_multiset( Iterator b, Iterator e - , const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : Base(b, e, cmp, v_traits) - {} - - sg_multiset(BOOST_RV_REF(sg_multiset) x) - : Base(::boost::move(static_cast(x))) - {} - - sg_multiset& operator=(BOOST_RV_REF(sg_multiset) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } - - static sg_multiset &container_from_end_iterator(iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } - - static const sg_multiset &container_from_end_iterator(const_iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } - - static sg_multiset &container_from_iterator(iterator it) - { return static_cast(Base::container_from_iterator(it)); } - - static const sg_multiset &container_from_iterator(const_iterator it) - { return static_cast(Base::container_from_iterator(it)); } -}; - -#endif - -} //namespace intrusive -} //namespace boost - -#include - -#endif //BOOST_INTRUSIVE_SG_SET_HPP diff --git a/bundled/boost-1.56.0/include/boost/intrusive/sgtree.hpp b/bundled/boost-1.56.0/include/boost/intrusive/sgtree.hpp deleted file mode 100644 index cd4d8bc94e..0000000000 --- a/bundled/boost-1.56.0/include/boost/intrusive/sgtree.hpp +++ /dev/null @@ -1,989 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2007-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. -// -///////////////////////////////////////////////////////////////////////////// -// -// The option that yields to non-floating point 1/sqrt(2) alpha is taken -// from the scapegoat tree implementation of the PSPP library. -// -///////////////////////////////////////////////////////////////////////////// - -#ifndef BOOST_INTRUSIVE_SGTREE_HPP -#define BOOST_INTRUSIVE_SGTREE_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { -namespace intrusive { - -/// @cond - -namespace detail{ - -///////////////////////////////////////////////////////////// -// -// Halpha for fixed floating_point option -// -///////////////////////////////////////////////////////////// - -//! Returns floor(log2(n)/log2(sqrt(2))) -> floor(2*log2(n)) -//! Undefined if N is 0. -//! -//! This function does not use float point operations. -inline std::size_t calculate_h_sqrt2 (std::size_t n) -{ - std::size_t f_log2 = detail::floor_log2(n); - return (2*f_log2) + static_cast(n >= detail::sqrt2_pow_2xplus1(f_log2)); -} - -struct h_alpha_sqrt2_t -{ - h_alpha_sqrt2_t(void){} - std::size_t operator()(std::size_t n) const - { return calculate_h_sqrt2(n); } -}; - -struct alpha_0_75_by_max_size_t -{ - alpha_0_75_by_max_size_t(void){} - - std::size_t operator()(std::size_t max_tree_size) const - { - const std::size_t max_tree_size_limit = ((~std::size_t(0))/std::size_t(3)); - return max_tree_size > max_tree_size_limit ? max_tree_size/4*3 : max_tree_size*3/4; - } -}; - -///////////////////////////////////////////////////////////// -// -// Halpha for fixed floating_point option -// -///////////////////////////////////////////////////////////// - -struct h_alpha_t -{ - explicit h_alpha_t(float inv_minus_logalpha) - : inv_minus_logalpha_(inv_minus_logalpha) - {} - - std::size_t operator()(std::size_t n) const - { - //////////////////////////////////////////////////////////// - // This function must return "floor(log2(1/alpha(n)))" -> - // floor(log2(n)/log(1/alpha)) -> - // floor(log2(n)/-log2(alpha)) - // floor(log2(n)*(1/-log2(alpha))) - //////////////////////////////////////////////////////////// - //return static_cast(std::log(float(n))*inv_minus_logalpha_); - return static_cast(detail::fast_log2(float(n))*inv_minus_logalpha_); - } - - private: - //Since the function will be repeatedly called - //precalculate constant data to avoid repeated - //calls to log and division. - //This will store 1/(-std::log2(alpha_)) - float inv_minus_logalpha_; -}; - -struct alpha_by_max_size_t -{ - explicit alpha_by_max_size_t(float alpha) - : alpha_(alpha) - {} - - float operator()(std::size_t max_tree_size) const - { return float(max_tree_size)*alpha_; } - - private: - float alpha_; -}; - -template -struct alpha_holder -{ - typedef boost::intrusive::detail::h_alpha_t h_alpha_t; - typedef boost::intrusive::detail::alpha_by_max_size_t multiply_by_alpha_t; - - alpha_holder() - : max_tree_size_() - { set_alpha(0.70711f); } // ~1/sqrt(2) - - float get_alpha() const - { return alpha_; } - - void set_alpha(float alpha) - { - alpha_ = alpha; - inv_minus_logalpha_ = 1/(-detail::fast_log2(alpha)); - } - - h_alpha_t get_h_alpha_t() const - { return h_alpha_t(/*alpha_, */inv_minus_logalpha_); } - - multiply_by_alpha_t get_multiply_by_alpha_t() const - { return multiply_by_alpha_t(alpha_); } - - protected: - float alpha_; - float inv_minus_logalpha_; - SizeType max_tree_size_; -}; - -template -struct alpha_holder -{ - //This specialization uses alpha = 1/sqrt(2) - //without using floating point operations - //Downside: alpha CAN't be changed. - typedef boost::intrusive::detail::h_alpha_sqrt2_t h_alpha_t; - typedef boost::intrusive::detail::alpha_0_75_by_max_size_t multiply_by_alpha_t; - - alpha_holder() - : max_tree_size_() - {} - - float get_alpha() const - { return 0.70710677f; } - - void set_alpha(float) - { //alpha CAN't be changed. - BOOST_INTRUSIVE_INVARIANT_ASSERT(0); - } - - h_alpha_t get_h_alpha_t() const - { return h_alpha_t(); } - - multiply_by_alpha_t get_multiply_by_alpha_t() const - { return multiply_by_alpha_t(); } - - SizeType max_tree_size_; -}; - -} //namespace detail{ - -struct sgtree_defaults -{ - typedef detail::default_bstree_hook proto_value_traits; - static const bool constant_time_size = true; - typedef std::size_t size_type; - typedef void compare; - static const bool floating_point = true; - typedef void header_holder_type; -}; - -/// @endcond - -//! The class template sgtree is an intrusive scapegoat tree container, that -//! is used to construct intrusive sg_set and sg_multiset containers. -//! The no-throw guarantee holds only, if the value_compare object -//! doesn't throw. -//! -//! 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 floating_point<>, \c size_type<> and -//! \c compare<>. -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -template -#else -template -#endif -class sgtree_impl - /// @cond - : public bstree_impl - , public detail::alpha_holder - /// @endcond -{ - public: - typedef ValueTraits value_traits; - /// @cond - typedef bstree_impl< ValueTraits, VoidOrKeyComp, SizeType - , true, SgTreeAlgorithms, HeaderHolder> tree_type; - typedef tree_type implementation_defined; - - /// @endcond - - typedef typename implementation_defined::pointer pointer; - typedef typename implementation_defined::const_pointer const_pointer; - typedef typename implementation_defined::value_type value_type; - typedef typename implementation_defined::key_type key_type; - 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::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 BOOST_INTRUSIVE_IMPDEF(sgtree_algorithms) node_algorithms; - - static const bool constant_time_size = implementation_defined::constant_time_size; - static const bool floating_point = FloatingPoint; - static const bool stateful_value_traits = implementation_defined::stateful_value_traits; - - /// @cond - private: - - //noncopyable - typedef detail::alpha_holder alpha_traits; - typedef typename alpha_traits::h_alpha_t h_alpha_t; - typedef typename alpha_traits::multiply_by_alpha_t multiply_by_alpha_t; - - BOOST_MOVABLE_BUT_NOT_COPYABLE(sgtree_impl) - BOOST_STATIC_ASSERT(((int)value_traits::link_mode != (int)auto_unlink)); - - enum { safemode_or_autounlink = - (int)value_traits::link_mode == (int)auto_unlink || - (int)value_traits::link_mode == (int)safe_link }; - - /// @endcond - - public: - - typedef BOOST_INTRUSIVE_IMPDEF(typename node_algorithms::insert_commit_data) insert_commit_data; - - //! @copydoc ::boost::intrusive::bstree::bstree(const value_compare &,const value_traits &) - explicit sgtree_impl( const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : tree_type(cmp, v_traits) - {} - - //! @copydoc ::boost::intrusive::bstree::bstree(bool,Iterator,Iterator,const value_compare &,const value_traits &) - template - sgtree_impl( bool unique, Iterator b, Iterator e - , const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : tree_type(cmp, v_traits) - { - if(unique) - this->insert_unique(b, e); - else - this->insert_equal(b, e); - } - - //! @copydoc ::boost::intrusive::bstree::bstree(bstree &&) - sgtree_impl(BOOST_RV_REF(sgtree_impl) x) - : tree_type(::boost::move(static_cast(x))), alpha_traits(x.get_alpha_traits()) - { std::swap(this->get_alpha_traits(), x.get_alpha_traits()); } - - //! @copydoc ::boost::intrusive::bstree::operator=(bstree &&) - sgtree_impl& operator=(BOOST_RV_REF(sgtree_impl) x) - { - this->get_alpha_traits() = x.get_alpha_traits(); - return static_cast(tree_type::operator=(::boost::move(static_cast(x)))); - } - - /// @cond - private: - - const alpha_traits &get_alpha_traits() const - { return *this; } - - alpha_traits &get_alpha_traits() - { return *this; } - - h_alpha_t get_h_alpha_func() const - { return this->get_alpha_traits().get_h_alpha_t(); } - - multiply_by_alpha_t get_alpha_by_max_size_func() const - { return this->get_alpha_traits().get_multiply_by_alpha_t(); } - - /// @endcond - - public: - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - //! @copydoc ::boost::intrusive::bstree::~bstree() - ~sgtree_impl(); - - //! @copydoc ::boost::intrusive::bstree::begin() - iterator begin(); - - //! @copydoc ::boost::intrusive::bstree::begin()const - const_iterator begin() const; - - //! @copydoc ::boost::intrusive::bstree::cbegin()const - const_iterator cbegin() const; - - //! @copydoc ::boost::intrusive::bstree::end() - iterator end(); - - //! @copydoc ::boost::intrusive::bstree::end()const - const_iterator end() const; - - //! @copydoc ::boost::intrusive::bstree::cend()const - const_iterator cend() const; - - //! @copydoc ::boost::intrusive::bstree::rbegin() - reverse_iterator rbegin(); - - //! @copydoc ::boost::intrusive::bstree::rbegin()const - const_reverse_iterator rbegin() const; - - //! @copydoc ::boost::intrusive::bstree::crbegin()const - const_reverse_iterator crbegin() const; - - //! @copydoc ::boost::intrusive::bstree::rend() - reverse_iterator rend(); - - //! @copydoc ::boost::intrusive::bstree::rend()const - const_reverse_iterator rend() const; - - //! @copydoc ::boost::intrusive::bstree::crend()const - const_reverse_iterator crend() const; - - //! @copydoc ::boost::intrusive::bstree::container_from_end_iterator(iterator) - static sgtree_impl &container_from_end_iterator(iterator end_iterator); - - //! @copydoc ::boost::intrusive::bstree::container_from_end_iterator(const_iterator) - static const sgtree_impl &container_from_end_iterator(const_iterator end_iterator); - - //! @copydoc ::boost::intrusive::bstree::container_from_iterator(iterator) - static sgtree_impl &container_from_iterator(iterator it); - - //! @copydoc ::boost::intrusive::bstree::container_from_iterator(const_iterator) - static const sgtree_impl &container_from_iterator(const_iterator it); - - //! @copydoc ::boost::intrusive::bstree::key_comp()const - key_compare key_comp() const; - - //! @copydoc ::boost::intrusive::bstree::value_comp()const - value_compare value_comp() const; - - //! @copydoc ::boost::intrusive::bstree::empty()const - bool empty() const; - - //! @copydoc ::boost::intrusive::bstree::size()const - size_type size() const; - - #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! @copydoc ::boost::intrusive::bstree::swap - void swap(sgtree_impl& other) - { - //This can throw - using std::swap; - this->tree_type::swap(static_cast(other)); - swap(this->get_alpha_traits(), other.get_alpha_traits()); - } - - //! @copydoc ::boost::intrusive::bstree::clone_from - //! Additional notes: it also copies the alpha factor from the source container. - template - void clone_from(const sgtree_impl &src, Cloner cloner, Disposer disposer) - { - this->tree_type::clone_from(src, cloner, disposer); - this->get_alpha_traits() = src.get_alpha_traits(); - } - - //! @copydoc ::boost::intrusive::bstree::insert_equal(reference) - iterator insert_equal(reference value) - { - detail::key_nodeptr_comp - key_node_comp(this->value_comp(), &this->get_value_traits()); - node_ptr to_insert(this->get_value_traits().to_node_ptr(value)); - if(safemode_or_autounlink) - BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(node_algorithms::unique(to_insert)); - std::size_t max_tree_size = (std::size_t)this->max_tree_size_; - node_ptr p = node_algorithms::insert_equal_upper_bound - (this->tree_type::header_ptr(), to_insert, key_node_comp - , (size_type)this->size(), this->get_h_alpha_func(), max_tree_size); - this->tree_type::sz_traits().increment(); - this->max_tree_size_ = (size_type)max_tree_size; - return iterator(p, this->priv_value_traits_ptr()); - } - - //! @copydoc ::boost::intrusive::bstree::insert_equal(const_iterator,reference) - iterator insert_equal(const_iterator hint, reference value) - { - detail::key_nodeptr_comp - key_node_comp(this->value_comp(), &this->get_value_traits()); - node_ptr to_insert(this->get_value_traits().to_node_ptr(value)); - if(safemode_or_autounlink) - BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(node_algorithms::unique(to_insert)); - std::size_t max_tree_size = (std::size_t)this->max_tree_size_; - node_ptr p = node_algorithms::insert_equal - (this->tree_type::header_ptr(), hint.pointed_node(), to_insert, key_node_comp - , (std::size_t)this->size(), this->get_h_alpha_func(), max_tree_size); - this->tree_type::sz_traits().increment(); - this->max_tree_size_ = (size_type)max_tree_size; - return iterator(p, this->priv_value_traits_ptr()); - } - - //! @copydoc ::boost::intrusive::bstree::insert_equal(Iterator,Iterator) - template - void insert_equal(Iterator b, Iterator e) - { - iterator iend(this->end()); - for (; b != e; ++b) - this->insert_equal(iend, *b); - } - - //! @copydoc ::boost::intrusive::bstree::insert_unique(reference) - std::pair insert_unique(reference value) - { - insert_commit_data commit_data; - std::pair ret = insert_unique_check(value, this->value_comp(), commit_data); - if(!ret.second) - return ret; - return std::pair (insert_unique_commit(value, commit_data), true); - } - - //! @copydoc ::boost::intrusive::bstree::insert_unique(const_iterator,reference) - iterator insert_unique(const_iterator hint, reference value) - { - insert_commit_data commit_data; - std::pair ret = insert_unique_check(hint, value, this->value_comp(), commit_data); - if(!ret.second) - return ret.first; - return insert_unique_commit(value, commit_data); - } - - //! @copydoc ::boost::intrusive::bstree::insert_unique_check(const KeyType&,KeyValueCompare,insert_commit_data&) - template - std::pair insert_unique_check - (const KeyType &key, KeyValueCompare key_value_comp, insert_commit_data &commit_data) - { - detail::key_nodeptr_comp - comp(key_value_comp, &this->get_value_traits()); - std::pair ret = - (node_algorithms::insert_unique_check - (this->tree_type::header_ptr(), key, comp, commit_data)); - return std::pair(iterator(ret.first, this->priv_value_traits_ptr()), ret.second); - } - - //! @copydoc ::boost::intrusive::bstree::insert_unique_check(const_iterator,const KeyType&,KeyValueCompare,insert_commit_data&) - template - std::pair insert_unique_check - (const_iterator hint, const KeyType &key - ,KeyValueCompare key_value_comp, insert_commit_data &commit_data) - { - detail::key_nodeptr_comp - comp(key_value_comp, &this->get_value_traits()); - std::pair ret = - (node_algorithms::insert_unique_check - (this->tree_type::header_ptr(), hint.pointed_node(), key, comp, commit_data)); - return std::pair(iterator(ret.first, this->priv_value_traits_ptr()), ret.second); - } - - //! @copydoc ::boost::intrusive::bstree::insert_unique_commit - iterator insert_unique_commit(reference value, const insert_commit_data &commit_data) - { - node_ptr to_insert(this->get_value_traits().to_node_ptr(value)); - if(safemode_or_autounlink) - BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(node_algorithms::unique(to_insert)); - std::size_t max_tree_size = (std::size_t)this->max_tree_size_; - node_algorithms::insert_unique_commit - ( this->tree_type::header_ptr(), to_insert, commit_data - , (std::size_t)this->size(), this->get_h_alpha_func(), max_tree_size); - this->tree_type::sz_traits().increment(); - this->max_tree_size_ = (size_type)max_tree_size; - return iterator(to_insert, this->priv_value_traits_ptr()); - } - - //! @copydoc ::boost::intrusive::bstree::insert_unique(Iterator,Iterator) - template - void insert_unique(Iterator b, Iterator e) - { - if(this->empty()){ - iterator iend(this->end()); - for (; b != e; ++b) - this->insert_unique(iend, *b); - } - else{ - for (; b != e; ++b) - this->insert_unique(*b); - } - } - - //! @copydoc ::boost::intrusive::bstree::insert_before - iterator insert_before(const_iterator pos, reference value) - { - node_ptr to_insert(this->get_value_traits().to_node_ptr(value)); - if(safemode_or_autounlink) - BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(node_algorithms::unique(to_insert)); - std::size_t max_tree_size = (std::size_t)this->max_tree_size_; - node_ptr p = node_algorithms::insert_before - ( this->tree_type::header_ptr(), pos.pointed_node(), to_insert - , (size_type)this->size(), this->get_h_alpha_func(), max_tree_size); - this->tree_type::sz_traits().increment(); - this->max_tree_size_ = (size_type)max_tree_size; - return iterator(p, this->priv_value_traits_ptr()); - } - - //! @copydoc ::boost::intrusive::bstree::push_back - void push_back(reference value) - { - node_ptr to_insert(this->get_value_traits().to_node_ptr(value)); - if(safemode_or_autounlink) - BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(node_algorithms::unique(to_insert)); - std::size_t max_tree_size = (std::size_t)this->max_tree_size_; - node_algorithms::push_back - ( this->tree_type::header_ptr(), to_insert - , (size_type)this->size(), this->get_h_alpha_func(), max_tree_size); - this->tree_type::sz_traits().increment(); - this->max_tree_size_ = (size_type)max_tree_size; - } - - //! @copydoc ::boost::intrusive::bstree::push_front - void push_front(reference value) - { - node_ptr to_insert(this->get_value_traits().to_node_ptr(value)); - if(safemode_or_autounlink) - BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(node_algorithms::unique(to_insert)); - std::size_t max_tree_size = (std::size_t)this->max_tree_size_; - node_algorithms::push_front - ( this->tree_type::header_ptr(), to_insert - , (size_type)this->size(), this->get_h_alpha_func(), max_tree_size); - this->tree_type::sz_traits().increment(); - this->max_tree_size_ = (size_type)max_tree_size; - } - - - //! @copydoc ::boost::intrusive::bstree::erase(const_iterator) - iterator erase(const_iterator i) - { - const_iterator ret(i); - ++ret; - node_ptr to_erase(i.pointed_node()); - if(safemode_or_autounlink) - BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(!node_algorithms::unique(to_erase)); - std::size_t max_tree_size = this->max_tree_size_; - node_algorithms::erase - ( this->tree_type::header_ptr(), to_erase, (std::size_t)this->size() - , max_tree_size, this->get_alpha_by_max_size_func()); - this->max_tree_size_ = (size_type)max_tree_size; - this->tree_type::sz_traits().decrement(); - if(safemode_or_autounlink) - node_algorithms::init(to_erase); - return ret.unconst(); - } - - //! @copydoc ::boost::intrusive::bstree::erase(const_iterator,const_iterator) - iterator erase(const_iterator b, const_iterator e) - { size_type n; return private_erase(b, e, n); } - - //! @copydoc ::boost::intrusive::bstree::erase(const_reference) - size_type erase(const_reference value) - { return this->erase(value, this->value_comp()); } - - //! @copydoc ::boost::intrusive::bstree::erase(const KeyType&,KeyValueCompare) - template - size_type erase(const KeyType& key, KeyValueCompare comp - /// @cond - , typename detail::enable_if_c::value >::type * = 0 - /// @endcond - ) - { - std::pair p = this->equal_range(key, comp); - size_type n; - private_erase(p.first, p.second, n); - return n; - } - - //! @copydoc ::boost::intrusive::bstree::erase_and_dispose(const_iterator,Disposer) - template - iterator erase_and_dispose(const_iterator i, Disposer disposer) - { - node_ptr to_erase(i.pointed_node()); - iterator ret(this->erase(i)); - disposer(this->get_value_traits().to_value_ptr(to_erase)); - return ret; - } - - #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - template - iterator erase_and_dispose(iterator i, Disposer disposer) - { return this->erase_and_dispose(const_iterator(i), disposer); } - #endif - - //! @copydoc ::boost::intrusive::bstree::erase_and_dispose(const_iterator,const_iterator,Disposer) - template - iterator erase_and_dispose(const_iterator b, const_iterator e, Disposer disposer) - { size_type n; return private_erase(b, e, n, disposer); } - - //! @copydoc ::boost::intrusive::bstree::erase_and_dispose(const_reference, Disposer) - template - size_type erase_and_dispose(const_reference value, Disposer disposer) - { - std::pair p = this->equal_range(value); - size_type n; - private_erase(p.first, p.second, n, disposer); - return n; - } - - //! @copydoc ::boost::intrusive::bstree::erase_and_dispose(const KeyType&,KeyValueCompare,Disposer) - template - size_type erase_and_dispose(const KeyType& key, KeyValueCompare comp, Disposer disposer - /// @cond - , typename detail::enable_if_c::value >::type * = 0 - /// @endcond - ) - { - std::pair p = this->equal_range(key, comp); - size_type n; - private_erase(p.first, p.second, n, disposer); - return n; - } - - //! @copydoc ::boost::intrusive::bstree::clear - void clear() - { - tree_type::clear(); - this->max_tree_size_ = 0; - } - - //! @copydoc ::boost::intrusive::bstree::clear_and_dispose - template - void clear_and_dispose(Disposer disposer) - { - tree_type::clear_and_dispose(disposer); - this->max_tree_size_ = 0; - } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - //! @copydoc ::boost::intrusive::bstree::count(const_reference)const - size_type count(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::count(const KeyType&,KeyValueCompare)const - template - size_type count(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::bstree::lower_bound(const_reference) - iterator lower_bound(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::lower_bound(const KeyType&,KeyValueCompare) - template - iterator lower_bound(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::bstree::lower_bound(const_reference)const - const_iterator lower_bound(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::lower_bound(const KeyType&,KeyValueCompare)const - template - const_iterator lower_bound(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::bstree::upper_bound(const_reference) - iterator upper_bound(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::upper_bound(const KeyType&,KeyValueCompare) - template - iterator upper_bound(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::bstree::upper_bound(const_reference)const - const_iterator upper_bound(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::upper_bound(const KeyType&,KeyValueCompare)const - template - const_iterator upper_bound(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::bstree::find(const_reference) - iterator find(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::find(const KeyType&,KeyValueCompare) - template - iterator find(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::bstree::find(const_reference)const - const_iterator find(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::find(const KeyType&,KeyValueCompare)const - template - const_iterator find(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::bstree::equal_range(const_reference) - std::pair equal_range(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::equal_range(const KeyType&,KeyValueCompare) - template - std::pair equal_range(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::bstree::equal_range(const_reference)const - std::pair - equal_range(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::equal_range(const KeyType&,KeyValueCompare)const - template - std::pair - equal_range(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::bstree::bounded_range(const_reference,const_reference,bool,bool) - std::pair bounded_range - (const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed); - - //! @copydoc ::boost::intrusive::bstree::bounded_range(const KeyType&,const KeyType&,KeyValueCompare,bool,bool) - template - std::pair bounded_range - (const KeyType& lower_key, const KeyType& upper_key, KeyValueCompare comp, bool left_closed, bool right_closed); - - //! @copydoc ::boost::intrusive::bstree::bounded_range(const_reference,const_reference,bool,bool)const - std::pair - bounded_range(const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed) const; - - //! @copydoc ::boost::intrusive::bstree::bounded_range(const KeyType&,const KeyType&,KeyValueCompare,bool,bool)const - template - std::pair bounded_range - (const KeyType& lower_key, const KeyType& upper_key, KeyValueCompare comp, bool left_closed, bool right_closed) const; - - //! @copydoc ::boost::intrusive::bstree::s_iterator_to(reference) - static iterator s_iterator_to(reference value); - - //! @copydoc ::boost::intrusive::bstree::s_iterator_to(const_reference) - static const_iterator s_iterator_to(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::iterator_to(reference) - iterator iterator_to(reference value); - - //! @copydoc ::boost::intrusive::bstree::iterator_to(const_reference)const - const_iterator iterator_to(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::init_node(reference) - static void init_node(reference value); - - //! @copydoc ::boost::intrusive::bstree::unlink_leftmost_without_rebalance - pointer unlink_leftmost_without_rebalance(); - - //! @copydoc ::boost::intrusive::bstree::replace_node - void replace_node(iterator replace_this, reference with_this); - - //! @copydoc ::boost::intrusive::bstree::remove_node - void remove_node(reference value); - - //! @copydoc ::boost::intrusive::bstree::rebalance - void rebalance(); - - //! @copydoc ::boost::intrusive::bstree::rebalance_subtree - iterator rebalance_subtree(iterator root); - - #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! Returns: The balance factor (alpha) used in this tree - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - float balance_factor() const - { return this->get_alpha_traits().get_alpha(); } - - //! Requires: new_alpha must be a value between 0.5 and 1.0 - //! - //! Effects: Establishes a new balance factor (alpha) and rebalances - //! the tree if the new balance factor is stricter (less) than the old factor. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the elements in the subtree. - void balance_factor(float new_alpha) - { - BOOST_INTRUSIVE_INVARIANT_ASSERT((new_alpha > 0.5f && new_alpha < 1.0f)); - if(new_alpha < 0.5f && new_alpha >= 1.0f) return; - - //The alpha factor CAN't be changed if the fixed, floating operation-less - //1/sqrt(2) alpha factor option is activated - BOOST_STATIC_ASSERT((floating_point)); - float old_alpha = this->get_alpha_traits().get_alpha(); - this->get_alpha_traits().set_alpha(new_alpha); - - if(new_alpha < old_alpha){ - this->max_tree_size_ = this->size(); - this->rebalance(); - } - } - - /// @cond - private: - template - iterator private_erase(const_iterator b, const_iterator e, size_type &n, Disposer disposer) - { - for(n = 0; b != e; ++n) - this->erase_and_dispose(b++, disposer); - return b.unconst(); - } - - iterator private_erase(const_iterator b, const_iterator e, size_type &n) - { - for(n = 0; b != e; ++n) - this->erase(b++); - return b.unconst(); - } - /// @endcond -}; - -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - -template -bool operator< (const sgtree_impl &x, const sgtree_impl &y); - -template -bool operator==(const sgtree_impl &x, const sgtree_impl &y); - -template -bool operator!= (const sgtree_impl &x, const sgtree_impl &y); - -template -bool operator>(const sgtree_impl &x, const sgtree_impl &y); - -template -bool operator<=(const sgtree_impl &x, const sgtree_impl &y); - -template -bool operator>=(const sgtree_impl &x, const sgtree_impl &y); - -template -void swap(sgtree_impl &x, sgtree_impl &y); - -#endif //#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - -//! Helper metafunction to define a \c sgtree 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 -#else -template -#endif -struct make_sgtree -{ - /// @cond - typedef typename pack_options - < sgtree_defaults, - #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) - O1, O2, O3, O4, O5 - #else - Options... - #endif - >::type packed_options; - - typedef typename detail::get_value_traits - ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; - - typedef sgtree_impl - < value_traits - , typename packed_options::compare - , typename packed_options::size_type - , packed_options::floating_point - , header_holder_type - > implementation_defined; - /// @endcond - typedef implementation_defined type; -}; - - -#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED - -#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) -template -#else -template -#endif -class sgtree - : public make_sgtree::type -{ - typedef typename make_sgtree - ::type Base; - BOOST_MOVABLE_BUT_NOT_COPYABLE(sgtree) - - public: - typedef typename Base::value_compare value_compare; - typedef typename Base::value_traits value_traits; - typedef typename Base::iterator iterator; - typedef typename Base::const_iterator const_iterator; - typedef typename Base::reverse_iterator reverse_iterator; - typedef typename Base::const_reverse_iterator const_reverse_iterator; - - //Assert if passed value traits are compatible with the type - BOOST_STATIC_ASSERT((detail::is_same::value)); - - explicit sgtree( const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : Base(cmp, v_traits) - {} - - template - sgtree( bool unique, Iterator b, Iterator e - , const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : Base(unique, b, e, cmp, v_traits) - {} - - sgtree(BOOST_RV_REF(sgtree) x) - : Base(::boost::move(static_cast(x))) - {} - - sgtree& operator=(BOOST_RV_REF(sgtree) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } - - static sgtree &container_from_end_iterator(iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } - - static const sgtree &container_from_end_iterator(const_iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } - - static sgtree &container_from_iterator(iterator it) - { return static_cast(Base::container_from_iterator(it)); } - - static const sgtree &container_from_iterator(const_iterator it) - { return static_cast(Base::container_from_iterator(it)); } -}; - -#endif - -} //namespace intrusive -} //namespace boost - -#include - -#endif //BOOST_INTRUSIVE_SGTREE_HPP diff --git a/bundled/boost-1.56.0/include/boost/intrusive/slist.hpp b/bundled/boost-1.56.0/include/boost/intrusive/slist.hpp deleted file mode 100644 index 74d14c1b5a..0000000000 --- a/bundled/boost-1.56.0/include/boost/intrusive/slist.hpp +++ /dev/null @@ -1,2199 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Olaf Krzikalla 2004-2006. -// (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_SLIST_HPP -#define BOOST_INTRUSIVE_SLIST_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include //std::size_t -#include //std::pair -#include - -namespace boost { -namespace intrusive { - -/// @cond - -template -struct header_holder_plus_last -{ - HeaderHolder header_holder_; - NodePtr last_; -}; - -template -struct header_holder_plus_last -{ - HeaderHolder header_holder_; -}; - -struct slist_defaults -{ - typedef detail::default_slist_hook proto_value_traits; - static const bool constant_time_size = true; - static const bool linear = false; - typedef std::size_t size_type; - static const bool cache_last = false; - typedef void header_holder_type; -}; - -struct slist_bool_flags -{ - static const std::size_t linear_pos = 1u; - static const std::size_t constant_time_size_pos = 2u; - static const std::size_t cache_last_pos = 4u; -}; - - -/// @endcond - -//! The class template slist is an intrusive container, that encapsulates -//! a singly-linked list. You can use such a list to squeeze the last bit -//! of performance from your application. Unfortunately, the little gains -//! come with some huge drawbacks. A lot of member functions can't be -//! implemented as efficiently as for standard containers. To overcome -//! this limitation some other member functions with rather unusual semantics -//! have to be introduced. -//! -//! 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<>, -//! \c linear<> and \c cache_last<>. -//! -//! The iterators of slist are forward iterators. slist provides a static -//! function called "previous" to compute the previous iterator of a given iterator. -//! This function has linear complexity. To improve the usability esp. with -//! the '*_after' functions, ++end() == begin() and previous(begin()) == end() -//! are defined. An new special function "before_begin()" is defined, which returns -//! an iterator that points one less the beginning of the list: ++before_begin() == begin() -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -template -#else -template -#endif -class slist_impl -{ - //Public typedefs - public: - typedef ValueTraits value_traits; - typedef typename value_traits::pointer pointer; - typedef typename value_traits::const_pointer const_pointer; - typedef typename pointer_traits::element_type value_type; - typedef typename pointer_traits::reference reference; - typedef typename pointer_traits::reference const_reference; - typedef typename pointer_traits::difference_type difference_type; - typedef SizeType size_type; - typedef slist_iterator iterator; - typedef slist_iterator const_iterator; - typedef typename value_traits::node_traits node_traits; - 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 HeaderHolder header_holder_type; - - static const bool constant_time_size = 0 != (BoolFlags & slist_bool_flags::constant_time_size_pos); - static const bool stateful_value_traits = detail::is_stateful_value_traits::value; - static const bool linear = 0 != (BoolFlags & slist_bool_flags::linear_pos); - static const bool cache_last = 0 != (BoolFlags & slist_bool_flags::cache_last_pos); - static const bool has_container_from_iterator = - boost::is_same< header_holder_type, detail::default_header_holder< node_traits > >::value; - - typedef typename detail::if_c - < linear - , linear_slist_algorithms - , circular_slist_algorithms - >::type node_algorithms; - - /// @cond - private: - typedef detail::size_holder size_traits; - - //noncopyable - BOOST_MOVABLE_BUT_NOT_COPYABLE(slist_impl) - - static const bool safemode_or_autounlink = is_safe_autounlink::value; - - //Constant-time size is incompatible with auto-unlink hooks! - BOOST_STATIC_ASSERT(!(constant_time_size && ((int)value_traits::link_mode == (int)auto_unlink))); - //Linear singly linked lists are incompatible with auto-unlink hooks! - BOOST_STATIC_ASSERT(!(linear && ((int)value_traits::link_mode == (int)auto_unlink))); - //A list with cached last node is incompatible with auto-unlink hooks! - BOOST_STATIC_ASSERT(!(cache_last && ((int)value_traits::link_mode == (int)auto_unlink))); - - node_ptr get_end_node() - { return node_ptr(linear ? node_ptr() : this->get_root_node()); } - - const_node_ptr get_end_node() const - { - return const_node_ptr - (linear ? const_node_ptr() : this->get_root_node()); } - - node_ptr get_root_node() - { return data_.root_plus_size_.header_holder_.get_node(); } - - const_node_ptr get_root_node() const - { return data_.root_plus_size_.header_holder_.get_node(); } - - node_ptr get_last_node() - { return this->get_last_node(detail::bool_()); } - - const_node_ptr get_last_node() const - { return this->get_last_node(detail::bool_()); } - - void set_last_node(const node_ptr &n) - { return this->set_last_node(n, detail::bool_()); } - - static node_ptr get_last_node(detail::bool_) - { - //This function shall not be used if cache_last is not true - BOOST_INTRUSIVE_INVARIANT_ASSERT(cache_last); - return node_ptr(); - } - - static void set_last_node(const node_ptr &, detail::bool_) - { - //This function shall not be used if cache_last is not true - BOOST_INTRUSIVE_INVARIANT_ASSERT(cache_last); - } - - node_ptr get_last_node(detail::bool_) - { return node_ptr(data_.root_plus_size_.last_); } - - const_node_ptr get_last_node(detail::bool_) const - { return const_node_ptr(data_.root_plus_size_.last_); } - - void set_last_node(const node_ptr & n, detail::bool_) - { data_.root_plus_size_.last_ = n; } - - void set_default_constructed_state() - { - node_algorithms::init_header(this->get_root_node()); - this->priv_size_traits().set_size(size_type(0)); - if(cache_last){ - this->set_last_node(this->get_root_node()); - } - } - - typedef header_holder_plus_last header_holder_plus_last_t; - struct root_plus_size - : public size_traits - , public header_holder_plus_last_t - {}; - - struct data_t - : public slist_impl::value_traits - { - typedef typename slist_impl::value_traits value_traits; - explicit data_t(const value_traits &val_traits) - : value_traits(val_traits) - {} - - root_plus_size root_plus_size_; - } data_; - - size_traits &priv_size_traits() - { return data_.root_plus_size_; } - - const size_traits &priv_size_traits() const - { return data_.root_plus_size_; } - - const value_traits &priv_value_traits() const - { return data_; } - - value_traits &priv_value_traits() - { return data_; } - - typedef typename boost::intrusive::value_traits_pointers - ::const_value_traits_ptr const_value_traits_ptr; - - const_value_traits_ptr priv_value_traits_ptr() const - { return pointer_traits::pointer_to(this->priv_value_traits()); } - - /// @endcond - - public: - - ///@cond - - //! Requires: f and before_l belong to another slist. - //! - //! Effects: Transfers the range [f, before_l] to this - //! list, after the element pointed by prev_pos. - //! No destructors or copy constructors are called. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements transferred - //! if constant_time_size is true. Constant-time otherwise. - //! - //! Note: Iterators of values obtained from list x now point to elements of this - //! list. Iterators of this list and all the references are not invalidated. - //! - //! Warning: Experimental function, don't use it! - slist_impl( const node_ptr & f, const node_ptr & before_l - , size_type n, const value_traits &v_traits = value_traits()) - : data_(v_traits) - { - if(n){ - this->priv_size_traits().set_size(n); - if(cache_last){ - this->set_last_node(before_l); - } - node_traits::set_next(this->get_root_node(), f); - node_traits::set_next(before_l, this->get_end_node()); - } - else{ - this->set_default_constructed_state(); - } - } - - ///@endcond - - //! Effects: constructs an empty list. - //! - //! Complexity: Constant - //! - //! Throws: If value_traits::node_traits::node - //! constructor throws (this does not happen with predefined Boost.Intrusive hooks). - explicit slist_impl(const value_traits &v_traits = value_traits()) - : data_(v_traits) - { this->set_default_constructed_state(); } - - //! Requires: Dereferencing iterator must yield an lvalue of type value_type. - //! - //! Effects: Constructs a list equal to [b ,e). - //! - //! Complexity: Linear in std::distance(b, e). No copy constructors are called. - //! - //! Throws: If value_traits::node_traits::node - //! constructor throws (this does not happen with predefined Boost.Intrusive hooks). - template - slist_impl(Iterator b, Iterator e, const value_traits &v_traits = value_traits()) - : data_(v_traits) - { - this->set_default_constructed_state(); - //nothrow, no need to rollback to release elements on exception - this->insert_after(this->cbefore_begin(), b, e); - } - - //! Effects: to-do - //! - slist_impl(BOOST_RV_REF(slist_impl) x) - : data_(::boost::move(x.priv_value_traits())) - { - this->priv_size_traits().set_size(size_type(0)); - node_algorithms::init_header(this->get_root_node()); - //nothrow, no need to rollback to release elements on exception - this->swap(x); - } - - //! Effects: to-do - //! - slist_impl& operator=(BOOST_RV_REF(slist_impl) x) - { this->swap(x); return *this; } - - //! Effects: If it's a safe-mode - //! or auto-unlink value, the destructor does nothing - //! (ie. no code is generated). Otherwise it detaches all elements from this. - //! In this case the objects in the list are not deleted (i.e. no destructors - //! are called), but the hooks according to the value_traits template parameter - //! are set to their default value. - //! - //! Complexity: Linear to the number of elements in the list, if - //! it's a safe-mode or auto-unlink value. Otherwise constant. - ~slist_impl() - { - if(is_safe_autounlink::value){ - this->clear(); - node_algorithms::init(this->get_root_node()); - } - } - - //! Effects: Erases all the elements of the container. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements of the list. - //! if it's a safe-mode or auto-unlink value_type. Constant time otherwise. - //! - //! Note: Invalidates the iterators (but not the references) to the erased elements. - void clear() - { - if(safemode_or_autounlink){ - this->clear_and_dispose(detail::null_disposer()); - } - else{ - this->set_default_constructed_state(); - } - } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Erases all the elements of the container - //! Disposer::operator()(pointer) is called for the removed elements. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements of the list. - //! - //! Note: Invalidates the iterators to the erased elements. - template - void clear_and_dispose(Disposer disposer) - { - const_iterator it(this->begin()), itend(this->end()); - while(it != itend){ - node_ptr to_erase(it.pointed_node()); - ++it; - if(safemode_or_autounlink) - node_algorithms::init(to_erase); - disposer(priv_value_traits().to_value_ptr(to_erase)); - } - this->set_default_constructed_state(); - } - - //! Requires: value must be an lvalue. - //! - //! Effects: Inserts the value in the front of the list. - //! No copy constructors are called. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - //! - //! Note: Does not affect the validity of iterators and references. - void push_front(reference value) - { - node_ptr to_insert = priv_value_traits().to_node_ptr(value); - if(safemode_or_autounlink) - BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(node_algorithms::inited(to_insert)); - if(cache_last){ - if(this->empty()){ - this->set_last_node(to_insert); - } - } - node_algorithms::link_after(this->get_root_node(), to_insert); - this->priv_size_traits().increment(); - } - - //! Requires: value must be an lvalue. - //! - //! Effects: Inserts the value in the back of the list. - //! No copy constructors are called. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - //! - //! Note: Does not affect the validity of iterators and references. - //! This function is only available is cache_last<> is true. - void push_back(reference value) - { - BOOST_STATIC_ASSERT((cache_last)); - node_ptr n = priv_value_traits().to_node_ptr(value); - if(safemode_or_autounlink) - BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(node_algorithms::inited(n)); - node_algorithms::link_after(this->get_last_node(), n); - if(cache_last){ - this->set_last_node(n); - } - this->priv_size_traits().increment(); - } - - //! Effects: Erases the first element of the list. - //! No destructors are called. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - //! - //! Note: Invalidates the iterators (but not the references) to the erased element. - void pop_front() - { return this->pop_front_and_dispose(detail::null_disposer()); } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Erases the first element of the list. - //! Disposer::operator()(pointer) is called for the removed element. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - //! - //! Note: Invalidates the iterators to the erased element. - template - void pop_front_and_dispose(Disposer disposer) - { - node_ptr to_erase = node_traits::get_next(this->get_root_node()); - node_algorithms::unlink_after(this->get_root_node()); - this->priv_size_traits().decrement(); - if(safemode_or_autounlink) - node_algorithms::init(to_erase); - disposer(priv_value_traits().to_value_ptr(to_erase)); - if(cache_last){ - if(this->empty()){ - this->set_last_node(this->get_root_node()); - } - } - } - - //! Effects: Returns a reference to the first element of the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - reference front() - { return *this->priv_value_traits().to_value_ptr(node_traits::get_next(this->get_root_node())); } - - //! Effects: Returns a const_reference to the first element of the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_reference front() const - { return *this->priv_value_traits().to_value_ptr(detail::uncast(node_traits::get_next(this->get_root_node()))); } - - //! Effects: Returns a reference to the last element of the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - //! - //! Note: Does not affect the validity of iterators and references. - //! This function is only available is cache_last<> is true. - reference back() - { - BOOST_STATIC_ASSERT((cache_last)); - return *this->priv_value_traits().to_value_ptr(this->get_last_node()); - } - - //! Effects: Returns a const_reference to the last element of the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - //! - //! Note: Does not affect the validity of iterators and references. - //! This function is only available is cache_last<> is true. - const_reference back() const - { - BOOST_STATIC_ASSERT((cache_last)); - return *this->priv_value_traits().to_value_ptr(this->get_last_node()); - } - - //! Effects: Returns an iterator to the first element contained in the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - iterator begin() - { return iterator (node_traits::get_next(this->get_root_node()), this->priv_value_traits_ptr()); } - - //! Effects: Returns a const_iterator to the first element contained in the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator begin() const - { return const_iterator (node_traits::get_next(this->get_root_node()), this->priv_value_traits_ptr()); } - - //! Effects: Returns a const_iterator to the first element contained in the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator cbegin() const - { return const_iterator(node_traits::get_next(this->get_root_node()), this->priv_value_traits_ptr()); } - - //! Effects: Returns an iterator to the end of the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - iterator end() - { return iterator(this->get_end_node(), this->priv_value_traits_ptr()); } - - //! Effects: Returns a const_iterator to the end of the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator end() const - { return const_iterator(detail::uncast(this->get_end_node()), this->priv_value_traits_ptr()); } - - //! Effects: Returns a const_iterator to the end of the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator cend() const - { return this->end(); } - - //! Effects: Returns an iterator that points to a position - //! before the first element. Equivalent to "end()" - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - iterator before_begin() - { return iterator(this->get_root_node(), this->priv_value_traits_ptr()); } - - //! Effects: Returns an iterator that points to a position - //! before the first element. Equivalent to "end()" - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator before_begin() const - { return const_iterator(detail::uncast(this->get_root_node()), this->priv_value_traits_ptr()); } - - //! Effects: Returns an iterator that points to a position - //! before the first element. Equivalent to "end()" - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - const_iterator cbefore_begin() const - { return this->before_begin(); } - - //! Effects: Returns an iterator to the last element contained in the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - //! - //! Note: This function is present only if cached_last<> option is true. - iterator last() - { - //This function shall not be used if cache_last is not true - BOOST_INTRUSIVE_INVARIANT_ASSERT(cache_last); - return iterator (this->get_last_node(), this->priv_value_traits_ptr()); - } - - //! Effects: Returns a const_iterator to the last element contained in the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - //! - //! Note: This function is present only if cached_last<> option is true. - const_iterator last() const - { - //This function shall not be used if cache_last is not true - BOOST_INTRUSIVE_INVARIANT_ASSERT(cache_last); - return const_iterator (this->get_last_node(), this->priv_value_traits_ptr()); - } - - //! Effects: Returns a const_iterator to the last element contained in the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - //! - //! Note: This function is present only if cached_last<> option is true. - const_iterator clast() const - { return const_iterator(this->get_last_node(), this->priv_value_traits_ptr()); } - - //! Precondition: end_iterator must be a valid end iterator - //! of slist. - //! - //! Effects: Returns a const reference to the slist associated to the end iterator - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - static slist_impl &container_from_end_iterator(iterator end_iterator) - { return slist_impl::priv_container_from_end_iterator(end_iterator); } - - //! Precondition: end_iterator must be a valid end const_iterator - //! of slist. - //! - //! Effects: Returns a const reference to the slist associated to the end iterator - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - static const slist_impl &container_from_end_iterator(const_iterator end_iterator) - { return slist_impl::priv_container_from_end_iterator(end_iterator); } - - //! Effects: Returns the number of the elements contained in the list. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements contained in the list. - //! if constant_time_size is false. Constant time otherwise. - //! - //! Note: Does not affect the validity of iterators and references. - size_type size() const - { - if(constant_time_size) - return this->priv_size_traits().get_size(); - else - return node_algorithms::count(this->get_root_node()) - 1; - } - - //! Effects: Returns true if the list contains no elements. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - //! - //! Note: Does not affect the validity of iterators and references. - bool empty() const - { return node_algorithms::unique(this->get_root_node()); } - - //! Effects: Swaps the elements of x and *this. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements of both lists. - //! Constant-time if linear<> and/or cache_last<> options are used. - //! - //! Note: Does not affect the validity of iterators and references. - void swap(slist_impl& other) - { - if(cache_last){ - priv_swap_cache_last(this, &other); - } - else{ - this->priv_swap_lists(this->get_root_node(), other.get_root_node(), detail::bool_()); - } - if(constant_time_size){ - size_type backup = this->priv_size_traits().get_size(); - this->priv_size_traits().set_size(other.priv_size_traits().get_size()); - other.priv_size_traits().set_size(backup); - } - } - - //! Effects: Moves backwards all the elements, so that the first - //! element becomes the second, the second becomes the third... - //! the last element becomes the first one. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements plus the number shifts. - //! - //! Note: Iterators Does not affect the validity of iterators and references. - void shift_backwards(size_type n = 1) - { this->priv_shift_backwards(n, detail::bool_()); } - - //! Effects: Moves forward all the elements, so that the second - //! element becomes the first, the third becomes the second... - //! the first element becomes the last one. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements plus the number shifts. - //! - //! Note: Does not affect the validity of iterators and references. - void shift_forward(size_type n = 1) - { this->priv_shift_forward(n, detail::bool_()); } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! Cloner should yield to nodes equivalent to the original nodes. - //! - //! Effects: Erases all the elements from *this - //! calling Disposer::operator()(pointer), clones all the - //! elements from src calling Cloner::operator()(const_reference ) - //! and inserts them on *this. - //! - //! If cloner throws, all cloned elements are unlinked and disposed - //! calling Disposer::operator()(pointer). - //! - //! Complexity: Linear to erased plus inserted elements. - //! - //! Throws: If cloner throws. - template - void clone_from(const slist_impl &src, Cloner cloner, Disposer disposer) - { - this->clear_and_dispose(disposer); - detail::exception_disposer - rollback(*this, disposer); - const_iterator prev(this->cbefore_begin()); - const_iterator b(src.begin()), e(src.end()); - for(; b != e; ++b){ - prev = this->insert_after(prev, *cloner(*b)); - } - rollback.release(); - } - - //! Requires: value must be an lvalue and prev_p must point to an element - //! contained by the list or to end(). - //! - //! Effects: Inserts the value after the position pointed by prev_p. - //! No copy constructor is called. - //! - //! Returns: An iterator to the inserted element. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - //! - //! Note: Does not affect the validity of iterators and references. - iterator insert_after(const_iterator prev_p, reference value) - { - node_ptr n = priv_value_traits().to_node_ptr(value); - if(safemode_or_autounlink) - BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(node_algorithms::inited(n)); - node_ptr prev_n(prev_p.pointed_node()); - node_algorithms::link_after(prev_n, n); - if(cache_last && (this->get_last_node() == prev_n)){ - this->set_last_node(n); - } - this->priv_size_traits().increment(); - return iterator (n, this->priv_value_traits_ptr()); - } - - //! Requires: Dereferencing iterator must yield - //! an lvalue of type value_type and prev_p must point to an element - //! contained by the list or to the end node. - //! - //! Effects: Inserts the [f, l) - //! after the position prev_p. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements inserted. - //! - //! Note: Does not affect the validity of iterators and references. - template - void insert_after(const_iterator prev_p, Iterator f, Iterator l) - { - //Insert first nodes avoiding cache and size checks - size_type count = 0; - node_ptr prev_n(prev_p.pointed_node()); - for (; f != l; ++f, ++count){ - const node_ptr n = priv_value_traits().to_node_ptr(*f); - if(safemode_or_autounlink) - BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(node_algorithms::inited(n)); - node_algorithms::link_after(prev_n, n); - prev_n = n; - } - //Now fix special cases if needed - if(cache_last && (this->get_last_node() == prev_p.pointed_node())){ - this->set_last_node(prev_n); - } - if(constant_time_size){ - this->priv_size_traits().increase(count); - } - } - - //! Requires: value must be an lvalue and p must point to an element - //! contained by the list or to end(). - //! - //! Effects: Inserts the value before the position pointed by p. - //! No copy constructor is called. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements before p. - //! Constant-time if cache_last<> is true and p == end(). - //! - //! Note: Does not affect the validity of iterators and references. - iterator insert(const_iterator p, reference value) - { return this->insert_after(this->previous(p), value); } - - //! Requires: Dereferencing iterator must yield - //! an lvalue of type value_type and p must point to an element - //! contained by the list or to the end node. - //! - //! Effects: Inserts the pointed by b and e - //! before the position p. No copy constructors are called. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements inserted plus linear - //! to the elements before b. - //! Linear to the number of elements to insert if cache_last<> option is true and p == end(). - //! - //! Note: Does not affect the validity of iterators and references. - template - void insert(const_iterator p, Iterator b, Iterator e) - { return this->insert_after(this->previous(p), b, e); } - - //! Effects: Erases the element after the element pointed by prev of - //! the list. No destructors are called. - //! - //! Returns: the first element remaining beyond the removed elements, - //! or end() if no such element exists. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - //! - //! Note: Invalidates the iterators (but not the references) to the - //! erased element. - iterator erase_after(const_iterator prev) - { return this->erase_after_and_dispose(prev, detail::null_disposer()); } - - //! Effects: Erases the range (before_f, l) from - //! the list. No destructors are called. - //! - //! Returns: the first element remaining beyond the removed elements, - //! or end() if no such element exists. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of erased elements if it's a safe-mode - //! , auto-unlink value or constant-time size is activated. Constant time otherwise. - //! - //! Note: Invalidates the iterators (but not the references) to the - //! erased element. - iterator erase_after(const_iterator before_f, const_iterator l) - { - if(safemode_or_autounlink || constant_time_size){ - return this->erase_after_and_dispose(before_f, l, detail::null_disposer()); - } - else{ - const node_ptr bfp = before_f.pointed_node(); - const node_ptr lp = l.pointed_node(); - if(cache_last){ - if(lp == this->get_end_node()){ - this->set_last_node(bfp); - } - } - node_algorithms::unlink_after(bfp, lp); - return l.unconst(); - } - } - - //! Effects: Erases the range (before_f, l) from - //! the list. n must be std::distance(before_f, l) - 1. - //! No destructors are called. - //! - //! Returns: the first element remaining beyond the removed elements, - //! or end() if no such element exists. - //! - //! Throws: Nothing. - //! - //! Complexity: constant-time if link_mode is normal_link. - //! Linear to the elements (l - before_f) otherwise. - //! - //! Note: Invalidates the iterators (but not the references) to the - //! erased element. - iterator erase_after(const_iterator before_f, const_iterator l, size_type n) - { - BOOST_INTRUSIVE_INVARIANT_ASSERT(std::distance(++const_iterator(before_f), l) == difference_type(n)); - if(safemode_or_autounlink){ - return this->erase_after(before_f, l); - } - else{ - const node_ptr bfp = before_f.pointed_node(); - const node_ptr lp = l.pointed_node(); - if(cache_last){ - if((lp == this->get_end_node())){ - this->set_last_node(bfp); - } - } - node_algorithms::unlink_after(bfp, lp); - if(constant_time_size){ - this->priv_size_traits().decrease(n); - } - return l.unconst(); - } - } - - //! Effects: Erases the element pointed by i of the list. - //! No destructors are called. - //! - //! Returns: the first element remaining beyond the removed element, - //! or end() if no such element exists. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the elements before i. - //! - //! Note: Invalidates the iterators (but not the references) to the - //! erased element. - iterator erase(const_iterator i) - { return this->erase_after(this->previous(i)); } - - //! Requires: f and l must be valid iterator to elements in *this. - //! - //! Effects: Erases the range pointed by b and e. - //! No destructors are called. - //! - //! Returns: the first element remaining beyond the removed elements, - //! or end() if no such element exists. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the elements before l. - //! - //! Note: Invalidates the iterators (but not the references) to the - //! erased elements. - iterator erase(const_iterator f, const_iterator l) - { return this->erase_after(this->previous(f), l); } - - //! Effects: Erases the range [f, l) from - //! the list. n must be std::distance(f, l). - //! No destructors are called. - //! - //! Returns: the first element remaining beyond the removed elements, - //! or end() if no such element exists. - //! - //! Throws: Nothing. - //! - //! Complexity: linear to the elements before f if link_mode is normal_link - //! and constant_time_size is activated. Linear to the elements before l otherwise. - //! - //! Note: Invalidates the iterators (but not the references) to the - //! erased element. - iterator erase(const_iterator f, const_iterator l, size_type n) - { return this->erase_after(this->previous(f), l, n); } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Erases the element after the element pointed by prev of - //! the list. - //! Disposer::operator()(pointer) is called for the removed element. - //! - //! Returns: the first element remaining beyond the removed elements, - //! or end() if no such element exists. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - //! - //! Note: Invalidates the iterators to the erased element. - template - iterator erase_after_and_dispose(const_iterator prev, Disposer disposer) - { - const_iterator it(prev); - ++it; - node_ptr to_erase(it.pointed_node()); - ++it; - node_ptr prev_n(prev.pointed_node()); - node_algorithms::unlink_after(prev_n); - if(cache_last && (to_erase == this->get_last_node())){ - this->set_last_node(prev_n); - } - if(safemode_or_autounlink) - node_algorithms::init(to_erase); - disposer(priv_value_traits().to_value_ptr(to_erase)); - this->priv_size_traits().decrement(); - return it.unconst(); - } - - /// @cond - - template - static iterator s_erase_after_and_dispose(const_iterator prev, Disposer disposer) - { - BOOST_STATIC_ASSERT(((!cache_last)&&(!constant_time_size)&&(!stateful_value_traits))); - const_iterator it(prev); - ++it; - node_ptr to_erase(it.pointed_node()); - ++it; - node_ptr prev_n(prev.pointed_node()); - node_algorithms::unlink_after(prev_n); - if(safemode_or_autounlink) - node_algorithms::init(to_erase); - disposer(value_traits::to_value_ptr(to_erase)); - return it.unconst(); - } - - static iterator s_erase_after(const_iterator prev) - { return s_erase_after_and_dispose(prev, detail::null_disposer()); } - - /// @endcond - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Erases the range (before_f, l) from - //! the list. - //! Disposer::operator()(pointer) is called for the removed elements. - //! - //! Returns: the first element remaining beyond the removed elements, - //! or end() if no such element exists. - //! - //! Throws: Nothing. - //! - //! Complexity: Lineal to the elements (l - before_f + 1). - //! - //! Note: Invalidates the iterators to the erased element. - template - iterator erase_after_and_dispose(const_iterator before_f, const_iterator l, Disposer disposer) - { - node_ptr bfp(before_f.pointed_node()), lp(l.pointed_node()); - node_ptr fp(node_traits::get_next(bfp)); - node_algorithms::unlink_after(bfp, lp); - while(fp != lp){ - node_ptr to_erase(fp); - fp = node_traits::get_next(fp); - if(safemode_or_autounlink) - node_algorithms::init(to_erase); - disposer(priv_value_traits().to_value_ptr(to_erase)); - this->priv_size_traits().decrement(); - } - if(cache_last && (node_traits::get_next(bfp) == this->get_end_node())){ - this->set_last_node(bfp); - } - return l.unconst(); - } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Erases the element pointed by i of the list. - //! No destructors are called. - //! Disposer::operator()(pointer) is called for the removed element. - //! - //! Returns: the first element remaining beyond the removed element, - //! or end() if no such element exists. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the elements before i. - //! - //! Note: Invalidates the iterators (but not the references) to the - //! erased element. - template - iterator erase_and_dispose(const_iterator i, Disposer disposer) - { return this->erase_after_and_dispose(this->previous(i), disposer); } - - #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - template - iterator erase_and_dispose(iterator i, Disposer disposer) - { return this->erase_and_dispose(const_iterator(i), disposer); } - #endif - - //! Requires: f and l must be valid iterator to elements in *this. - //! Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Erases the range pointed by b and e. - //! No destructors are called. - //! Disposer::operator()(pointer) is called for the removed elements. - //! - //! Returns: the first element remaining beyond the removed elements, - //! or end() if no such element exists. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of erased elements plus linear - //! to the elements before f. - //! - //! Note: Invalidates the iterators (but not the references) to the - //! erased elements. - template - iterator erase_and_dispose(const_iterator f, const_iterator l, Disposer disposer) - { return this->erase_after_and_dispose(this->previous(f), l, disposer); } - - //! Requires: Dereferencing iterator must yield - //! an lvalue of type value_type. - //! - //! Effects: Clears the list and inserts the range pointed by b and e. - //! No destructors or copy constructors are called. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements inserted plus - //! linear to the elements contained in the list if it's a safe-mode - //! or auto-unlink value. - //! Linear to the number of elements inserted in the list otherwise. - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased elements. - template - void assign(Iterator b, Iterator e) - { - this->clear(); - this->insert_after(this->cbefore_begin(), b, e); - } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Requires: Dereferencing iterator must yield - //! an lvalue of type value_type. - //! - //! Effects: Clears the list and inserts the range pointed by b and e. - //! No destructors or copy constructors are called. - //! Disposer::operator()(pointer) is called for the removed elements. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements inserted plus - //! linear to the elements contained in the list. - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased elements. - template - void dispose_and_assign(Disposer disposer, Iterator b, Iterator e) - { - this->clear_and_dispose(disposer); - this->insert_after(this->cbefore_begin(), b, e, disposer); - } - - //! Requires: prev must point to an element contained by this list or - //! to the before_begin() element - //! - //! Effects: Transfers all the elements of list x to this list, after the - //! the element pointed by prev. No destructors or copy constructors are called. - //! - //! Returns: Nothing. - //! - //! Throws: Nothing. - //! - //! Complexity: In general, linear to the elements contained in x. - //! Constant-time if cache_last<> option is true and also constant-time if - //! linear<> option is true "this" is empty and "l" is not used. - //! - //! Note: Iterators of values obtained from list x now point to elements of this - //! list. Iterators of this list and all the references are not invalidated. - //! - //! Additional note: If the optional parameter "l" is provided, it will be - //! assigned to the last spliced element or prev if x is empty. - //! This iterator can be used as new "prev" iterator for a new splice_after call. - //! that will splice new values after the previously spliced values. - void splice_after(const_iterator prev, slist_impl &x, const_iterator *l = 0) - { - if(x.empty()){ - if(l) *l = prev; - } - else if(linear && this->empty()){ - this->swap(x); - if(l) *l = this->previous(this->cend()); - } - else{ - const_iterator last_x(x.previous(x.end())); //<- constant time if cache_last is active - node_ptr prev_n(prev.pointed_node()); - node_ptr last_x_n(last_x.pointed_node()); - if(cache_last){ - x.set_last_node(x.get_root_node()); - if(node_traits::get_next(prev_n) == this->get_end_node()){ - this->set_last_node(last_x_n); - } - } - node_algorithms::transfer_after( prev_n, x.before_begin().pointed_node(), last_x_n); - this->priv_size_traits().increase(x.priv_size_traits().get_size()); - x.priv_size_traits().set_size(size_type(0)); - if(l) *l = last_x; - } - } - - //! Requires: prev must point to an element contained by this list or - //! to the before_begin() element. prev_ele must point to an element contained in list - //! x or must be x.before_begin(). - //! - //! Effects: Transfers the element after prev_ele, from list x to this list, - //! after the element pointed by prev. No destructors or copy constructors are called. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant. - //! - //! Note: Iterators of values obtained from list x now point to elements of this - //! list. Iterators of this list and all the references are not invalidated. - void splice_after(const_iterator prev_pos, slist_impl &x, const_iterator prev_ele) - { - const_iterator elem = prev_ele; - this->splice_after(prev_pos, x, prev_ele, ++elem, 1); - } - - //! Requires: prev_pos must be a dereferenceable iterator in *this or be - //! before_begin(), and before_f and before_l belong to x and - //! ++before_f != x.end() && before_l != x.end(). - //! - //! Effects: Transfers the range (before_f, before_l] from list x to this - //! list, after the element pointed by prev_pos. - //! No destructors or copy constructors are called. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements transferred - //! if constant_time_size is true. Constant-time otherwise. - //! - //! Note: Iterators of values obtained from list x now point to elements of this - //! list. Iterators of this list and all the references are not invalidated. - void splice_after(const_iterator prev_pos, slist_impl &x, const_iterator before_f, const_iterator before_l) - { - if(constant_time_size) - this->splice_after(prev_pos, x, before_f, before_l, std::distance(before_f, before_l)); - else - this->priv_splice_after - (prev_pos.pointed_node(), x, before_f.pointed_node(), before_l.pointed_node()); - } - - //! Requires: prev_pos must be a dereferenceable iterator in *this or be - //! before_begin(), and before_f and before_l belong to x and - //! ++before_f != x.end() && before_l != x.end() and - //! n == std::distance(before_f, before_l). - //! - //! Effects: Transfers the range (before_f, before_l] from list x to this - //! list, after the element pointed by p. No destructors or copy constructors are called. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant time. - //! - //! Note: Iterators of values obtained from list x now point to elements of this - //! list. Iterators of this list and all the references are not invalidated. - void splice_after(const_iterator prev_pos, slist_impl &x, const_iterator before_f, const_iterator before_l, size_type n) - { - BOOST_INTRUSIVE_INVARIANT_ASSERT(std::distance(before_f, before_l) == difference_type(n)); - this->priv_splice_after - (prev_pos.pointed_node(), x, before_f.pointed_node(), before_l.pointed_node()); - if(constant_time_size){ - this->priv_size_traits().increase(n); - x.priv_size_traits().decrease(n); - } - } - - //! Requires: it is an iterator to an element in *this. - //! - //! Effects: Transfers all the elements of list x to this list, before the - //! the element pointed by it. No destructors or copy constructors are called. - //! - //! Returns: Nothing. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the elements contained in x plus linear to - //! the elements before it. - //! Linear to the elements before it if cache_last<> option is true. - //! Constant-time if cache_last<> option is true and it == end(). - //! - //! Note: Iterators of values obtained from list x now point to elements of this - //! list. Iterators of this list and all the references are not invalidated. - //! - //! Additional note: If the optional parameter "l" is provided, it will be - //! assigned to the last spliced element or prev if x is empty. - //! This iterator can be used as new "prev" iterator for a new splice_after call. - //! that will splice new values after the previously spliced values. - void splice(const_iterator it, slist_impl &x, const_iterator *l = 0) - { this->splice_after(this->previous(it), x, l); } - - //! Requires: it p must be a valid iterator of *this. - //! elem must point to an element contained in list - //! x. - //! - //! Effects: Transfers the element elem, from list x to this list, - //! before the element pointed by pos. No destructors or copy constructors are called. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the elements before pos and before elem. - //! Linear to the elements before elem if cache_last<> option is true and pos == end(). - //! - //! Note: Iterators of values obtained from list x now point to elements of this - //! list. Iterators of this list and all the references are not invalidated. - void splice(const_iterator pos, slist_impl &x, const_iterator elem) - { return this->splice_after(this->previous(pos), x, x.previous(elem)); } - - //! Requires: pos must be a dereferenceable iterator in *this - //! and f and f belong to x and f and f a valid range on x. - //! - //! Effects: Transfers the range [f, l) from list x to this - //! list, before the element pointed by pos. - //! No destructors or copy constructors are called. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the sum of elements before pos, f, and l - //! plus linear to the number of elements transferred if constant_time_size is true. - //! Linear to the sum of elements before f, and l - //! plus linear to the number of elements transferred if constant_time_size is true - //! if cache_last<> is true and pos == end() - //! - //! Note: Iterators of values obtained from list x now point to elements of this - //! list. Iterators of this list and all the references are not invalidated. - void splice(const_iterator pos, slist_impl &x, const_iterator f, const_iterator l) - { return this->splice_after(this->previous(pos), x, x.previous(f), x.previous(l)); } - - //! Requires: pos must be a dereferenceable iterator in *this - //! and f and l belong to x and f and l a valid range on x. - //! n == std::distance(f, l). - //! - //! Effects: Transfers the range [f, l) from list x to this - //! list, before the element pointed by pos. - //! No destructors or copy constructors are called. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the sum of elements before pos, f, and l. - //! Linear to the sum of elements before f and l - //! if cache_last<> is true and pos == end(). - //! - //! Note: Iterators of values obtained from list x now point to elements of this - //! list. Iterators of this list and all the references are not invalidated. - void splice(const_iterator pos, slist_impl &x, const_iterator f, const_iterator l, size_type n) - { return this->splice_after(this->previous(pos), x, x.previous(f), x.previous(l), n); } - - //! Effects: This function sorts the list *this according to std::less. - //! The sort is stable, that is, the relative order of equivalent elements is preserved. - //! - //! Throws: If value_traits::node_traits::node - //! constructor throws (this does not happen with predefined Boost.Intrusive hooks) - //! or the predicate throws. Basic guarantee. - //! - //! Complexity: The number of comparisons is approximately N log N, where N - //! is the list's size. - //! - //! Note: Iterators and references are not invalidated - template - void sort(Predicate p) - { - if (node_traits::get_next(node_traits::get_next(this->get_root_node())) - != this->get_root_node()) { - - slist_impl carry(this->priv_value_traits()); - detail::array_initializer counter(this->priv_value_traits()); - int fill = 0; - const_iterator last_inserted; - while(!this->empty()){ - last_inserted = this->cbegin(); - carry.splice_after(carry.cbefore_begin(), *this, this->cbefore_begin()); - int i = 0; - while(i < fill && !counter[i].empty()) { - carry.swap(counter[i]); - carry.merge(counter[i++], p, &last_inserted); - } - BOOST_INTRUSIVE_INVARIANT_ASSERT(counter[i].empty()); - const_iterator last_element(carry.previous(last_inserted, carry.end())); - - if(constant_time_size){ - counter[i].splice_after( counter[i].cbefore_begin(), carry - , carry.cbefore_begin(), last_element - , carry.size()); - } - else{ - counter[i].splice_after( counter[i].cbefore_begin(), carry - , carry.cbefore_begin(), last_element); - } - if(i == fill) - ++fill; - } - - for (int i = 1; i < fill; ++i) - counter[i].merge(counter[i-1], p, &last_inserted); - --fill; - const_iterator last_element(counter[fill].previous(last_inserted, counter[fill].end())); - if(constant_time_size){ - this->splice_after( cbefore_begin(), counter[fill], counter[fill].cbefore_begin() - , last_element, counter[fill].size()); - } - else{ - this->splice_after( cbefore_begin(), counter[fill], counter[fill].cbefore_begin() - , last_element); - } - } - } - - //! Requires: p must be a comparison function that induces a strict weak - //! ordering and both *this and x must be sorted according to that ordering - //! The lists x and *this must be distinct. - //! - //! Effects: This function removes all of x's elements and inserts them - //! in order into *this. The merge is stable; that is, if an element from *this is - //! equivalent to one from x, then the element from *this will precede the one from x. - //! - //! Throws: If value_traits::node_traits::node - //! constructor throws (this does not happen with predefined Boost.Intrusive hooks) - //! or std::less throws. Basic guarantee. - //! - //! Complexity: This function is linear time: it performs at most - //! size() + x.size() - 1 comparisons. - //! - //! Note: Iterators and references are not invalidated. - void sort() - { this->sort(std::less()); } - - //! Requires: p must be a comparison function that induces a strict weak - //! ordering and both *this and x must be sorted according to that ordering - //! The lists x and *this must be distinct. - //! - //! Effects: This function removes all of x's elements and inserts them - //! in order into *this. The merge is stable; that is, if an element from *this is - //! equivalent to one from x, then the element from *this will precede the one from x. - //! - //! Returns: Nothing. - //! - //! Throws: If the predicate throws. Basic guarantee. - //! - //! Complexity: This function is linear time: it performs at most - //! size() + x.size() - 1 comparisons. - //! - //! Note: Iterators and references are not invalidated. - //! - //! Additional note: If optional "l" argument is passed, it is assigned - //! to an iterator to the last transferred value or end() is x is empty. - template - void merge(slist_impl& x, Predicate p, const_iterator *l = 0) - { - const_iterator e(this->cend()), ex(x.cend()), bb(this->cbefore_begin()), - bb_next; - if(l) *l = e.unconst(); - while(!x.empty()){ - const_iterator ibx_next(x.cbefore_begin()), ibx(ibx_next++); - while (++(bb_next = bb) != e && !p(*ibx_next, *bb_next)){ - bb = bb_next; - } - if(bb_next == e){ - //Now transfer the rest to the end of the container - this->splice_after(bb, x, l); - break; - } - else{ - size_type n(0); - do{ - ibx = ibx_next; ++n; - } while(++(ibx_next = ibx) != ex && p(*ibx_next, *bb_next)); - this->splice_after(bb, x, x.before_begin(), ibx, n); - if(l) *l = ibx; - } - } - } - - //! Effects: This function removes all of x's elements and inserts them - //! in order into *this according to std::less. The merge is stable; - //! that is, if an element from *this is equivalent to one from x, then the element - //! from *this will precede the one from x. - //! - //! Throws: if std::less throws. Basic guarantee. - //! - //! Complexity: This function is linear time: it performs at most - //! size() + x.size() - 1 comparisons. - //! - //! Note: Iterators and references are not invalidated - void merge(slist_impl& x) - { this->merge(x, std::less()); } - - //! Effects: Reverses the order of elements in the list. - //! - //! Throws: Nothing. - //! - //! Complexity: This function is linear to the contained elements. - //! - //! Note: Iterators and references are not invalidated - void reverse() - { - if(cache_last && !this->empty()){ - this->set_last_node(node_traits::get_next(this->get_root_node())); - } - this->priv_reverse(detail::bool_()); - } - - //! Effects: Removes all the elements that compare equal to value. - //! No destructors are called. - //! - //! Throws: If std::equal_to throws. Basic guarantee. - //! - //! Complexity: Linear time. It performs exactly size() comparisons for equality. - //! - //! Note: The relative order of elements that are not removed is unchanged, - //! and iterators to elements that are not removed remain valid. This function is - //! linear time: it performs exactly size() comparisons for equality. - void remove(const_reference value) - { this->remove_if(detail::equal_to_value(value)); } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Removes all the elements that compare equal to value. - //! Disposer::operator()(pointer) is called for every removed element. - //! - //! Throws: If std::equal_to throws. Basic guarantee. - //! - //! Complexity: Linear time. It performs exactly size() comparisons for equality. - //! - //! Note: The relative order of elements that are not removed is unchanged, - //! and iterators to elements that are not removed remain valid. - template - void remove_and_dispose(const_reference value, Disposer disposer) - { this->remove_and_dispose_if(detail::equal_to_value(value), disposer); } - - //! Effects: Removes all the elements for which a specified - //! predicate is satisfied. No destructors are called. - //! - //! Throws: If pred throws. Basic guarantee. - //! - //! Complexity: Linear time. It performs exactly size() calls to the predicate. - //! - //! Note: The relative order of elements that are not removed is unchanged, - //! and iterators to elements that are not removed remain valid. - template - void remove_if(Pred pred) - { this->remove_and_dispose_if(pred, detail::null_disposer()); } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Removes all the elements for which a specified - //! predicate is satisfied. - //! Disposer::operator()(pointer) is called for every removed element. - //! - //! Throws: If pred throws. Basic guarantee. - //! - //! Complexity: Linear time. It performs exactly size() comparisons for equality. - //! - //! Note: The relative order of elements that are not removed is unchanged, - //! and iterators to elements that are not removed remain valid. - template - void remove_and_dispose_if(Pred pred, Disposer disposer) - { - const_iterator bcur(this->before_begin()), cur(this->begin()), e(this->end()); - - while(cur != e){ - if (pred(*cur)){ - cur = this->erase_after_and_dispose(bcur, disposer); - } - else{ - bcur = cur; - ++cur; - } - } - if(cache_last){ - this->set_last_node(bcur.pointed_node()); - } - } - - //! Effects: Removes adjacent duplicate elements or adjacent - //! elements that are equal from the list. No destructors are called. - //! - //! Throws: If std::equal_to throws. Basic guarantee. - //! - //! Complexity: Linear time (size()-1) comparisons calls to pred()). - //! - //! Note: The relative order of elements that are not removed is unchanged, - //! and iterators to elements that are not removed remain valid. - void unique() - { this->unique_and_dispose(std::equal_to(), detail::null_disposer()); } - - //! Effects: Removes adjacent duplicate elements or adjacent - //! elements that satisfy some binary predicate from the list. - //! No destructors are called. - //! - //! Throws: If the predicate throws. Basic guarantee. - //! - //! Complexity: Linear time (size()-1) comparisons equality comparisons. - //! - //! Note: The relative order of elements that are not removed is unchanged, - //! and iterators to elements that are not removed remain valid. - template - void unique(BinaryPredicate pred) - { this->unique_and_dispose(pred, detail::null_disposer()); } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Removes adjacent duplicate elements or adjacent - //! elements that satisfy some binary predicate from the list. - //! Disposer::operator()(pointer) is called for every removed element. - //! - //! Throws: If std::equal_to throws. Basic guarantee. - //! - //! Complexity: Linear time (size()-1) comparisons equality comparisons. - //! - //! Note: The relative order of elements that are not removed is unchanged, - //! and iterators to elements that are not removed remain valid. - template - void unique_and_dispose(Disposer disposer) - { this->unique(std::equal_to(), disposer); } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Removes adjacent duplicate elements or adjacent - //! elements that satisfy some binary predicate from the list. - //! Disposer::operator()(pointer) is called for every removed element. - //! - //! Throws: If the predicate throws. Basic guarantee. - //! - //! Complexity: Linear time (size()-1) comparisons equality comparisons. - //! - //! Note: The relative order of elements that are not removed is unchanged, - //! and iterators to elements that are not removed remain valid. - template - void unique_and_dispose(BinaryPredicate pred, Disposer disposer) - { - const_iterator end_n(this->cend()); - const_iterator bcur(this->cbegin()); - if(bcur != end_n){ - const_iterator cur(bcur); - ++cur; - while(cur != end_n) { - if (pred(*bcur, *cur)){ - cur = this->erase_after_and_dispose(bcur, disposer); - } - else{ - bcur = cur; - ++cur; - } - } - if(cache_last){ - this->set_last_node(bcur.pointed_node()); - } - } - } - - //! Requires: value must be a reference to a value inserted in a list. - //! - //! Effects: This function returns a const_iterator pointing to the element - //! - //! Throws: Nothing. - //! - //! Complexity: Constant time. - //! - //! Note: Iterators and references are not invalidated. - //! This static function is available only if the value traits - //! is stateless. - static iterator s_iterator_to(reference value) - { - BOOST_STATIC_ASSERT((!stateful_value_traits)); - return iterator (value_traits::to_node_ptr(value), const_value_traits_ptr()); - } - - //! Requires: value must be a const reference to a value inserted in a list. - //! - //! Effects: This function returns an iterator pointing to the element. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant time. - //! - //! Note: Iterators and references are not invalidated. - //! This static function is available only if the value traits - //! is stateless. - static const_iterator s_iterator_to(const_reference value) - { - BOOST_STATIC_ASSERT((!stateful_value_traits)); - reference r =*pointer_traits::const_cast_from(pointer_traits::pointer_to(value)); - return const_iterator(value_traits::to_node_ptr(r), const_value_traits_ptr()); - } - - //! Requires: value must be a reference to a value inserted in a list. - //! - //! Effects: This function returns a const_iterator pointing to the element - //! - //! Throws: Nothing. - //! - //! Complexity: Constant time. - //! - //! Note: Iterators and references are not invalidated. - iterator iterator_to(reference value) - { - BOOST_INTRUSIVE_INVARIANT_ASSERT(linear || !node_algorithms::inited(this->priv_value_traits().to_node_ptr(value))); - return iterator (this->priv_value_traits().to_node_ptr(value), this->priv_value_traits_ptr()); - } - - //! Requires: value must be a const reference to a value inserted in a list. - //! - //! Effects: This function returns an iterator pointing to the element. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant time. - //! - //! Note: Iterators and references are not invalidated. - const_iterator iterator_to(const_reference value) const - { - reference r =*pointer_traits::const_cast_from(pointer_traits::pointer_to(value)); - BOOST_INTRUSIVE_INVARIANT_ASSERT (linear || !node_algorithms::inited(this->priv_value_traits().to_node_ptr(r))); - return const_iterator(this->priv_value_traits().to_node_ptr(r), this->priv_value_traits_ptr()); - } - - //! Returns: The iterator to the element before i in the list. - //! Returns the end-iterator, if either i is the begin-iterator or the - //! list is empty. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements before i. - //! Constant if cache_last<> is true and i == end(). - iterator previous(iterator i) - { return this->previous(this->cbefore_begin(), i); } - - //! Returns: The const_iterator to the element before i in the list. - //! Returns the end-const_iterator, if either i is the begin-const_iterator or - //! the list is empty. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements before i. - //! Constant if cache_last<> is true and i == end(). - const_iterator previous(const_iterator i) const - { return this->previous(this->cbefore_begin(), i); } - - //! Returns: The iterator to the element before i in the list, - //! starting the search on element after prev_from. - //! Returns the end-iterator, if either i is the begin-iterator or the - //! list is empty. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements before i. - //! Constant if cache_last<> is true and i == end(). - iterator previous(const_iterator prev_from, iterator i) - { return this->previous(prev_from, const_iterator(i)).unconst(); } - - //! Returns: The const_iterator to the element before i in the list, - //! starting the search on element after prev_from. - //! Returns the end-const_iterator, if either i is the begin-const_iterator or - //! the list is empty. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements before i. - //! Constant if cache_last<> is true and i == end(). - const_iterator previous(const_iterator prev_from, const_iterator i) const - { - if(cache_last && (i.pointed_node() == this->get_end_node())){ - return const_iterator(detail::uncast(this->get_last_node()), this->priv_value_traits_ptr()); - } - return const_iterator - (node_algorithms::get_previous_node - (prev_from.pointed_node(), i.pointed_node()), this->priv_value_traits_ptr()); - } - - ///@cond - - //! Requires: prev_pos must be a dereferenceable iterator in *this or be - //! before_begin(), and f and before_l belong to another slist. - //! - //! Effects: Transfers the range [f, before_l] to this - //! list, after the element pointed by prev_pos. - //! No destructors or copy constructors are called. - //! - //! Throws: Nothing. - //! - //! Complexity: Linear to the number of elements transferred - //! if constant_time_size is true. Constant-time otherwise. - //! - //! Note: Iterators of values obtained from the list that owned f and before_l now - //! point to elements of this list. Iterators of this list and all the references are not invalidated. - //! - //! Warning: Experimental function, don't use it! - void incorporate_after(const_iterator prev_pos, const node_ptr & f, const node_ptr & before_l) - { - if(constant_time_size) - this->incorporate_after(prev_pos, f, before_l, std::distance(f, before_l)+1); - else - this->priv_incorporate_after(prev_pos.pointed_node(), f, before_l); - } - - //! Requires: prev_pos must be a dereferenceable iterator in *this or be - //! before_begin(), and f and before_l belong to another slist. - //! n == std::distance(f, before_l) + 1. - //! - //! Effects: Transfers the range [f, before_l] to this - //! list, after the element pointed by prev_pos. - //! No destructors or copy constructors are called. - //! - //! Throws: Nothing. - //! - //! Complexity: Constant time. - //! - //! Note: Iterators of values obtained from the list that owned f and before_l now - //! point to elements of this list. Iterators of this list and all the references are not invalidated. - //! - //! Warning: Experimental function, don't use it! - void incorporate_after(const_iterator prev_pos, const node_ptr & f, const node_ptr & before_l, size_type n) - { - if(n){ - BOOST_INTRUSIVE_INVARIANT_ASSERT(n > 0); - BOOST_INTRUSIVE_INVARIANT_ASSERT - (size_type(std::distance - ( iterator(f, this->priv_value_traits_ptr()) - , iterator(before_l, this->priv_value_traits_ptr()))) - +1 == n); - this->priv_incorporate_after(prev_pos.pointed_node(), f, before_l); - if(constant_time_size){ - this->priv_size_traits().increase(n); - } - } - } - - ///@endcond - - private: - void priv_splice_after(const node_ptr & prev_pos_n, slist_impl &x, const node_ptr & before_f_n, const node_ptr & before_l_n) - { - if (cache_last && (before_f_n != before_l_n)){ - if(prev_pos_n == this->get_last_node()){ - this->set_last_node(before_l_n); - } - if(&x != this && node_traits::get_next(before_l_n) == x.get_end_node()){ - x.set_last_node(before_f_n); - } - } - node_algorithms::transfer_after(prev_pos_n, before_f_n, before_l_n); - } - - void priv_incorporate_after(const node_ptr & prev_pos_n, const node_ptr & first_n, const node_ptr & before_l_n) - { - if(cache_last){ - if(prev_pos_n == this->get_last_node()){ - this->set_last_node(before_l_n); - } - } - node_algorithms::incorporate_after(prev_pos_n, first_n, before_l_n); - } - - void priv_reverse(detail::bool_) - { node_algorithms::reverse(this->get_root_node()); } - - void priv_reverse(detail::bool_) - { - node_ptr new_first = node_algorithms::reverse - (node_traits::get_next(this->get_root_node())); - node_traits::set_next(this->get_root_node(), new_first); - } - - void priv_shift_backwards(size_type n, detail::bool_) - { - node_ptr l = node_algorithms::move_forward(this->get_root_node(), (std::size_t)n); - if(cache_last && l){ - this->set_last_node(l); - } - } - - void priv_shift_backwards(size_type n, detail::bool_) - { - std::pair ret( - node_algorithms::move_first_n_forward - (node_traits::get_next(this->get_root_node()), (std::size_t)n)); - if(ret.first){ - node_traits::set_next(this->get_root_node(), ret.first); - if(cache_last){ - this->set_last_node(ret.second); - } - } - } - - void priv_shift_forward(size_type n, detail::bool_) - { - node_ptr l = node_algorithms::move_backwards(this->get_root_node(), (std::size_t)n); - if(cache_last && l){ - this->set_last_node(l); - } - } - - void priv_shift_forward(size_type n, detail::bool_) - { - std::pair ret( - node_algorithms::move_first_n_backwards - (node_traits::get_next(this->get_root_node()), (std::size_t)n)); - if(ret.first){ - node_traits::set_next(this->get_root_node(), ret.first); - if(cache_last){ - this->set_last_node(ret.second); - } - } - } - - static void priv_swap_cache_last(slist_impl *this_impl, slist_impl *other_impl) - { - bool other_was_empty = false; - if(this_impl->empty()){ - //Check if both are empty or - if(other_impl->empty()) - return; - //If this is empty swap pointers - slist_impl *tmp = this_impl; - this_impl = other_impl; - other_impl = tmp; - other_was_empty = true; - } - else{ - other_was_empty = other_impl->empty(); - } - - //Precondition: this is not empty - node_ptr other_old_last(other_impl->get_last_node()); - node_ptr other_bfirst(other_impl->get_root_node()); - node_ptr this_bfirst(this_impl->get_root_node()); - node_ptr this_old_last(this_impl->get_last_node()); - - //Move all nodes from this to other's beginning - node_algorithms::transfer_after(other_bfirst, this_bfirst, this_old_last); - other_impl->set_last_node(this_old_last); - - if(other_was_empty){ - this_impl->set_last_node(this_bfirst); - } - else{ - //Move trailing nodes from other to this - node_algorithms::transfer_after(this_bfirst, this_old_last, other_old_last); - this_impl->set_last_node(other_old_last); - } - } - - //circular version - static void priv_swap_lists(const node_ptr & this_node, const node_ptr & other_node, detail::bool_) - { node_algorithms::swap_nodes(this_node, other_node); } - - //linear version - static void priv_swap_lists(const node_ptr & this_node, const node_ptr & other_node, detail::bool_) - { node_algorithms::swap_trailing_nodes(this_node, other_node); } - - static slist_impl &priv_container_from_end_iterator(const const_iterator &end_iterator) - { - //Obtaining the container from the end iterator is not possible with linear - //singly linked lists (because "end" is represented by the null pointer) - BOOST_STATIC_ASSERT(!linear); - BOOST_STATIC_ASSERT((has_container_from_iterator)); - node_ptr p = end_iterator.pointed_node(); - header_holder_type* h = header_holder_type::get_holder(p); - header_holder_plus_last_t* hpl = detail::parent_from_member< header_holder_plus_last_t, header_holder_type> - (h, &header_holder_plus_last_t::header_holder_); - root_plus_size* r = static_cast< root_plus_size* >(hpl); - data_t *d = detail::parent_from_member - ( r, &data_t::root_plus_size_); - slist_impl *s = detail::parent_from_member(d, &slist_impl::data_); - return *s; - } -}; - -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -template -#else -template -#endif -inline bool operator< -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -(const slist_impl &x, const slist_impl &y) -#else -( const slist_impl &x -, const slist_impl &y) -#endif -{ return std::lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); } - -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -template -#else -template -#endif -bool operator== -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -(const slist_impl &x, const slist_impl &y) -#else -( const slist_impl &x -, const slist_impl &y) -#endif -{ - typedef slist_impl slist_type; - typedef typename slist_type::const_iterator const_iterator; - const bool C = slist_type::constant_time_size; - if(C && x.size() != y.size()){ - return false; - } - const_iterator end1 = x.end(); - - const_iterator i1 = x.begin(); - const_iterator i2 = y.begin(); - if(C){ - while (i1 != end1 && *i1 == *i2) { - ++i1; - ++i2; - } - return i1 == end1; - } - else{ - const_iterator end2 = y.end(); - while (i1 != end1 && i2 != end2 && *i1 == *i2) { - ++i1; - ++i2; - } - return i1 == end1 && i2 == end2; - } -} - -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -template -#else -template -#endif -inline bool operator!= -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -(const slist_impl &x, const slist_impl &y) -#else -( const slist_impl &x -, const slist_impl &y) -#endif -{ return !(x == y); } - -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -template -#else -template -#endif -inline bool operator> -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -(const slist_impl &x, const slist_impl &y) -#else -( const slist_impl &x -, const slist_impl &y) -#endif -{ return y < x; } - -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -template -#else -template -#endif -inline bool operator<= -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -(const slist_impl &x, const slist_impl &y) -#else -( const slist_impl &x -, const slist_impl &y) -#endif -{ return !(y < x); } - -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -template -#else -template -#endif -inline bool operator>= -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -(const slist_impl &x, const slist_impl &y) -#else -( const slist_impl &x -, const slist_impl &y) -#endif -{ return !(x < y); } - -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -template -#else -template -#endif -inline void swap -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -(slist_impl &x, slist_impl &y) -#else -( slist_impl &x -, slist_impl &y) -#endif -{ x.swap(y); } - -//! Helper metafunction to define a \c slist 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 -#else -template -#endif -struct make_slist -{ - /// @cond - typedef typename pack_options - < slist_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 - ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; - typedef slist_impl - < value_traits - , typename packed_options::size_type - , (std::size_t(packed_options::linear)*slist_bool_flags::linear_pos) - |(std::size_t(packed_options::constant_time_size)*slist_bool_flags::constant_time_size_pos) - |(std::size_t(packed_options::cache_last)*slist_bool_flags::cache_last_pos) - , header_holder_type - > implementation_defined; - /// @endcond - typedef implementation_defined type; -}; - - -#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED - -#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) -template -#else -template -#endif -class slist - : public make_slist::type -{ - typedef typename make_slist - ::type Base; - //Assert if passed value traits are compatible with the type - BOOST_STATIC_ASSERT((detail::is_same::value)); - BOOST_MOVABLE_BUT_NOT_COPYABLE(slist) - - public: - typedef typename Base::value_traits value_traits; - typedef typename Base::iterator iterator; - typedef typename Base::const_iterator const_iterator; - typedef typename Base::size_type size_type; - typedef typename Base::node_ptr node_ptr; - - explicit slist(const value_traits &v_traits = value_traits()) - : Base(v_traits) - {} - - struct incorporate_t{}; - - slist( const node_ptr & f, const node_ptr & before_l - , size_type n, const value_traits &v_traits = value_traits()) - : Base(f, before_l, n, v_traits) - {} - - template - slist(Iterator b, Iterator e, const value_traits &v_traits = value_traits()) - : Base(b, e, v_traits) - {} - - slist(BOOST_RV_REF(slist) x) - : Base(::boost::move(static_cast(x))) - {} - - slist& operator=(BOOST_RV_REF(slist) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } - - static slist &container_from_end_iterator(iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } - - static const slist &container_from_end_iterator(const_iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } -}; - -#endif - -} //namespace intrusive -} //namespace boost - -#include - -#endif //BOOST_INTRUSIVE_SLIST_HPP diff --git a/bundled/boost-1.56.0/include/boost/intrusive/splay_set.hpp b/bundled/boost-1.56.0/include/boost/intrusive/splay_set.hpp deleted file mode 100644 index ee916796fd..0000000000 --- a/bundled/boost-1.56.0/include/boost/intrusive/splay_set.hpp +++ /dev/null @@ -1,983 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2007-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_SPLAY_SET_HPP -#define BOOST_INTRUSIVE_SPLAY_SET_HPP - -#include -#include -#include -#include -#include -#include - -namespace boost { -namespace intrusive { - -//! The class template splay_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 -#else -template -#endif -class splay_set_impl -#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED - : public splaytree_impl -#endif -{ - /// @cond - typedef splaytree_impl tree_type; - BOOST_MOVABLE_BUT_NOT_COPYABLE(splay_set_impl) - - typedef tree_type implementation_defined; - /// @endcond - - public: - typedef typename implementation_defined::value_type value_type; - 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::splaytree::splaytree(const value_compare &,const value_traits &) - explicit splay_set_impl( const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : tree_type(cmp, v_traits) - {} - - //! @copydoc ::boost::intrusive::splaytree::splaytree(bool,Iterator,Iterator,const value_compare &,const value_traits &) - template - splay_set_impl( Iterator b, Iterator e - , const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : tree_type(true, b, e, cmp, v_traits) - {} - - //! @copydoc ::boost::intrusive::splaytree::splaytree(splaytree &&) - splay_set_impl(BOOST_RV_REF(splay_set_impl) x) - : tree_type(::boost::move(static_cast(x))) - {} - - //! @copydoc ::boost::intrusive::splaytree::operator=(splaytree &&) - splay_set_impl& operator=(BOOST_RV_REF(splay_set_impl) x) - { return static_cast(tree_type::operator=(::boost::move(static_cast(x)))); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - //! @copydoc ::boost::intrusive::splaytree::~splaytree() - ~splay_set_impl(); - - //! @copydoc ::boost::intrusive::splaytree::begin() - iterator begin(); - - //! @copydoc ::boost::intrusive::splaytree::begin()const - const_iterator begin() const; - - //! @copydoc ::boost::intrusive::splaytree::cbegin()const - const_iterator cbegin() const; - - //! @copydoc ::boost::intrusive::splaytree::end() - iterator end(); - - //! @copydoc ::boost::intrusive::splaytree::end()const - const_iterator end() const; - - //! @copydoc ::boost::intrusive::splaytree::cend()const - const_iterator cend() const; - - //! @copydoc ::boost::intrusive::splaytree::rbegin() - reverse_iterator rbegin(); - - //! @copydoc ::boost::intrusive::splaytree::rbegin()const - const_reverse_iterator rbegin() const; - - //! @copydoc ::boost::intrusive::splaytree::crbegin()const - const_reverse_iterator crbegin() const; - - //! @copydoc ::boost::intrusive::splaytree::rend() - reverse_iterator rend(); - - //! @copydoc ::boost::intrusive::splaytree::rend()const - const_reverse_iterator rend() const; - - //! @copydoc ::boost::intrusive::splaytree::crend()const - const_reverse_iterator crend() const; - - //! @copydoc ::boost::intrusive::splaytree::container_from_end_iterator(iterator) - static splay_set_impl &container_from_end_iterator(iterator end_iterator); - - //! @copydoc ::boost::intrusive::splaytree::container_from_end_iterator(const_iterator) - static const splay_set_impl &container_from_end_iterator(const_iterator end_iterator); - - //! @copydoc ::boost::intrusive::splaytree::container_from_iterator(iterator) - static splay_set_impl &container_from_iterator(iterator it); - - //! @copydoc ::boost::intrusive::splaytree::container_from_iterator(const_iterator) - static const splay_set_impl &container_from_iterator(const_iterator it); - - //! @copydoc ::boost::intrusive::splaytree::key_comp()const - key_compare key_comp() const; - - //! @copydoc ::boost::intrusive::splaytree::value_comp()const - value_compare value_comp() const; - - //! @copydoc ::boost::intrusive::splaytree::empty()const - bool empty() const; - - //! @copydoc ::boost::intrusive::splaytree::size()const - size_type size() const; - - //! @copydoc ::boost::intrusive::splaytree::swap - void swap(splay_set_impl& other); - - //! @copydoc ::boost::intrusive::splaytree::clone_from - template - void clone_from(const splay_set_impl &src, Cloner cloner, Disposer disposer); - - #endif //#ifdef BOOST_iNTRUSIVE_DOXYGEN_INVOKED - - //! @copydoc ::boost::intrusive::splaytree::insert_unique(reference) - std::pair insert(reference value) - { return tree_type::insert_unique(value); } - - //! @copydoc ::boost::intrusive::splaytree::insert_unique(const_iterator,reference) - iterator insert(const_iterator hint, reference value) - { return tree_type::insert_unique(hint, value); } - - //! @copydoc ::boost::intrusive::splaytree::insert_unique_check(const KeyType&,KeyValueCompare,insert_commit_data&) - template - std::pair insert_check - (const KeyType &key, KeyValueCompare key_value_comp, insert_commit_data &commit_data) - { return tree_type::insert_unique_check(key, key_value_comp, commit_data); } - - //! @copydoc ::boost::intrusive::splaytree::insert_unique_check(const_iterator,const KeyType&,KeyValueCompare,insert_commit_data&) - template - std::pair insert_check - (const_iterator hint, const KeyType &key - ,KeyValueCompare key_value_comp, insert_commit_data &commit_data) - { return tree_type::insert_unique_check(hint, key, key_value_comp, commit_data); } - - //! @copydoc ::boost::intrusive::splaytree::insert_unique(Iterator,Iterator) - template - void insert(Iterator b, Iterator e) - { tree_type::insert_unique(b, e); } - - //! @copydoc ::boost::intrusive::splaytree::insert_unique_commit - iterator insert_commit(reference value, const insert_commit_data &commit_data) - { return tree_type::insert_unique_commit(value, commit_data); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - //! @copydoc ::boost::intrusive::splaytree::insert_before - iterator insert_before(const_iterator pos, reference value); - - //! @copydoc ::boost::intrusive::splaytree::push_back - void push_back(reference value); - - //! @copydoc ::boost::intrusive::splaytree::push_front - void push_front(reference value); - - //! @copydoc ::boost::intrusive::splaytree::erase(const_iterator) - iterator erase(const_iterator i); - - //! @copydoc ::boost::intrusive::splaytree::erase(const_iterator,const_iterator) - iterator erase(const_iterator b, const_iterator e); - - //! @copydoc ::boost::intrusive::splaytree::erase(const_reference) - size_type erase(const_reference value); - - //! @copydoc ::boost::intrusive::splaytree::erase(const KeyType&,KeyValueCompare) - template - size_type erase(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::splaytree::erase_and_dispose(const_iterator,Disposer) - template - iterator erase_and_dispose(const_iterator i, Disposer disposer); - - //! @copydoc ::boost::intrusive::splaytree::erase_and_dispose(const_iterator,const_iterator,Disposer) - template - iterator erase_and_dispose(const_iterator b, const_iterator e, Disposer disposer); - - //! @copydoc ::boost::intrusive::splaytree::erase_and_dispose(const_reference, Disposer) - template - size_type erase_and_dispose(const_reference value, Disposer disposer); - - //! @copydoc ::boost::intrusive::splaytree::erase_and_dispose(const KeyType&,KeyValueCompare,Disposer) - template - size_type erase_and_dispose(const KeyType& key, KeyValueCompare comp, Disposer disposer); - - //! @copydoc ::boost::intrusive::splaytree::clear - void clear(); - - //! @copydoc ::boost::intrusive::splaytree::clear_and_dispose - template - void clear_and_dispose(Disposer disposer); - - #endif // #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! @copydoc ::boost::intrusive::splaytree::count(const_reference)const - size_type count(const_reference value) const - { return static_cast(this->tree_type::find(value) != this->tree_type::cend()); } - - //! @copydoc ::boost::intrusive::splaytree::count(const KeyType&,KeyValueCompare)const - template - size_type count(const KeyType& key, KeyValueCompare comp) const - { return static_cast(this->tree_type::find(key, comp) != this->tree_type::cend()); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! @copydoc ::boost::intrusive::splaytree::count(const_reference)const - size_type count(const_reference value) const; - - //! @copydoc ::boost::intrusive::splaytree::count(const KeyType&,KeyValueCompare)const - template - size_type count(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::splaytree::lower_bound(const_reference) - iterator lower_bound(const_reference value); - - //! @copydoc ::boost::intrusive::splaytree::lower_bound(const KeyType&,KeyValueCompare) - template - iterator lower_bound(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::splaytree::lower_bound(const_reference)const - const_iterator lower_bound(const_reference value) const; - - //! @copydoc ::boost::intrusive::splaytree::lower_bound(const KeyType&,KeyValueCompare)const - template - const_iterator lower_bound(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::splaytree::upper_bound(const_reference) - iterator upper_bound(const_reference value); - - //! @copydoc ::boost::intrusive::splaytree::upper_bound(const KeyType&,KeyValueCompare) - template - iterator upper_bound(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::splaytree::upper_bound(const_reference)const - const_iterator upper_bound(const_reference value) const; - - //! @copydoc ::boost::intrusive::splaytree::upper_bound(const KeyType&,KeyValueCompare)const - template - const_iterator upper_bound(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::splaytree::find(const_reference) - iterator find(const_reference value); - - //! @copydoc ::boost::intrusive::splaytree::find(const KeyType&,KeyValueCompare) - template - iterator find(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::splaytree::find(const_reference)const - const_iterator find(const_reference value) const; - - //! @copydoc ::boost::intrusive::splaytree::find(const KeyType&,KeyValueCompare)const - template - const_iterator find(const KeyType& key, KeyValueCompare comp) const; - - #endif // #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! @copydoc ::boost::intrusive::rbtree::equal_range(const_reference) - std::pair equal_range(const_reference value) - { return this->tree_type::lower_bound_range(value); } - - //! @copydoc ::boost::intrusive::rbtree::equal_range(const KeyType&,KeyValueCompare) - template - std::pair equal_range(const KeyType& key, KeyValueCompare comp) - { return this->tree_type::lower_bound_range(key, comp); } - - //! @copydoc ::boost::intrusive::rbtree::equal_range(const_reference)const - std::pair - equal_range(const_reference value) const - { return this->tree_type::lower_bound_range(value); } - - //! @copydoc ::boost::intrusive::rbtree::equal_range(const KeyType&,KeyValueCompare)const - template - std::pair - equal_range(const KeyType& key, KeyValueCompare comp) const - { return this->tree_type::lower_bound_range(key, comp); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! @copydoc ::boost::intrusive::splaytree::bounded_range(const_reference,const_reference,bool,bool) - std::pair bounded_range - (const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed); - - //! @copydoc ::boost::intrusive::splaytree::bounded_range(const KeyType&,const KeyType&,KeyValueCompare,bool,bool) - template - std::pair bounded_range - (const KeyType& lower_key, const KeyType& upper_key, KeyValueCompare comp, bool left_closed, bool right_closed); - - //! @copydoc ::boost::intrusive::splaytree::bounded_range(const_reference,const_reference,bool,bool)const - std::pair bounded_range - (const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed) const; - - //! @copydoc ::boost::intrusive::splaytree::bounded_range(const KeyType&,const KeyType&,KeyValueCompare,bool,bool)const - template - std::pair bounded_range - (const KeyType& lower_key, const KeyType& upper_key, KeyValueCompare comp, bool left_closed, bool right_closed) const; - - //! @copydoc ::boost::intrusive::splaytree::s_iterator_to(reference) - static iterator s_iterator_to(reference value); - - //! @copydoc ::boost::intrusive::splaytree::s_iterator_to(const_reference) - static const_iterator s_iterator_to(const_reference value); - - //! @copydoc ::boost::intrusive::splaytree::iterator_to(reference) - iterator iterator_to(reference value); - - //! @copydoc ::boost::intrusive::splaytree::iterator_to(const_reference)const - const_iterator iterator_to(const_reference value) const; - - //! @copydoc ::boost::intrusive::splaytree::init_node(reference) - static void init_node(reference value); - - //! @copydoc ::boost::intrusive::splaytree::unlink_leftmost_without_rebalance - pointer unlink_leftmost_without_rebalance(); - - //! @copydoc ::boost::intrusive::splaytree::replace_node - void replace_node(iterator replace_this, reference with_this); - - //! @copydoc ::boost::intrusive::splaytree::remove_node - void remove_node(reference value); - - //! @copydoc ::boost::intrusive::splaytree::splay_up(iterator) - void splay_up(iterator i); - - //! @copydoc ::boost::intrusive::splaytree::splay_down(const KeyType&,KeyValueCompare) - template - iterator splay_down(const KeyType &key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::splaytree::splay_down(const_reference) - iterator splay_down(const_reference value); - - //! @copydoc ::boost::intrusive::splaytree::rebalance - void rebalance(); - - //! @copydoc ::boost::intrusive::splaytree::rebalance_subtree - iterator rebalance_subtree(iterator root); - #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED -}; - -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - -template -bool operator!= (const splay_set_impl &x, const splay_set_impl &y); - -template -bool operator>(const splay_set_impl &x, const splay_set_impl &y); - -template -bool operator<=(const splay_set_impl &x, const splay_set_impl &y); - -template -bool operator>=(const splay_set_impl &x, const splay_set_impl &y); - -template -void swap(splay_set_impl &x, splay_set_impl &y); - -#endif //#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - -//! Helper metafunction to define a \c splay_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 -#else -template -#endif -struct make_splay_set -{ - /// @cond - typedef typename pack_options - < splaytree_defaults, - #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) - O1, O2, O3, O4, O5 - #else - Options... - #endif - >::type packed_options; - - typedef typename detail::get_value_traits - ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; - - typedef splay_set_impl - < value_traits - , typename packed_options::compare - , typename packed_options::size_type - , packed_options::constant_time_size - , header_holder_type - > implementation_defined; - /// @endcond - typedef implementation_defined type; -}; - -#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED -#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) -template -#else -template -#endif -class splay_set - : public make_splay_set::type -{ - typedef typename make_splay_set - ::type Base; - - BOOST_MOVABLE_BUT_NOT_COPYABLE(splay_set) - public: - typedef typename Base::value_compare value_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::value)); - - explicit splay_set( const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : Base(cmp, v_traits) - {} - - template - splay_set( Iterator b, Iterator e - , const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : Base(b, e, cmp, v_traits) - {} - - splay_set(BOOST_RV_REF(splay_set) x) - : Base(::boost::move(static_cast(x))) - {} - - splay_set& operator=(BOOST_RV_REF(splay_set) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } - - static splay_set &container_from_end_iterator(iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } - - static const splay_set &container_from_end_iterator(const_iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } - - static splay_set &container_from_iterator(iterator it) - { return static_cast(Base::container_from_iterator(it)); } - - static const splay_set &container_from_iterator(const_iterator it) - { return static_cast(Base::container_from_iterator(it)); } -}; - -#endif - -//! The class template splay_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 -#else -template -#endif -class splay_multiset_impl -#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED - : public splaytree_impl -#endif -{ - /// @cond - typedef splaytree_impl tree_type; - - BOOST_MOVABLE_BUT_NOT_COPYABLE(splay_multiset_impl) - typedef tree_type implementation_defined; - /// @endcond - - public: - typedef typename implementation_defined::value_type value_type; - 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::splaytree::splaytree(const value_compare &,const value_traits &) - explicit splay_multiset_impl( const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : tree_type(cmp, v_traits) - {} - - //! @copydoc ::boost::intrusive::splaytree::splaytree(bool,Iterator,Iterator,const value_compare &,const value_traits &) - template - splay_multiset_impl( Iterator b, Iterator e - , const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : tree_type(false, b, e, cmp, v_traits) - {} - - //! @copydoc ::boost::intrusive::splaytree::splaytree(splaytree &&) - splay_multiset_impl(BOOST_RV_REF(splay_multiset_impl) x) - : tree_type(::boost::move(static_cast(x))) - {} - - //! @copydoc ::boost::intrusive::splaytree::operator=(splaytree &&) - splay_multiset_impl& operator=(BOOST_RV_REF(splay_multiset_impl) x) - { return static_cast(tree_type::operator=(::boost::move(static_cast(x)))); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - //! @copydoc ::boost::intrusive::splaytree::~splaytree() - ~splay_multiset_impl(); - - //! @copydoc ::boost::intrusive::splaytree::begin() - iterator begin(); - - //! @copydoc ::boost::intrusive::splaytree::begin()const - const_iterator begin() const; - - //! @copydoc ::boost::intrusive::splaytree::cbegin()const - const_iterator cbegin() const; - - //! @copydoc ::boost::intrusive::splaytree::end() - iterator end(); - - //! @copydoc ::boost::intrusive::splaytree::end()const - const_iterator end() const; - - //! @copydoc ::boost::intrusive::splaytree::cend()const - const_iterator cend() const; - - //! @copydoc ::boost::intrusive::splaytree::rbegin() - reverse_iterator rbegin(); - - //! @copydoc ::boost::intrusive::splaytree::rbegin()const - const_reverse_iterator rbegin() const; - - //! @copydoc ::boost::intrusive::splaytree::crbegin()const - const_reverse_iterator crbegin() const; - - //! @copydoc ::boost::intrusive::splaytree::rend() - reverse_iterator rend(); - - //! @copydoc ::boost::intrusive::splaytree::rend()const - const_reverse_iterator rend() const; - - //! @copydoc ::boost::intrusive::splaytree::crend()const - const_reverse_iterator crend() const; - - //! @copydoc ::boost::intrusive::splaytree::container_from_end_iterator(iterator) - static splay_multiset_impl &container_from_end_iterator(iterator end_iterator); - - //! @copydoc ::boost::intrusive::splaytree::container_from_end_iterator(const_iterator) - static const splay_multiset_impl &container_from_end_iterator(const_iterator end_iterator); - - //! @copydoc ::boost::intrusive::splaytree::container_from_iterator(iterator) - static splay_multiset_impl &container_from_iterator(iterator it); - - //! @copydoc ::boost::intrusive::splaytree::container_from_iterator(const_iterator) - static const splay_multiset_impl &container_from_iterator(const_iterator it); - - //! @copydoc ::boost::intrusive::splaytree::key_comp()const - key_compare key_comp() const; - - //! @copydoc ::boost::intrusive::splaytree::value_comp()const - value_compare value_comp() const; - - //! @copydoc ::boost::intrusive::splaytree::empty()const - bool empty() const; - - //! @copydoc ::boost::intrusive::splaytree::size()const - size_type size() const; - - //! @copydoc ::boost::intrusive::splaytree::swap - void swap(splay_multiset_impl& other); - - //! @copydoc ::boost::intrusive::splaytree::clone_from - template - void clone_from(const splay_multiset_impl &src, Cloner cloner, Disposer disposer); - - #endif //#ifdef BOOST_iNTRUSIVE_DOXYGEN_INVOKED - - //! @copydoc ::boost::intrusive::splaytree::insert_equal(reference) - iterator insert(reference value) - { return tree_type::insert_equal(value); } - - //! @copydoc ::boost::intrusive::splaytree::insert_equal(const_iterator,reference) - iterator insert(const_iterator hint, reference value) - { return tree_type::insert_equal(hint, value); } - - //! @copydoc ::boost::intrusive::splaytree::insert_equal(Iterator,Iterator) - template - void insert(Iterator b, Iterator e) - { tree_type::insert_equal(b, e); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - //! @copydoc ::boost::intrusive::splaytree::insert_before - iterator insert_before(const_iterator pos, reference value); - - //! @copydoc ::boost::intrusive::splaytree::push_back - void push_back(reference value); - - //! @copydoc ::boost::intrusive::splaytree::push_front - void push_front(reference value); - - //! @copydoc ::boost::intrusive::splaytree::erase(const_iterator) - iterator erase(const_iterator i); - - //! @copydoc ::boost::intrusive::splaytree::erase(const_iterator,const_iterator) - iterator erase(const_iterator b, const_iterator e); - - //! @copydoc ::boost::intrusive::splaytree::erase(const_reference) - size_type erase(const_reference value); - - //! @copydoc ::boost::intrusive::splaytree::erase(const KeyType&,KeyValueCompare) - template - size_type erase(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::splaytree::erase_and_dispose(const_iterator,Disposer) - template - iterator erase_and_dispose(const_iterator i, Disposer disposer); - - //! @copydoc ::boost::intrusive::splaytree::erase_and_dispose(const_iterator,const_iterator,Disposer) - template - iterator erase_and_dispose(const_iterator b, const_iterator e, Disposer disposer); - - //! @copydoc ::boost::intrusive::splaytree::erase_and_dispose(const_reference, Disposer) - template - size_type erase_and_dispose(const_reference value, Disposer disposer); - - //! @copydoc ::boost::intrusive::splaytree::erase_and_dispose(const KeyType&,KeyValueCompare,Disposer) - template - size_type erase_and_dispose(const KeyType& key, KeyValueCompare comp, Disposer disposer); - - //! @copydoc ::boost::intrusive::splaytree::clear - void clear(); - - //! @copydoc ::boost::intrusive::splaytree::clear_and_dispose - template - void clear_and_dispose(Disposer disposer); - - //! @copydoc ::boost::intrusive::splaytree::count(const_reference) - size_type count(const_reference value); - - //! @copydoc ::boost::intrusive::splaytree::count(const KeyType&,KeyValueCompare)const - template - size_type count(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::splaytree::lower_bound(const_reference) - iterator lower_bound(const_reference value); - - //! @copydoc ::boost::intrusive::splaytree::lower_bound(const KeyType&,KeyValueCompare) - template - iterator lower_bound(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::splaytree::lower_bound(const_reference)const - const_iterator lower_bound(const_reference value) const; - - //! @copydoc ::boost::intrusive::splaytree::lower_bound(const KeyType&,KeyValueCompare)const - template - const_iterator lower_bound(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::splaytree::upper_bound(const_reference) - iterator upper_bound(const_reference value); - - //! @copydoc ::boost::intrusive::splaytree::upper_bound(const KeyType&,KeyValueCompare) - template - iterator upper_bound(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::splaytree::upper_bound(const_reference)const - const_iterator upper_bound(const_reference value) const; - - //! @copydoc ::boost::intrusive::splaytree::upper_bound(const KeyType&,KeyValueCompare)const - template - const_iterator upper_bound(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::splaytree::find(const_reference) - iterator find(const_reference value); - - //! @copydoc ::boost::intrusive::splaytree::find(const KeyType&,KeyValueCompare) - template - iterator find(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::splaytree::find(const_reference)const - const_iterator find(const_reference value) const; - - //! @copydoc ::boost::intrusive::splaytree::find(const KeyType&,KeyValueCompare)const - template - const_iterator find(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::splaytree::equal_range(const_reference) - std::pair equal_range(const_reference value); - - //! @copydoc ::boost::intrusive::splaytree::equal_range(const KeyType&,KeyValueCompare) - template - std::pair equal_range(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::splaytree::equal_range(const_reference)const - std::pair - equal_range(const_reference value) const; - - //! @copydoc ::boost::intrusive::splaytree::equal_range(const KeyType&,KeyValueCompare)const - template - std::pair - equal_range(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::splaytree::bounded_range(const_reference,const_reference,bool,bool) - std::pair bounded_range - (const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed); - - //! @copydoc ::boost::intrusive::splaytree::bounded_range(const KeyType&,const KeyType&,KeyValueCompare,bool,bool) - template - std::pair bounded_range - (const KeyType& lower_key, const KeyType& upper_key, KeyValueCompare comp, bool left_closed, bool right_closed); - - //! @copydoc ::boost::intrusive::splaytree::bounded_range(const_reference,const_reference,bool,bool)const - std::pair bounded_range - (const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed) const; - - //! @copydoc ::boost::intrusive::splaytree::bounded_range(const KeyType&,const KeyType&,KeyValueCompare,bool,bool)const - template - std::pair bounded_range - (const KeyType& lower_key, const KeyType& upper_key, KeyValueCompare comp, bool left_closed, bool right_closed) const; - - //! @copydoc ::boost::intrusive::splaytree::s_iterator_to(reference) - static iterator s_iterator_to(reference value); - - //! @copydoc ::boost::intrusive::splaytree::s_iterator_to(const_reference) - static const_iterator s_iterator_to(const_reference value); - - //! @copydoc ::boost::intrusive::splaytree::iterator_to(reference) - iterator iterator_to(reference value); - - //! @copydoc ::boost::intrusive::splaytree::iterator_to(const_reference)const - const_iterator iterator_to(const_reference value) const; - - //! @copydoc ::boost::intrusive::splaytree::init_node(reference) - static void init_node(reference value); - - //! @copydoc ::boost::intrusive::splaytree::unlink_leftmost_without_rebalance - pointer unlink_leftmost_without_rebalance(); - - //! @copydoc ::boost::intrusive::splaytree::replace_node - void replace_node(iterator replace_this, reference with_this); - - //! @copydoc ::boost::intrusive::splaytree::remove_node - void remove_node(reference value); - - //! @copydoc ::boost::intrusive::splaytree::splay_up(iterator) - void splay_up(iterator i); - - //! @copydoc ::boost::intrusive::splaytree::splay_down(const KeyType&,KeyValueCompare) - template - iterator splay_down(const KeyType &key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::splaytree::splay_down(const_reference) - iterator splay_down(const_reference value); - - //! @copydoc ::boost::intrusive::splaytree::rebalance - void rebalance(); - - //! @copydoc ::boost::intrusive::splaytree::rebalance_subtree - iterator rebalance_subtree(iterator root); - #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED -}; - -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - -template -bool operator!= (const splay_multiset_impl &x, const splay_multiset_impl &y); - -template -bool operator>(const splay_multiset_impl &x, const splay_multiset_impl &y); - -template -bool operator<=(const splay_multiset_impl &x, const splay_multiset_impl &y); - -template -bool operator>=(const splay_multiset_impl &x, const splay_multiset_impl &y); - -template -void swap(splay_multiset_impl &x, splay_multiset_impl &y); - -#endif //#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - -//! Helper metafunction to define a \c splay_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 -#else -template -#endif -struct make_splay_multiset -{ - /// @cond - typedef typename pack_options - < splaytree_defaults, - #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) - O1, O2, O3, O4, O5 - #else - Options... - #endif - >::type packed_options; - - typedef typename detail::get_value_traits - ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; - - typedef splay_multiset_impl - < value_traits - , typename packed_options::compare - , typename packed_options::size_type - , packed_options::constant_time_size - , header_holder_type - > implementation_defined; - /// @endcond - typedef implementation_defined type; -}; - -#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED - -#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) -template -#else -template -#endif -class splay_multiset - : public make_splay_multiset::type -{ - typedef typename make_splay_multiset::type Base; - - BOOST_MOVABLE_BUT_NOT_COPYABLE(splay_multiset) - - public: - typedef typename Base::value_compare value_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::value)); - - explicit splay_multiset( const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : Base(cmp, v_traits) - {} - - template - splay_multiset( Iterator b, Iterator e - , const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : Base(b, e, cmp, v_traits) - {} - - splay_multiset(BOOST_RV_REF(splay_multiset) x) - : Base(::boost::move(static_cast(x))) - {} - - splay_multiset& operator=(BOOST_RV_REF(splay_multiset) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } - - static splay_multiset &container_from_end_iterator(iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } - - static const splay_multiset &container_from_end_iterator(const_iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } - - static splay_multiset &container_from_iterator(iterator it) - { return static_cast(Base::container_from_iterator(it)); } - - static const splay_multiset &container_from_iterator(const_iterator it) - { return static_cast(Base::container_from_iterator(it)); } -}; - -#endif - -} //namespace intrusive -} //namespace boost - -#include - -#endif //BOOST_INTRUSIVE_SPLAY_SET_HPP diff --git a/bundled/boost-1.56.0/include/boost/intrusive/splaytree.hpp b/bundled/boost-1.56.0/include/boost/intrusive/splaytree.hpp deleted file mode 100644 index a925b68239..0000000000 --- a/bundled/boost-1.56.0/include/boost/intrusive/splaytree.hpp +++ /dev/null @@ -1,626 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2007-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_SPLAYTREE_HPP -#define BOOST_INTRUSIVE_SPLAYTREE_HPP - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { -namespace intrusive { - -/// @cond - -struct splaytree_defaults -{ - typedef detail::default_bstree_hook proto_value_traits; - static const bool constant_time_size = true; - typedef std::size_t size_type; - typedef void compare; - typedef void header_holder_type; -}; - -/// @endcond - -//! The class template splaytree is an intrusive splay tree container that -//! is used to construct intrusive splay_set and splay_multiset containers. The no-throw -//! guarantee holds only, if the value_compare object -//! doesn't throw. -//! -//! 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 -#else -template -#endif -class splaytree_impl - /// @cond - : public bstree_impl - /// @endcond -{ - public: - typedef ValueTraits value_traits; - /// @cond - typedef bstree_impl< ValueTraits, VoidOrKeyComp, SizeType - , ConstantTimeSize, SplayTreeAlgorithms - , HeaderHolder> tree_type; - typedef tree_type implementation_defined; - /// @endcond - - typedef typename implementation_defined::pointer pointer; - typedef typename implementation_defined::const_pointer const_pointer; - typedef typename implementation_defined::value_type value_type; - typedef typename implementation_defined::key_type key_type; - 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::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 = implementation_defined::constant_time_size; - /// @cond - private: - - //noncopyable - BOOST_MOVABLE_BUT_NOT_COPYABLE(splaytree_impl) - - /// @endcond - - public: - - typedef typename implementation_defined::insert_commit_data insert_commit_data; - - //! @copydoc ::boost::intrusive::bstree::bstree(const value_compare &,const value_traits &) - explicit splaytree_impl( const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : tree_type(cmp, v_traits) - {} - - //! @copydoc ::boost::intrusive::bstree::bstree(bool,Iterator,Iterator,const value_compare &,const value_traits &) - template - splaytree_impl( bool unique, Iterator b, Iterator e - , const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : tree_type(cmp, v_traits) - { - if(unique) - this->insert_unique(b, e); - else - this->insert_equal(b, e); - } - - //! @copydoc ::boost::intrusive::bstree::bstree(bstree &&) - splaytree_impl(BOOST_RV_REF(splaytree_impl) x) - : tree_type(::boost::move(static_cast(x))) - {} - - //! @copydoc ::boost::intrusive::bstree::operator=(bstree &&) - splaytree_impl& operator=(BOOST_RV_REF(splaytree_impl) x) - { return static_cast(tree_type::operator=(::boost::move(static_cast(x)))); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - //! @copydoc ::boost::intrusive::bstree::~bstree() - ~splaytree_impl(); - - //! @copydoc ::boost::intrusive::bstree::begin() - iterator begin(); - - //! @copydoc ::boost::intrusive::bstree::begin()const - const_iterator begin() const; - - //! @copydoc ::boost::intrusive::bstree::cbegin()const - const_iterator cbegin() const; - - //! @copydoc ::boost::intrusive::bstree::end() - iterator end(); - - //! @copydoc ::boost::intrusive::bstree::end()const - const_iterator end() const; - - //! @copydoc ::boost::intrusive::bstree::cend()const - const_iterator cend() const; - - //! @copydoc ::boost::intrusive::bstree::rbegin() - reverse_iterator rbegin(); - - //! @copydoc ::boost::intrusive::bstree::rbegin()const - const_reverse_iterator rbegin() const; - - //! @copydoc ::boost::intrusive::bstree::crbegin()const - const_reverse_iterator crbegin() const; - - //! @copydoc ::boost::intrusive::bstree::rend() - reverse_iterator rend(); - - //! @copydoc ::boost::intrusive::bstree::rend()const - const_reverse_iterator rend() const; - - //! @copydoc ::boost::intrusive::bstree::crend()const - const_reverse_iterator crend() const; - - //! @copydoc ::boost::intrusive::bstree::container_from_end_iterator(iterator) - static splaytree_impl &container_from_end_iterator(iterator end_iterator); - - //! @copydoc ::boost::intrusive::bstree::container_from_end_iterator(const_iterator) - static const splaytree_impl &container_from_end_iterator(const_iterator end_iterator); - - //! @copydoc ::boost::intrusive::bstree::container_from_iterator(iterator) - static splaytree_impl &container_from_iterator(iterator it); - - //! @copydoc ::boost::intrusive::bstree::container_from_iterator(const_iterator) - static const splaytree_impl &container_from_iterator(const_iterator it); - - //! @copydoc ::boost::intrusive::bstree::key_comp()const - key_compare key_comp() const; - - //! @copydoc ::boost::intrusive::bstree::value_comp()const - value_compare value_comp() const; - - //! @copydoc ::boost::intrusive::bstree::empty()const - bool empty() const; - - //! @copydoc ::boost::intrusive::bstree::size()const - size_type size() const; - - //! @copydoc ::boost::intrusive::bstree::swap - void swap(splaytree_impl& other); - - //! @copydoc ::boost::intrusive::bstree::clone_from - template - void clone_from(const splaytree_impl &src, Cloner cloner, Disposer disposer); - - //! @copydoc ::boost::intrusive::bstree::insert_equal(reference) - iterator insert_equal(reference value); - - //! @copydoc ::boost::intrusive::bstree::insert_equal(const_iterator,reference) - iterator insert_equal(const_iterator hint, reference value); - - //! @copydoc ::boost::intrusive::bstree::insert_equal(Iterator,Iterator) - template - void insert_equal(Iterator b, Iterator e); - - //! @copydoc ::boost::intrusive::bstree::insert_unique(reference) - std::pair insert_unique(reference value); - - //! @copydoc ::boost::intrusive::bstree::insert_unique(const_iterator,reference) - iterator insert_unique(const_iterator hint, reference value); - - //! @copydoc ::boost::intrusive::bstree::insert_unique_check(const KeyType&,KeyValueCompare,insert_commit_data&) - template - std::pair insert_unique_check - (const KeyType &key, KeyValueCompare key_value_comp, insert_commit_data &commit_data); - - //! @copydoc ::boost::intrusive::bstree::insert_unique_check(const_iterator,const KeyType&,KeyValueCompare,insert_commit_data&) - template - std::pair insert_unique_check - (const_iterator hint, const KeyType &key - ,KeyValueCompare key_value_comp, insert_commit_data &commit_data); - - //! @copydoc ::boost::intrusive::bstree::insert_unique_commit - iterator insert_unique_commit(reference value, const insert_commit_data &commit_data); - - //! @copydoc ::boost::intrusive::bstree::insert_unique(Iterator,Iterator) - template - void insert_unique(Iterator b, Iterator e); - - //! @copydoc ::boost::intrusive::bstree::insert_before - iterator insert_before(const_iterator pos, reference value); - - //! @copydoc ::boost::intrusive::bstree::push_back - void push_back(reference value); - - //! @copydoc ::boost::intrusive::bstree::push_front - void push_front(reference value); - - //! @copydoc ::boost::intrusive::bstree::erase(const_iterator) - iterator erase(const_iterator i); - - //! @copydoc ::boost::intrusive::bstree::erase(const_iterator,const_iterator) - iterator erase(const_iterator b, const_iterator e); - - //! @copydoc ::boost::intrusive::bstree::erase(const_reference) - size_type erase(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::erase(const KeyType&,KeyValueCompare) - template - size_type erase(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::bstree::erase_and_dispose(const_iterator,Disposer) - template - iterator erase_and_dispose(const_iterator i, Disposer disposer); - - //! @copydoc ::boost::intrusive::bstree::erase_and_dispose(const_iterator,const_iterator,Disposer) - template - iterator erase_and_dispose(const_iterator b, const_iterator e, Disposer disposer); - - //! @copydoc ::boost::intrusive::bstree::erase_and_dispose(const_reference, Disposer) - template - size_type erase_and_dispose(const_reference value, Disposer disposer); - - //! @copydoc ::boost::intrusive::bstree::erase_and_dispose(const KeyType&,KeyValueCompare,Disposer) - template - size_type erase_and_dispose(const KeyType& key, KeyValueCompare comp, Disposer disposer); - - //! @copydoc ::boost::intrusive::bstree::clear - void clear(); - - //! @copydoc ::boost::intrusive::bstree::clear_and_dispose - template - void clear_and_dispose(Disposer disposer); - - //! @copydoc ::boost::intrusive::bstree::count(const_reference)const - //! Additional note: non-const function, splaying is performed. - size_type count(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::count(const KeyType&,KeyValueCompare)const - //! Additional note: non-const function, splaying is performed. - template - size_type count(const KeyType &key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::bstree::count(const_reference)const - //! Additional note: const function, no splaying is performed - size_type count(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::count(const KeyType&,KeyValueCompare)const - //! Additional note: const function, no splaying is performed - template - size_type count(const KeyType &key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::bstree::lower_bound(const_reference) - //! Additional note: non-const function, splaying is performed. - iterator lower_bound(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::lower_bound(const_reference)const - //! Additional note: const function, no splaying is performed - const_iterator lower_bound(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::lower_bound(const KeyType&,KeyValueCompare) - //! Additional note: non-const function, splaying is performed for the first - //! element of the equal range of "key" - template - iterator lower_bound(const KeyType &key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::bstree::lower_bound(const KeyType&,KeyValueCompare)const - //! Additional note: const function, no splaying is performed - template - const_iterator lower_bound(const KeyType &key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::bstree::upper_bound(const_reference) - //! Additional note: non-const function, splaying is performed for the first - //! element of the equal range of "value" - iterator upper_bound(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::upper_bound(const_reference)const - //! Additional note: const function, no splaying is performed - const_iterator upper_bound(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::upper_bound(const KeyType&,KeyValueCompare) - //! Additional note: non-const function, splaying is performed for the first - //! element of the equal range of "key" - template - iterator upper_bound(const KeyType &key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::bstree::upper_bound(const KeyType&,KeyValueCompare)const - //! Additional note: const function, no splaying is performed - template - const_iterator upper_bound(const KeyType &key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::bstree::find(const_reference) - //! Additional note: non-const function, splaying is performed for the first - //! element of the equal range of "value" - iterator find(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::find(const_reference)const - //! Additional note: const function, no splaying is performed - const_iterator find(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::find(const KeyType&,KeyValueCompare) - //! Additional note: non-const function, splaying is performed for the first - //! element of the equal range of "key" - template - iterator find(const KeyType &key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::bstree::find(const KeyType&,KeyValueCompare)const - //! Additional note: const function, no splaying is performed - template - const_iterator find(const KeyType &key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::bstree::equal_range(const_reference) - //! Additional note: non-const function, splaying is performed for the first - //! element of the equal range of "value" - std::pair equal_range(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::equal_range(const_reference)const - //! Additional note: const function, no splaying is performed - std::pair equal_range(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::equal_range(const KeyType&,KeyValueCompare) - //! Additional note: non-const function, splaying is performed for the first - //! element of the equal range of "key" - template - std::pair equal_range(const KeyType &key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::bstree::equal_range(const KeyType&,KeyValueCompare)const - //! Additional note: const function, no splaying is performed - template - std::pair equal_range(const KeyType &key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::bstree::bounded_range(const_reference,const_reference,bool,bool) - std::pair bounded_range - (const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed); - - //! @copydoc ::boost::intrusive::bstree::bounded_range(const KeyType&,const KeyType&,KeyValueCompare,bool,bool) - template - std::pair bounded_range - (const KeyType& lower_key, const KeyType& upper_key, KeyValueCompare comp, bool left_closed, bool right_closed); - - //! @copydoc ::boost::intrusive::bstree::bounded_range(const_reference,const_reference,bool,bool)const - std::pair bounded_range - (const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed) const; - - //! @copydoc ::boost::intrusive::bstree::bounded_range(const KeyType&,const KeyType&,KeyValueCompare,bool,bool)const - template - std::pair bounded_range - (const KeyType& lower_key, const KeyType& upper_key, KeyValueCompare comp, bool left_closed, bool right_closed) const; - - //! @copydoc ::boost::intrusive::bstree::s_iterator_to(reference) - static iterator s_iterator_to(reference value); - - //! @copydoc ::boost::intrusive::bstree::s_iterator_to(const_reference) - static const_iterator s_iterator_to(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::iterator_to(reference) - iterator iterator_to(reference value); - - //! @copydoc ::boost::intrusive::bstree::iterator_to(const_reference)const - const_iterator iterator_to(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::init_node(reference) - static void init_node(reference value); - - //! @copydoc ::boost::intrusive::bstree::unlink_leftmost_without_rebalance - pointer unlink_leftmost_without_rebalance(); - - //! @copydoc ::boost::intrusive::bstree::replace_node - void replace_node(iterator replace_this, reference with_this); - - //! @copydoc ::boost::intrusive::bstree::remove_node - void remove_node(reference value); - - #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! Requires: i must be a valid iterator of *this. - //! - //! Effects: Rearranges the container so that the element pointed by i - //! is placed as the root of the tree, improving future searches of this value. - //! - //! Complexity: Amortized logarithmic. - //! - //! Throws: Nothing. - void splay_up(iterator i) - { return node_algorithms::splay_up(i.pointed_node(), tree_type::header_ptr()); } - - //! Effects: Rearranges the container so that if *this stores an element - //! with a key equivalent to value the element is placed as the root of the - //! tree. If the element is not present returns the last node compared with the key. - //! If the tree is empty, end() is returned. - //! - //! Complexity: Amortized logarithmic. - //! - //! Returns: An iterator to the new root of the tree, end() if the tree is empty. - //! - //! Throws: If the comparison functor throws. - template - iterator splay_down(const KeyType &key, KeyValueCompare comp) - { - detail::key_nodeptr_comp - key_node_comp(comp, &this->get_value_traits()); - node_ptr r = node_algorithms::splay_down(tree_type::header_ptr(), key, key_node_comp); - return iterator(r, this->priv_value_traits_ptr()); - } - - //! Effects: Rearranges the container so that if *this stores an element - //! with a key equivalent to value the element is placed as the root of the - //! tree. - //! - //! Complexity: Amortized logarithmic. - //! - //! Returns: An iterator to the new root of the tree, end() if the tree is empty. - //! - //! Throws: If the predicate throws. - iterator splay_down(const_reference value) - { return this->splay_down(value, this->value_comp()); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - //! @copydoc ::boost::intrusive::bstree::rebalance - void rebalance(); - - //! @copydoc ::boost::intrusive::bstree::rebalance_subtree - iterator rebalance_subtree(iterator root); - #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED -}; - -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - -template -bool operator< (const splaytree_impl &x, const splaytree_impl &y); - -template -bool operator==(const splaytree_impl &x, const splaytree_impl &y); - -template -bool operator!= (const splaytree_impl &x, const splaytree_impl &y); - -template -bool operator>(const splaytree_impl &x, const splaytree_impl &y); - -template -bool operator<=(const splaytree_impl &x, const splaytree_impl &y); - -template -bool operator>=(const splaytree_impl &x, const splaytree_impl &y); - -template -void swap(splaytree_impl &x, splaytree_impl &y); - -#endif //#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - -//! Helper metafunction to define a \c splaytree 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 -#else -template -#endif -struct make_splaytree -{ - /// @cond - typedef typename pack_options - < splaytree_defaults, - #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) - O1, O2, O3, O4, O5 - #else - Options... - #endif - >::type packed_options; - - typedef typename detail::get_value_traits - ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; - - typedef splaytree_impl - < value_traits - , typename packed_options::compare - , typename packed_options::size_type - , packed_options::constant_time_size - , header_holder_type - > implementation_defined; - /// @endcond - typedef implementation_defined type; -}; - - -#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED - -#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) -template -#else -template -#endif -class splaytree - : public make_splaytree::type -{ - typedef typename make_splaytree - ::type Base; - BOOST_MOVABLE_BUT_NOT_COPYABLE(splaytree) - - public: - typedef typename Base::value_compare value_compare; - typedef typename Base::value_traits value_traits; - typedef typename Base::iterator iterator; - typedef typename Base::const_iterator const_iterator; - typedef typename Base::reverse_iterator reverse_iterator; - typedef typename Base::const_reverse_iterator const_reverse_iterator; - - //Assert if passed value traits are compatible with the type - BOOST_STATIC_ASSERT((detail::is_same::value)); - - explicit splaytree( const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : Base(cmp, v_traits) - {} - - template - splaytree( bool unique, Iterator b, Iterator e - , const value_compare &cmp = value_compare() - , const value_traits &v_traits = value_traits()) - : Base(unique, b, e, cmp, v_traits) - {} - - splaytree(BOOST_RV_REF(splaytree) x) - : Base(::boost::move(static_cast(x))) - {} - - splaytree& operator=(BOOST_RV_REF(splaytree) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } - - static splaytree &container_from_end_iterator(iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } - - static const splaytree &container_from_end_iterator(const_iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } - - static splaytree &container_from_iterator(iterator it) - { return static_cast(Base::container_from_iterator(it)); } - - static const splaytree &container_from_iterator(const_iterator it) - { return static_cast(Base::container_from_iterator(it)); } -}; - -#endif - -} //namespace intrusive -} //namespace boost - -#include - -#endif //BOOST_INTRUSIVE_SPLAYTREE_HPP diff --git a/bundled/boost-1.56.0/include/boost/intrusive/treap.hpp b/bundled/boost-1.56.0/include/boost/intrusive/treap.hpp deleted file mode 100644 index f414cf7203..0000000000 --- a/bundled/boost-1.56.0/include/boost/intrusive/treap.hpp +++ /dev/null @@ -1,1177 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2008-2013 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/intrusive for documentation. -// -///////////////////////////////////////////////////////////////////////////// -#ifndef BOOST_INTRUSIVE_TREAP_HPP -#define BOOST_INTRUSIVE_TREAP_HPP - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { -namespace intrusive { - -/// @cond - -struct treap_defaults -{ - typedef detail::default_bstree_hook proto_value_traits; - static const bool constant_time_size = true; - typedef std::size_t size_type; - typedef void compare; - typedef void priority; - typedef void header_holder_type; -}; - -/// @endcond - -//! The class template treap is an intrusive treap container that -//! is used to construct intrusive set and multiset containers. The no-throw -//! guarantee holds only, if the value_compare object and priority_compare object -//! don't throw. -//! -//! 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<>, -//! \c compare<> and \c priority_compare<> -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -template -#else -template -#endif -class treap_impl - /// @cond - : public bstree_impl - , public detail::ebo_functor_holder - < typename get_prio - < VoidOrPrioComp - , typename bstree_impl - ::value_type>::type - > - /// @endcond -{ - public: - typedef ValueTraits value_traits; - /// @cond - typedef bstree_impl< ValueTraits, VoidOrKeyComp, SizeType - , ConstantTimeSize, BsTreeAlgorithms - , HeaderHolder> tree_type; - typedef tree_type implementation_defined; - typedef get_prio - < VoidOrPrioComp - , typename tree_type::value_type> get_prio_type; - - typedef detail::ebo_functor_holder - prio_base; - - /// @endcond - - typedef typename implementation_defined::pointer pointer; - typedef typename implementation_defined::const_pointer const_pointer; - typedef typename implementation_defined::value_type value_type; - typedef typename implementation_defined::key_type key_type; - 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::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 BOOST_INTRUSIVE_IMPDEF(treap_algorithms) node_algorithms; - typedef BOOST_INTRUSIVE_IMPDEF(typename get_prio_type::type) priority_compare; - - static const bool constant_time_size = implementation_defined::constant_time_size; - static const bool stateful_value_traits = implementation_defined::stateful_value_traits; - static const bool safemode_or_autounlink = is_safe_autounlink::value; - - /// @cond - private: - - //noncopyable - BOOST_MOVABLE_BUT_NOT_COPYABLE(treap_impl) - - const priority_compare &priv_pcomp() const - { return static_cast(*this).get(); } - - priority_compare &priv_pcomp() - { return static_cast(*this).get(); } - - /// @endcond - - public: - typedef typename node_algorithms::insert_commit_data insert_commit_data; - - //! Effects: Constructs an empty container. - //! - //! Complexity: Constant. - //! - //! Throws: If value_traits::node_traits::node - //! constructor throws (this does not happen with predefined Boost.Intrusive hooks) - //! or the copy constructor of the value_compare/priority_compare objects throw. Basic guarantee. - explicit treap_impl( const value_compare &cmp = value_compare() - , const priority_compare &pcmp = priority_compare() - , const value_traits &v_traits = value_traits()) - : tree_type(cmp, v_traits), prio_base(pcmp) - {} - - //! Requires: Dereferencing iterator must yield an lvalue of type value_type. - //! cmp must be a comparison function that induces a strict weak ordering. - //! - //! Effects: Constructs an empty container and inserts elements from - //! [b, e). - //! - //! Complexity: Linear in N if [b, e) is already sorted using - //! comp and otherwise N * log N, where N is the distance between first and last. - //! - //! Throws: If value_traits::node_traits::node - //! constructor throws (this does not happen with predefined Boost.Intrusive hooks) - //! or the copy constructor/operator() of the value_compare/priority_compare objects - //! throw. Basic guarantee. - template - treap_impl( bool unique, Iterator b, Iterator e - , const value_compare &cmp = value_compare() - , const priority_compare &pcmp = priority_compare() - , const value_traits &v_traits = value_traits()) - : tree_type(cmp, v_traits), prio_base(pcmp) - { - if(unique) - this->insert_unique(b, e); - else - this->insert_equal(b, e); - } - - //! @copydoc ::boost::intrusive::bstree::bstree(bstree &&) - treap_impl(BOOST_RV_REF(treap_impl) x) - : tree_type(::boost::move(static_cast(x))) - , prio_base(::boost::move(x.priv_pcomp())) - {} - - //! @copydoc ::boost::intrusive::bstree::operator=(bstree &&) - treap_impl& operator=(BOOST_RV_REF(treap_impl) x) - { this->swap(x); return *this; } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - //! @copydoc ::boost::intrusive::bstree::~bstree() - ~treap_impl(); - - //! @copydoc ::boost::intrusive::bstree::begin() - iterator begin(); - - //! @copydoc ::boost::intrusive::bstree::begin()const - const_iterator begin() const; - - //! @copydoc ::boost::intrusive::bstree::cbegin()const - const_iterator cbegin() const; - - //! @copydoc ::boost::intrusive::bstree::end() - iterator end(); - - //! @copydoc ::boost::intrusive::bstree::end()const - const_iterator end() const; - - //! @copydoc ::boost::intrusive::bstree::cend()const - const_iterator cend() const; - #endif - - //! Effects: Returns an iterator pointing to the highest priority object of the treap. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - iterator top() - { return this->tree_type::root(); } - - //! Effects: Returns a const_iterator pointing to the highest priority object of the treap.. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - const_iterator top() const - { return this->ctop(); } - - //! Effects: Returns a const_iterator pointing to the highest priority object of the treap.. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - const_iterator ctop() const - { return this->tree_type::root(); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - //! @copydoc ::boost::intrusive::bstree::rbegin() - reverse_iterator rbegin(); - - //! @copydoc ::boost::intrusive::bstree::rbegin()const - const_reverse_iterator rbegin() const; - - //! @copydoc ::boost::intrusive::bstree::crbegin()const - const_reverse_iterator crbegin() const; - - //! @copydoc ::boost::intrusive::bstree::rend() - reverse_iterator rend(); - - //! @copydoc ::boost::intrusive::bstree::rend()const - const_reverse_iterator rend() const; - - //! @copydoc ::boost::intrusive::bstree::crend()const - const_reverse_iterator crend() const; - #endif - - //! Effects: Returns a reverse_iterator pointing to the highest priority object of the - //! reversed treap. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - reverse_iterator rtop() - { return reverse_iterator(this->top()); } - - //! Effects: Returns a const_reverse_iterator pointing to the highest priority objec - //! of the reversed treap. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - const_reverse_iterator rtop() const - { return const_reverse_iterator(this->top()); } - - //! Effects: Returns a const_reverse_iterator pointing to the highest priority object - //! of the reversed treap. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - const_reverse_iterator crtop() const - { return const_reverse_iterator(this->top()); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - //! @copydoc ::boost::intrusive::bstree::container_from_end_iterator(iterator) - static treap_impl &container_from_end_iterator(iterator end_iterator); - - //! @copydoc ::boost::intrusive::bstree::container_from_end_iterator(const_iterator) - static const treap_impl &container_from_end_iterator(const_iterator end_iterator); - - //! @copydoc ::boost::intrusive::bstree::container_from_iterator(iterator) - static treap_impl &container_from_iterator(iterator it); - - //! @copydoc ::boost::intrusive::bstree::container_from_iterator(const_iterator) - static const treap_impl &container_from_iterator(const_iterator it); - - //! @copydoc ::boost::intrusive::bstree::key_comp()const - key_compare key_comp() const; - - //! @copydoc ::boost::intrusive::bstree::value_comp()const - value_compare value_comp() const; - - //! @copydoc ::boost::intrusive::bstree::empty()const - bool empty() const; - - //! @copydoc ::boost::intrusive::bstree::size()const - size_type size() const; - #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! Effects: Returns the priority_compare object used by the container. - //! - //! Complexity: Constant. - //! - //! Throws: If priority_compare copy-constructor throws. - priority_compare priority_comp() const - { return this->priv_pcomp(); } - - //! Effects: Swaps the contents of two treaps. - //! - //! Complexity: Constant. - //! - //! Throws: If the comparison functor's swap call throws. - void swap(treap_impl& other) - { - tree_type::swap(other); - //This can throw - using std::swap; - swap(this->priv_pcomp(), other.priv_pcomp()); - } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! Cloner should yield to nodes equivalent to the original nodes. - //! - //! Effects: Erases all the elements from *this - //! calling Disposer::operator()(pointer), clones all the - //! elements from src calling Cloner::operator()(const_reference ) - //! and inserts them on *this. Copies the predicate from the source container. - //! - //! If cloner throws, all cloned elements are unlinked and disposed - //! calling Disposer::operator()(pointer). - //! - //! Complexity: Linear to erased plus inserted elements. - //! - //! Throws: If cloner throws or predicate copy assignment throws. Basic guarantee. - template - void clone_from(const treap_impl &src, Cloner cloner, Disposer disposer) - { - tree_type::clone_from(src, cloner, disposer); - this->priv_pcomp() = src.priv_pcomp(); - } - - //! Requires: value must be an lvalue - //! - //! Effects: Inserts value into the container before the upper bound. - //! - //! Complexity: Average complexity for insert element is at - //! most logarithmic. - //! - //! Throws: If the internal value_compare or priority_compare functions throw. Strong guarantee. - //! - //! Note: Does not affect the validity of iterators and references. - //! No copy-constructors are called. - iterator insert_equal(reference value) - { - detail::key_nodeptr_comp - key_node_comp(this->value_comp(), &this->get_value_traits()); - detail::key_nodeptr_comp - key_node_pcomp(this->priv_pcomp(), &this->get_value_traits()); - node_ptr to_insert(this->get_value_traits().to_node_ptr(value)); - if(safemode_or_autounlink) - BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(node_algorithms::unique(to_insert)); - iterator ret(node_algorithms::insert_equal_upper_bound - (this->tree_type::header_ptr(), to_insert, key_node_comp, key_node_pcomp), this->priv_value_traits_ptr()); - this->tree_type::sz_traits().increment(); - return ret; - } - - //! Requires: value must be an lvalue, and "hint" must be - //! a valid iterator. - //! - //! Effects: Inserts x into the container, using "hint" as a hint to - //! where it will be inserted. If "hint" is the upper_bound - //! the insertion takes constant time (two comparisons in the worst case) - //! - //! Complexity: Logarithmic in general, but it is amortized - //! constant time if t is inserted immediately before hint. - //! - //! Throws: If the internal value_compare or priority_compare functions throw. Strong guarantee. - //! - //! Note: Does not affect the validity of iterators and references. - //! No copy-constructors are called. - iterator insert_equal(const_iterator hint, reference value) - { - detail::key_nodeptr_comp - key_node_comp(this->value_comp(), &this->get_value_traits()); - detail::key_nodeptr_comp - key_node_pcomp(this->priv_pcomp(), &this->get_value_traits()); - node_ptr to_insert(this->get_value_traits().to_node_ptr(value)); - if(safemode_or_autounlink) - BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(node_algorithms::unique(to_insert)); - iterator ret (node_algorithms::insert_equal - (this->tree_type::header_ptr(), hint.pointed_node(), to_insert, key_node_comp, key_node_pcomp), this->priv_value_traits_ptr()); - this->tree_type::sz_traits().increment(); - return ret; - } - - //! Requires: Dereferencing iterator must yield an lvalue - //! of type value_type. - //! - //! Effects: Inserts a each element of a range into the container - //! before the upper bound of the key of each element. - //! - //! Complexity: Insert range is in general O(N * log(N)), where N is the - //! size of the range. However, it is linear in N if the range is already sorted - //! by value_comp(). - //! - //! Throws: If the internal value_compare or priority_compare functions throw. - //! Strong guarantee. - //! - //! Note: Does not affect the validity of iterators and references. - //! No copy-constructors are called. - template - void insert_equal(Iterator b, Iterator e) - { - iterator iend(this->end()); - for (; b != e; ++b) - this->insert_equal(iend, *b); - } - - //! Requires: value must be an lvalue - //! - //! Effects: Inserts value into the container if the value - //! is not already present. - //! - //! Complexity: Average complexity for insert element is at - //! most logarithmic. - //! - //! Throws: If the internal value_compare or priority_compare functions throw. - //! Strong guarantee. - //! - //! Note: Does not affect the validity of iterators and references. - //! No copy-constructors are called. - std::pair insert_unique(reference value) - { - insert_commit_data commit_data; - std::pair ret = insert_unique_check(value, this->value_comp(), this->priv_pcomp(), commit_data); - if(!ret.second) - return ret; - return std::pair (insert_unique_commit(value, commit_data), true); - } - - //! Requires: value must be an lvalue, and "hint" must be - //! a valid iterator - //! - //! Effects: Tries to insert x into the container, using "hint" as a hint - //! to where it will be inserted. - //! - //! Complexity: Logarithmic in general, but it is amortized - //! constant time (two comparisons in the worst case) - //! if t is inserted immediately before hint. - //! - //! Throws: If the internal value_compare or priority_compare functions throw. - //! Strong guarantee. - //! - //! Note: Does not affect the validity of iterators and references. - //! No copy-constructors are called. - iterator insert_unique(const_iterator hint, reference value) - { - insert_commit_data commit_data; - std::pair ret = insert_unique_check(hint, value, this->value_comp(), this->priv_pcomp(), commit_data); - if(!ret.second) - return ret.first; - return insert_unique_commit(value, commit_data); - } - - //! Requires: Dereferencing iterator must yield an lvalue - //! of type value_type. - //! - //! Effects: Tries to insert each element of a range into the container. - //! - //! Complexity: Insert range is in general O(N * log(N)), where N is the - //! size of the range. However, it is linear in N if the range is already sorted - //! by value_comp(). - //! - //! Throws: If the internal value_compare or priority_compare functions throw. - //! Strong guarantee. - //! - //! Note: Does not affect the validity of iterators and references. - //! No copy-constructors are called. - template - void insert_unique(Iterator b, Iterator e) - { - if(this->empty()){ - iterator iend(this->end()); - for (; b != e; ++b) - this->insert_unique(iend, *b); - } - else{ - for (; b != e; ++b) - this->insert_unique(*b); - } - } - - //! Requires: key_value_comp must be a comparison function that induces - //! the same strict weak ordering as value_compare. - //! key_value_pcomp must be a comparison function that induces - //! the same strict weak ordering as priority_compare. The difference is that - //! key_value_pcomp and key_value_comp compare an arbitrary key with the contained values. - //! - //! Effects: Checks if a value can be inserted in the container, using - //! a user provided key instead of the value itself. - //! - //! Returns: If there is an equivalent value - //! returns a pair containing an iterator to the already present value - //! and false. If the value can be inserted returns true in the returned - //! pair boolean and fills "commit_data" that is meant to be used with - //! the "insert_commit" function. - //! - //! Complexity: Average complexity is at most logarithmic. - //! - //! Throws: If the key_value_comp or key_value_pcomp - //! ordering functions throw. Strong guarantee. - //! - //! Notes: This function is used to improve performance when constructing - //! a value_type is expensive: if there is an equivalent value - //! the constructed object must be discarded. Many times, the part of the - //! node that is used to impose the order is much cheaper to construct - //! than the value_type and this function offers the possibility to use that - //! part to check if the insertion will be successful. - //! - //! If the check is successful, the user can construct the value_type and use - //! "insert_commit" to insert the object in constant-time. This gives a total - //! logarithmic complexity to the insertion: check(O(log(N)) + commit(O(1)). - //! - //! "commit_data" remains valid for a subsequent "insert_commit" only if no more - //! objects are inserted or erased from the container. - template - std::pair insert_unique_check - ( const KeyType &key, KeyValueCompare key_value_comp - , KeyValuePrioCompare key_value_pcomp, insert_commit_data &commit_data) - { - detail::key_nodeptr_comp - ocomp(key_value_comp, &this->get_value_traits()); - detail::key_nodeptr_comp - pcomp(key_value_pcomp, &this->get_value_traits()); - std::pair ret = - (node_algorithms::insert_unique_check - (this->tree_type::header_ptr(), key, ocomp, pcomp, commit_data)); - return std::pair(iterator(ret.first, this->priv_value_traits_ptr()), ret.second); - } - - //! Requires: key_value_comp must be a comparison function that induces - //! the same strict weak ordering as value_compare. - //! key_value_pcomp must be a comparison function that induces - //! the same strict weak ordering as priority_compare. The difference is that - //! key_value_pcomp and key_value_comp compare an arbitrary key with the contained values. - //! - //! Effects: Checks if a value can be inserted in the container, using - //! a user provided key instead of the value itself, using "hint" - //! as a hint to where it will be inserted. - //! - //! Returns: If there is an equivalent value - //! returns a pair containing an iterator to the already present value - //! and false. If the value can be inserted returns true in the returned - //! pair boolean and fills "commit_data" that is meant to be used with - //! the "insert_commit" function. - //! - //! Complexity: Logarithmic in general, but it's amortized - //! constant time if t is inserted immediately before hint. - //! - //! Throws: If the key_value_comp or key_value_pcomp - //! ordering functions throw. Strong guarantee. - //! - //! Notes: This function is used to improve performance when constructing - //! a value_type is expensive: if there is an equivalent value - //! the constructed object must be discarded. Many times, the part of the - //! constructing that is used to impose the order is much cheaper to construct - //! than the value_type and this function offers the possibility to use that key - //! to check if the insertion will be successful. - //! - //! If the check is successful, the user can construct the value_type and use - //! "insert_commit" to insert the object in constant-time. This can give a total - //! constant-time complexity to the insertion: check(O(1)) + commit(O(1)). - //! - //! "commit_data" remains valid for a subsequent "insert_commit" only if no more - //! objects are inserted or erased from the container. - template - std::pair insert_unique_check - ( const_iterator hint, const KeyType &key - , KeyValueCompare key_value_comp - , KeyValuePrioCompare key_value_pcomp - , insert_commit_data &commit_data) - { - detail::key_nodeptr_comp - ocomp(key_value_comp, &this->get_value_traits()); - detail::key_nodeptr_comp - pcomp(key_value_pcomp, &this->get_value_traits()); - std::pair ret = - (node_algorithms::insert_unique_check - (this->tree_type::header_ptr(), hint.pointed_node(), key, ocomp, pcomp, commit_data)); - return std::pair(iterator(ret.first, this->priv_value_traits_ptr()), ret.second); - } - - //! Requires: value must be an lvalue of type value_type. commit_data - //! must have been obtained from a previous call to "insert_check". - //! No objects should have been inserted or erased from the container between - //! the "insert_check" that filled "commit_data" and the call to "insert_commit". - //! - //! Effects: Inserts the value in the avl_set using the information obtained - //! from the "commit_data" that a previous "insert_check" filled. - //! - //! Returns: An iterator to the newly inserted object. - //! - //! Complexity: Constant time. - //! - //! Throws: Nothing - //! - //! Notes: This function has only sense if a "insert_check" has been - //! previously executed to fill "commit_data". No value should be inserted or - //! erased between the "insert_check" and "insert_commit" calls. - iterator insert_unique_commit(reference value, const insert_commit_data &commit_data) - { - node_ptr to_insert(this->get_value_traits().to_node_ptr(value)); - if(safemode_or_autounlink) - BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(node_algorithms::unique(to_insert)); - node_algorithms::insert_unique_commit(this->tree_type::header_ptr(), to_insert, commit_data); - this->tree_type::sz_traits().increment(); - return iterator(to_insert, this->priv_value_traits_ptr()); - } - - //! Requires: value must be an lvalue, "pos" must be - //! a valid iterator (or end) and must be the succesor of value - //! once inserted according to the predicate - //! - //! Effects: Inserts x into the container before "pos". - //! - //! Complexity: Constant time. - //! - //! Throws: If the internal priority_compare function throws. Strong guarantee. - //! - //! Note: This function does not check preconditions so if "pos" is not - //! the successor of "value" container ordering invariant will be broken. - //! This is a low-level function to be used only for performance reasons - //! by advanced users. - iterator insert_before(const_iterator pos, reference value) - { - node_ptr to_insert(this->get_value_traits().to_node_ptr(value)); - if(safemode_or_autounlink) - BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(node_algorithms::unique(to_insert)); - detail::key_nodeptr_comp - pcomp(this->priv_pcomp(), &this->get_value_traits()); - iterator ret (node_algorithms::insert_before - (this->tree_type::header_ptr(), pos.pointed_node(), to_insert, pcomp), this->priv_value_traits_ptr()); - this->tree_type::sz_traits().increment(); - return ret; - } - - //! Requires: value must be an lvalue, and it must be no less - //! than the greatest inserted key - //! - //! Effects: Inserts x into the container in the last position. - //! - //! Complexity: Constant time. - //! - //! Throws: If the internal priority_compare function throws. Strong guarantee. - //! - //! Note: This function does not check preconditions so if value is - //! less than the greatest inserted key container ordering invariant will be broken. - //! This function is slightly more efficient than using "insert_before". - //! This is a low-level function to be used only for performance reasons - //! by advanced users. - void push_back(reference value) - { - node_ptr to_insert(this->get_value_traits().to_node_ptr(value)); - if(safemode_or_autounlink) - BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(node_algorithms::unique(to_insert)); - detail::key_nodeptr_comp - pcomp(this->priv_pcomp(), &this->get_value_traits()); - node_algorithms::push_back(this->tree_type::header_ptr(), to_insert, pcomp); - this->tree_type::sz_traits().increment(); - } - - //! Requires: value must be an lvalue, and it must be no greater - //! than the minimum inserted key - //! - //! Effects: Inserts x into the container in the first position. - //! - //! Complexity: Constant time. - //! - //! Throws: If the internal priority_compare function throws. Strong guarantee. - //! - //! Note: This function does not check preconditions so if value is - //! greater than the minimum inserted key container ordering invariant will be broken. - //! This function is slightly more efficient than using "insert_before". - //! This is a low-level function to be used only for performance reasons - //! by advanced users. - void push_front(reference value) - { - node_ptr to_insert(this->get_value_traits().to_node_ptr(value)); - if(safemode_or_autounlink) - BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(node_algorithms::unique(to_insert)); - detail::key_nodeptr_comp - pcomp(this->priv_pcomp(), &this->get_value_traits()); - node_algorithms::push_front(this->tree_type::header_ptr(), to_insert, pcomp); - this->tree_type::sz_traits().increment(); - } - - //! Effects: Erases the element pointed to by pos. - //! - //! Complexity: Average complexity for erase element is constant time. - //! - //! Throws: if the internal priority_compare function throws. Strong guarantee. - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased elements. No destructors are called. - iterator erase(const_iterator i) - { - const_iterator ret(i); - ++ret; - node_ptr to_erase(i.pointed_node()); - if(safemode_or_autounlink) - BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(!node_algorithms::unique(to_erase)); - detail::key_nodeptr_comp - key_node_pcomp(this->priv_pcomp(), &this->get_value_traits()); - node_algorithms::erase(this->tree_type::header_ptr(), to_erase, key_node_pcomp); - this->tree_type::sz_traits().decrement(); - if(safemode_or_autounlink) - node_algorithms::init(to_erase); - return ret.unconst(); - } - - //! Effects: Erases the range pointed to by b end e. - //! - //! Complexity: Average complexity for erase range is at most - //! O(log(size() + N)), where N is the number of elements in the range. - //! - //! Throws: if the internal priority_compare function throws. Strong guarantee. - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased elements. No destructors are called. - iterator erase(const_iterator b, const_iterator e) - { size_type n; return private_erase(b, e, n); } - - //! Effects: Erases all the elements with the given value. - //! - //! Returns: The number of erased elements. - //! - //! Complexity: O(log(size() + N). - //! - //! Throws: if the internal priority_compare function throws. Strong guarantee. - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased elements. No destructors are called. - size_type erase(const_reference value) - { return this->erase(value, this->value_comp()); } - - //! Effects: Erases all the elements with the given key. - //! according to the comparison functor "comp". - //! - //! Returns: The number of erased elements. - //! - //! Complexity: O(log(size() + N). - //! - //! Throws: if the internal priority_compare function throws. - //! Equivalent guarantee to while(beg != end) erase(beg++); - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased elements. No destructors are called. - template - size_type erase(const KeyType& key, KeyValueCompare comp - /// @cond - , typename detail::enable_if_c::value >::type * = 0 - /// @endcond - ) - { - std::pair p = this->equal_range(key, comp); - size_type n; - private_erase(p.first, p.second, n); - return n; - } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Erases the element pointed to by pos. - //! Disposer::operator()(pointer) is called for the removed element. - //! - //! Complexity: Average complexity for erase element is constant time. - //! - //! Throws: if the internal priority_compare function throws. Strong guarantee. - //! - //! Note: Invalidates the iterators - //! to the erased elements. - template - iterator erase_and_dispose(const_iterator i, Disposer disposer) - { - node_ptr to_erase(i.pointed_node()); - iterator ret(this->erase(i)); - disposer(this->get_value_traits().to_value_ptr(to_erase)); - return ret; - } - - #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - template - iterator erase_and_dispose(iterator i, Disposer disposer) - { return this->erase_and_dispose(const_iterator(i), disposer); } - #endif - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Erases the range pointed to by b end e. - //! Disposer::operator()(pointer) is called for the removed elements. - //! - //! Complexity: Average complexity for erase range is at most - //! O(log(size() + N)), where N is the number of elements in the range. - //! - //! Throws: if the internal priority_compare function throws. Strong guarantee. - //! - //! Note: Invalidates the iterators - //! to the erased elements. - template - iterator erase_and_dispose(const_iterator b, const_iterator e, Disposer disposer) - { size_type n; return private_erase(b, e, n, disposer); } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Erases all the elements with the given value. - //! Disposer::operator()(pointer) is called for the removed elements. - //! - //! Returns: The number of erased elements. - //! - //! Complexity: O(log(size() + N). - //! - //! Throws: if the priority_compare function throws then weak guarantee and heap invariants are broken. - //! The safest thing would be to clear or destroy the container. - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased elements. No destructors are called. - template - size_type erase_and_dispose(const_reference value, Disposer disposer) - { - std::pair p = this->equal_range(value); - size_type n; - private_erase(p.first, p.second, n, disposer); - return n; - } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Erases all the elements with the given key. - //! according to the comparison functor "comp". - //! Disposer::operator()(pointer) is called for the removed elements. - //! - //! Returns: The number of erased elements. - //! - //! Complexity: O(log(size() + N). - //! - //! Throws: if the priority_compare function throws then weak guarantee and heap invariants are broken. - //! The safest thing would be to clear or destroy the container. - //! - //! Note: Invalidates the iterators - //! to the erased elements. - template - size_type erase_and_dispose(const KeyType& key, KeyValueCompare comp, Disposer disposer - /// @cond - , typename detail::enable_if_c::value >::type * = 0 - /// @endcond - ) - { - std::pair p = this->equal_range(key, comp); - size_type n; - private_erase(p.first, p.second, n, disposer); - return n; - } - - //! Effects: Erases all of the elements. - //! - //! Complexity: Linear to the number of elements on the container. - //! if it's a safe-mode or auto-unlink value_type. Constant time otherwise. - //! - //! Throws: Nothing. - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased elements. No destructors are called. - void clear() - { tree_type::clear(); } - - //! Effects: Erases all of the elements calling disposer(p) for - //! each node to be erased. - //! Complexity: Average complexity for is at most O(log(size() + N)), - //! where N is the number of elements in the container. - //! - //! Throws: Nothing. - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased elements. Calls N times to disposer functor. - template - void clear_and_dispose(Disposer disposer) - { - node_algorithms::clear_and_dispose(this->tree_type::header_ptr() - , detail::node_disposer(disposer, &this->get_value_traits())); - node_algorithms::init_header(this->tree_type::header_ptr()); - this->tree_type::sz_traits().set_size(0); - } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - //! @copydoc ::boost::intrusive::bstree::count(const_reference)const - size_type count(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::count(const KeyType&,KeyValueCompare)const - template - size_type count(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::bstree::lower_bound(const_reference) - iterator lower_bound(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::lower_bound(const KeyType&,KeyValueCompare) - template - iterator lower_bound(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::bstree::lower_bound(const_reference)const - const_iterator lower_bound(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::lower_bound(const KeyType&,KeyValueCompare)const - template - const_iterator lower_bound(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::bstree::upper_bound(const_reference) - iterator upper_bound(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::upper_bound(const KeyType&,KeyValueCompare) - template - iterator upper_bound(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::bstree::upper_bound(const_reference)const - const_iterator upper_bound(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::upper_bound(const KeyType&,KeyValueCompare)const - template - const_iterator upper_bound(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::bstree::find(const_reference) - iterator find(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::find(const KeyType&,KeyValueCompare) - template - iterator find(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::bstree::find(const_reference)const - const_iterator find(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::find(const KeyType&,KeyValueCompare)const - template - const_iterator find(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::bstree::equal_range(const_reference) - std::pair equal_range(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::equal_range(const KeyType&,KeyValueCompare) - template - std::pair equal_range(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::bstree::equal_range(const_reference)const - std::pair - equal_range(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::equal_range(const KeyType&,KeyValueCompare)const - template - std::pair - equal_range(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::bstree::bounded_range(const_reference,const_reference,bool,bool) - std::pair bounded_range - (const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed); - - //! @copydoc ::boost::intrusive::bstree::bounded_range(const KeyType&,const KeyType&,KeyValueCompare,bool,bool) - template - std::pair bounded_range - (const KeyType& lower_key, const KeyType& upper_key, KeyValueCompare comp, bool left_closed, bool right_closed); - - //! @copydoc ::boost::intrusive::bstree::bounded_range(const_reference,const_reference,bool,bool)const - std::pair - bounded_range(const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed) const; - - //! @copydoc ::boost::intrusive::bstree::bounded_range(const KeyType&,const KeyType&,KeyValueCompare,bool,bool)const - template - std::pair bounded_range - (const KeyType& lower_key, const KeyType& upper_key, KeyValueCompare comp, bool left_closed, bool right_closed) const; - - //! @copydoc ::boost::intrusive::bstree::s_iterator_to(reference) - static iterator s_iterator_to(reference value); - - //! @copydoc ::boost::intrusive::bstree::s_iterator_to(const_reference) - static const_iterator s_iterator_to(const_reference value); - - //! @copydoc ::boost::intrusive::bstree::iterator_to(reference) - iterator iterator_to(reference value); - - //! @copydoc ::boost::intrusive::bstree::iterator_to(const_reference)const - const_iterator iterator_to(const_reference value) const; - - //! @copydoc ::boost::intrusive::bstree::init_node(reference) - static void init_node(reference value); - - //! @copydoc ::boost::intrusive::bstree::unlink_leftmost_without_rebalance - pointer unlink_leftmost_without_rebalance(); - - //! @copydoc ::boost::intrusive::bstree::replace_node - void replace_node(iterator replace_this, reference with_this); - - //! @copydoc ::boost::intrusive::bstree::remove_node - void remove_node(reference value); - - #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - /// @cond - private: - template - iterator private_erase(const_iterator b, const_iterator e, size_type &n, Disposer disposer) - { - for(n = 0; b != e; ++n) - this->erase_and_dispose(b++, disposer); - return b.unconst(); - } - - iterator private_erase(const_iterator b, const_iterator e, size_type &n) - { - for(n = 0; b != e; ++n) - this->erase(b++); - return b.unconst(); - } - /// @endcond -}; - -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - -template -bool operator< (const treap_impl &x, const treap_impl &y); - -template -bool operator==(const treap_impl &x, const treap_impl &y); - -template -bool operator!= (const treap_impl &x, const treap_impl &y); - -template -bool operator>(const treap_impl &x, const treap_impl &y); - -template -bool operator<=(const treap_impl &x, const treap_impl &y); - -template -bool operator>=(const treap_impl &x, const treap_impl &y); - -template -void swap(treap_impl &x, treap_impl &y); - -#endif //#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - -//! Helper metafunction to define a \c treap 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 -#else -template -#endif -struct make_treap -{ - typedef typename pack_options - < treap_defaults, - #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) - O1, O2, O3, O4, O5 - #else - Options... - #endif - >::type packed_options; - - typedef typename detail::get_value_traits - ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; - - typedef treap_impl - < value_traits - , typename packed_options::compare - , typename packed_options::priority - , typename packed_options::size_type - , packed_options::constant_time_size - , header_holder_type - > implementation_defined; - /// @endcond - typedef implementation_defined type; -}; - -#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED - -#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) -template -#else -template -#endif -class treap - : public make_treap::type -{ - typedef typename make_treap - ::type Base; - BOOST_MOVABLE_BUT_NOT_COPYABLE(treap) - - public: - typedef typename Base::value_compare value_compare; - typedef typename Base::priority_compare priority_compare; - typedef typename Base::value_traits value_traits; - typedef typename Base::iterator iterator; - typedef typename Base::const_iterator const_iterator; - typedef typename Base::reverse_iterator reverse_iterator; - typedef typename Base::const_reverse_iterator const_reverse_iterator; - - //Assert if passed value traits are compatible with the type - BOOST_STATIC_ASSERT((detail::is_same::value)); - - explicit treap( const value_compare &cmp = value_compare() - , const priority_compare &pcmp = priority_compare() - , const value_traits &v_traits = value_traits()) - : Base(cmp, pcmp, v_traits) - {} - - template - treap( bool unique, Iterator b, Iterator e - , const value_compare &cmp = value_compare() - , const priority_compare &pcmp = priority_compare() - , const value_traits &v_traits = value_traits()) - : Base(unique, b, e, cmp, pcmp, v_traits) - {} - - treap(BOOST_RV_REF(treap) x) - : Base(::boost::move(static_cast(x))) - {} - - treap& operator=(BOOST_RV_REF(treap) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } - - static treap &container_from_end_iterator(iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } - - static const treap &container_from_end_iterator(const_iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } - - static treap &container_from_iterator(iterator it) - { return static_cast(Base::container_from_iterator(it)); } - - static const treap &container_from_iterator(const_iterator it) - { return static_cast(Base::container_from_iterator(it)); } -}; - -#endif - -} //namespace intrusive -} //namespace boost - -#include - -#endif //BOOST_INTRUSIVE_TREAP_HPP diff --git a/bundled/boost-1.56.0/include/boost/intrusive/treap_set.hpp b/bundled/boost-1.56.0/include/boost/intrusive/treap_set.hpp deleted file mode 100644 index 6d75578ab3..0000000000 --- a/bundled/boost-1.56.0/include/boost/intrusive/treap_set.hpp +++ /dev/null @@ -1,1004 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2007-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_TRIE_SET_HPP -#define BOOST_INTRUSIVE_TRIE_SET_HPP - -#include -#include -#include -#include -#include -#include - -namespace boost { -namespace intrusive { - -//! The class template treap_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<>, -//! \c compare<> and \c priority_compare<> -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -template -#else -template -#endif -class treap_set_impl -#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED - : public treap_impl -#endif -{ - /// @cond - public: - typedef treap_impl tree_type; - BOOST_MOVABLE_BUT_NOT_COPYABLE(treap_set_impl) - - typedef tree_type implementation_defined; - /// @endcond - - public: - typedef typename implementation_defined::value_type value_type; - 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::priority_compare priority_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 = implementation_defined::constant_time_size; - - public: - //! Effects: Constructs an empty treap_set. - //! - //! Complexity: Constant. - //! - //! Throws: If value_traits::node_traits::node - //! constructor throws (this does not happen with predefined Boost.Intrusive hooks) - //! or the copy constructor of the value_compare object throws. - explicit treap_set_impl( const value_compare &cmp = value_compare() - , const priority_compare &pcmp = priority_compare() - , const value_traits &v_traits = value_traits()) - : tree_type(cmp, pcmp, v_traits) - {} - - //! Requires: Dereferencing iterator must yield an lvalue of type value_type. - //! cmp must be a comparison function that induces a strict weak ordering. - //! - //! Effects: Constructs an empty treap_set and inserts elements from - //! [b, e). - //! - //! Complexity: Linear in N if [b, e) is already sorted using - //! comp and otherwise N * log N, where N is std::distance(last, first). - //! - //! Throws: If value_traits::node_traits::node - //! constructor throws (this does not happen with predefined Boost.Intrusive hooks) - //! or the copy constructor/operator() of the value_compare object throws. - template - treap_set_impl( Iterator b, Iterator e - , const value_compare &cmp = value_compare() - , const priority_compare &pcmp = priority_compare() - , const value_traits &v_traits = value_traits()) - : tree_type(true, b, e, cmp, pcmp, v_traits) - {} - - //! Effects: to-do - //! - treap_set_impl(BOOST_RV_REF(treap_set_impl) x) - : tree_type(::boost::move(static_cast(x))) - {} - - //! Effects: to-do - //! - treap_set_impl& operator=(BOOST_RV_REF(treap_set_impl) x) - { return static_cast(tree_type::operator=(::boost::move(static_cast(x)))); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - //! @copydoc ::boost::intrusive::treap::~treap() - ~treap_set_impl(); - - //! @copydoc ::boost::intrusive::treap::begin() - iterator begin(); - - //! @copydoc ::boost::intrusive::treap::begin()const - const_iterator begin() const; - - //! @copydoc ::boost::intrusive::treap::cbegin()const - const_iterator cbegin() const; - - //! @copydoc ::boost::intrusive::treap::end() - iterator end(); - - //! @copydoc ::boost::intrusive::treap::end()const - const_iterator end() const; - - //! @copydoc ::boost::intrusive::treap::cend()const - const_iterator cend() const; - - //! @copydoc ::boost::intrusive::treap::rbegin() - reverse_iterator rbegin(); - - //! @copydoc ::boost::intrusive::treap::rbegin()const - const_reverse_iterator rbegin() const; - - //! @copydoc ::boost::intrusive::treap::crbegin()const - const_reverse_iterator crbegin() const; - - //! @copydoc ::boost::intrusive::treap::rend() - reverse_iterator rend(); - - //! @copydoc ::boost::intrusive::treap::rend()const - const_reverse_iterator rend() const; - - //! @copydoc ::boost::intrusive::treap::crend()const - const_reverse_iterator crend() const; - - //! @copydoc ::boost::intrusive::treap::container_from_end_iterator(iterator) - static treap_set_impl &container_from_end_iterator(iterator end_iterator); - - //! @copydoc ::boost::intrusive::treap::container_from_end_iterator(const_iterator) - static const treap_set_impl &container_from_end_iterator(const_iterator end_iterator); - - //! @copydoc ::boost::intrusive::treap::container_from_iterator(iterator) - static treap_set_impl &container_from_iterator(iterator it); - - //! @copydoc ::boost::intrusive::treap::container_from_iterator(const_iterator) - static const treap_set_impl &container_from_iterator(const_iterator it); - - //! @copydoc ::boost::intrusive::treap::key_comp()const - key_compare key_comp() const; - - //! @copydoc ::boost::intrusive::treap::value_comp()const - value_compare value_comp() const; - - //! @copydoc ::boost::intrusive::treap::empty()const - bool empty() const; - - //! @copydoc ::boost::intrusive::treap::size()const - size_type size() const; - - //! @copydoc ::boost::intrusive::treap::swap - void swap(treap_set_impl& other); - - //! @copydoc ::boost::intrusive::treap::clone_from - template - void clone_from(const treap_set_impl &src, Cloner cloner, Disposer disposer); - - //! @copydoc ::boost::intrusive::treap::top() - iterator top(); - - //! @copydoc ::boost::intrusive::treap::top()const - const_iterator top() const; - - //! @copydoc ::boost::intrusive::treap::ctop()const - const_iterator ctop() const; - - //! @copydoc ::boost::intrusive::treap::rtop() - reverse_iterator rtop(); - - //! @copydoc ::boost::intrusive::treap::rtop()const - const_reverse_iterator rtop() const; - - //! @copydoc ::boost::intrusive::treap::crtop()const - const_reverse_iterator crtop() const; - - //! @copydoc ::boost::intrusive::treap::crtop() const - priority_compare priority_comp() const; - #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! @copydoc ::boost::intrusive::treap::insert_unique(reference) - std::pair insert(reference value) - { return tree_type::insert_unique(value); } - - //! @copydoc ::boost::intrusive::treap::insert_unique(const_iterator,reference) - iterator insert(const_iterator hint, reference value) - { return tree_type::insert_unique(hint, value); } - - //! @copydoc ::boost::intrusive::treap::insert_unique_check(const KeyType&,KeyValueCompare,KeyValuePrioCompare,insert_commit_data&) - template - std::pair insert_check - ( const KeyType &key, KeyValueCompare key_value_comp, KeyValuePrioCompare key_value_pcomp - , insert_commit_data &commit_data) - { return tree_type::insert_unique_check(key, key_value_comp, key_value_pcomp, commit_data); } - - //! @copydoc ::boost::intrusive::treap::insert_unique_check(const_iterator,const KeyType&,KeyValueCompare,KeyValuePrioCompare,insert_commit_data&) - template - std::pair insert_check - ( const_iterator hint, const KeyType &key - , KeyValueCompare key_value_comp, KeyValuePrioCompare key_value_pcomp - , insert_commit_data &commit_data) - { return tree_type::insert_unique_check(hint, key, key_value_comp, key_value_pcomp, commit_data); } - - //! @copydoc ::boost::intrusive::treap::insert_unique(Iterator,Iterator) - template - void insert(Iterator b, Iterator e) - { tree_type::insert_unique(b, e); } - - //! @copydoc ::boost::intrusive::treap::insert_unique_commit - iterator insert_commit(reference value, const insert_commit_data &commit_data) - { return tree_type::insert_unique_commit(value, commit_data); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - //! @copydoc ::boost::intrusive::treap::insert_before - iterator insert_before(const_iterator pos, reference value); - - //! @copydoc ::boost::intrusive::treap::push_back - void push_back(reference value); - - //! @copydoc ::boost::intrusive::treap::push_front - void push_front(reference value); - - //! @copydoc ::boost::intrusive::treap::erase(const_iterator) - iterator erase(const_iterator i); - - //! @copydoc ::boost::intrusive::treap::erase(const_iterator,const_iterator) - iterator erase(const_iterator b, const_iterator e); - - //! @copydoc ::boost::intrusive::treap::erase(const_reference) - size_type erase(const_reference value); - - //! @copydoc ::boost::intrusive::treap::erase(const KeyType&,KeyValueCompare) - template - size_type erase(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::treap::erase_and_dispose(const_iterator,Disposer) - template - iterator erase_and_dispose(const_iterator i, Disposer disposer); - - //! @copydoc ::boost::intrusive::treap::erase_and_dispose(const_iterator,const_iterator,Disposer) - template - iterator erase_and_dispose(const_iterator b, const_iterator e, Disposer disposer); - - //! @copydoc ::boost::intrusive::treap::erase_and_dispose(const_reference, Disposer) - template - size_type erase_and_dispose(const_reference value, Disposer disposer); - - //! @copydoc ::boost::intrusive::treap::erase_and_dispose(const KeyType&,KeyValueCompare,Disposer) - template - size_type erase_and_dispose(const KeyType& key, KeyValueCompare comp, Disposer disposer); - - //! @copydoc ::boost::intrusive::treap::clear - void clear(); - - //! @copydoc ::boost::intrusive::treap::clear_and_dispose - template - void clear_and_dispose(Disposer disposer); - - #endif // #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! @copydoc ::boost::intrusive::treap::count(const_reference)const - size_type count(const_reference value) const - { return static_cast(this->tree_type::find(value) != this->tree_type::cend()); } - - //! @copydoc ::boost::intrusive::treap::count(const KeyType&,KeyValueCompare)const - template - size_type count(const KeyType& key, KeyValueCompare comp) const - { return static_cast(this->tree_type::find(key, comp) != this->tree_type::cend()); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! @copydoc ::boost::intrusive::treap::lower_bound(const_reference) - iterator lower_bound(const_reference value); - - //! @copydoc ::boost::intrusive::treap::lower_bound(const KeyType&,KeyValueCompare) - template - iterator lower_bound(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::treap::lower_bound(const_reference)const - const_iterator lower_bound(const_reference value) const; - - //! @copydoc ::boost::intrusive::treap::lower_bound(const KeyType&,KeyValueCompare)const - template - const_iterator lower_bound(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::treap::upper_bound(const_reference) - iterator upper_bound(const_reference value); - - //! @copydoc ::boost::intrusive::treap::upper_bound(const KeyType&,KeyValueCompare) - template - iterator upper_bound(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::treap::upper_bound(const_reference)const - const_iterator upper_bound(const_reference value) const; - - //! @copydoc ::boost::intrusive::treap::upper_bound(const KeyType&,KeyValueCompare)const - template - const_iterator upper_bound(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::treap::find(const_reference) - iterator find(const_reference value); - - //! @copydoc ::boost::intrusive::treap::find(const KeyType&,KeyValueCompare) - template - iterator find(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::treap::find(const_reference)const - const_iterator find(const_reference value) const; - - //! @copydoc ::boost::intrusive::treap::find(const KeyType&,KeyValueCompare)const - template - const_iterator find(const KeyType& key, KeyValueCompare comp) const; - - #endif // #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! @copydoc ::boost::intrusive::rbtree::equal_range(const_reference) - std::pair equal_range(const_reference value) - { return this->tree_type::lower_bound_range(value); } - - //! @copydoc ::boost::intrusive::rbtree::equal_range(const KeyType&,KeyValueCompare) - template - std::pair equal_range(const KeyType& key, KeyValueCompare comp) - { return this->tree_type::lower_bound_range(key, comp); } - - //! @copydoc ::boost::intrusive::rbtree::equal_range(const_reference)const - std::pair - equal_range(const_reference value) const - { return this->tree_type::lower_bound_range(value); } - - //! @copydoc ::boost::intrusive::rbtree::equal_range(const KeyType&,KeyValueCompare)const - template - std::pair - equal_range(const KeyType& key, KeyValueCompare comp) const - { return this->tree_type::lower_bound_range(key, comp); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! @copydoc ::boost::intrusive::treap::bounded_range(const_reference,const_reference,bool,bool) - std::pair bounded_range - (const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed); - - //! @copydoc ::boost::intrusive::treap::bounded_range(const KeyType&,const KeyType&,KeyValueCompare,bool,bool) - template - std::pair bounded_range - (const KeyType& lower_key, const KeyType& upper_key, KeyValueCompare comp, bool left_closed, bool right_closed); - - //! @copydoc ::boost::intrusive::treap::bounded_range(const_reference,const_reference,bool,bool)const - std::pair - bounded_range(const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed) const; - - //! @copydoc ::boost::intrusive::treap::bounded_range(const KeyType&,const KeyType&,KeyValueCompare,bool,bool)const - template - std::pair bounded_range - (const KeyType& lower_key, const KeyType& upper_key, KeyValueCompare comp, bool left_closed, bool right_closed) const; - - //! @copydoc ::boost::intrusive::treap::s_iterator_to(reference) - static iterator s_iterator_to(reference value); - - //! @copydoc ::boost::intrusive::treap::s_iterator_to(const_reference) - static const_iterator s_iterator_to(const_reference value); - - //! @copydoc ::boost::intrusive::treap::iterator_to(reference) - iterator iterator_to(reference value); - - //! @copydoc ::boost::intrusive::treap::iterator_to(const_reference)const - const_iterator iterator_to(const_reference value) const; - - //! @copydoc ::boost::intrusive::treap::init_node(reference) - static void init_node(reference value); - - //! @copydoc ::boost::intrusive::treap::unlink_leftmost_without_rebalance - pointer unlink_leftmost_without_rebalance(); - - //! @copydoc ::boost::intrusive::treap::replace_node - void replace_node(iterator replace_this, reference with_this); - - //! @copydoc ::boost::intrusive::treap::remove_node - void remove_node(reference value); - - #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED -}; - - -//! Helper metafunction to define a \c treap_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 -#else -template -#endif -struct make_treap_set -{ - typedef typename pack_options - < treap_defaults, - #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) - O1, O2, O3, O4, O5 - #else - Options... - #endif - >::type packed_options; - - typedef typename detail::get_value_traits - ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; - - typedef treap_set_impl - < value_traits - , typename packed_options::compare - , typename packed_options::priority - , typename packed_options::size_type - , packed_options::constant_time_size - , header_holder_type - > implementation_defined; - /// @endcond - typedef implementation_defined type; -}; - -#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED - -#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) -template -#else -template -#endif -class treap_set - : public make_treap_set::type -{ - typedef typename make_treap_set - ::type Base; - BOOST_MOVABLE_BUT_NOT_COPYABLE(treap_set) - - public: - typedef typename Base::value_compare value_compare; - typedef typename Base::priority_compare priority_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::value)); - - explicit treap_set( const value_compare &cmp = value_compare() - , const priority_compare &pcmp = priority_compare() - , const value_traits &v_traits = value_traits()) - : Base(cmp, pcmp, v_traits) - {} - - template - treap_set( Iterator b, Iterator e - , const value_compare &cmp = value_compare() - , const priority_compare &pcmp = priority_compare() - , const value_traits &v_traits = value_traits()) - : Base(b, e, cmp, pcmp, v_traits) - {} - - treap_set(BOOST_RV_REF(treap_set) x) - : Base(::boost::move(static_cast(x))) - {} - - treap_set& operator=(BOOST_RV_REF(treap_set) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } - - static treap_set &container_from_end_iterator(iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } - - static const treap_set &container_from_end_iterator(const_iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } - - static treap_set &container_from_iterator(iterator it) - { return static_cast(Base::container_from_iterator(it)); } - - static const treap_set &container_from_iterator(const_iterator it) - { return static_cast(Base::container_from_iterator(it)); } -}; - -#endif - -//! The class template treap_multiset is an intrusive container, that mimics most of -//! the interface of std::treap_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<>, -//! \c compare<> and \c priority_compare<> -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -template -#else -template -#endif -class treap_multiset_impl -#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED - : public treap_impl -#endif -{ - /// @cond - typedef treap_impl tree_type; - BOOST_MOVABLE_BUT_NOT_COPYABLE(treap_multiset_impl) - - typedef tree_type implementation_defined; - /// @endcond - - public: - typedef typename implementation_defined::value_type value_type; - 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::priority_compare priority_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 = implementation_defined::constant_time_size; - - public: - //! Effects: Constructs an empty treap_multiset. - //! - //! Complexity: Constant. - //! - //! Throws: If value_traits::node_traits::node - //! constructor throws (this does not happen with predefined Boost.Intrusive hooks) - //! or the copy constructor of the value_compare object throws. - explicit treap_multiset_impl( const value_compare &cmp = value_compare() - , const priority_compare &pcmp = priority_compare() - , const value_traits &v_traits = value_traits()) - : tree_type(cmp, pcmp, v_traits) - {} - - //! Requires: Dereferencing iterator must yield an lvalue of type value_type. - //! cmp must be a comparison function that induces a strict weak ordering. - //! - //! Effects: Constructs an empty treap_multiset and inserts elements from - //! [b, e). - //! - //! Complexity: Linear in N if [b, e) is already sorted using - //! comp and otherwise N * log N, where N is std::distance(last, first). - //! - //! Throws: If value_traits::node_traits::node - //! constructor throws (this does not happen with predefined Boost.Intrusive hooks) - //! or the copy constructor/operator() of the value_compare object throws. - template - treap_multiset_impl( Iterator b, Iterator e - , const value_compare &cmp = value_compare() - , const priority_compare &pcmp = priority_compare() - , const value_traits &v_traits = value_traits()) - : tree_type(false, b, e, cmp, pcmp, v_traits) - {} - - //! Effects: to-do - //! - treap_multiset_impl(BOOST_RV_REF(treap_multiset_impl) x) - : tree_type(::boost::move(static_cast(x))) - {} - - //! Effects: to-do - //! - treap_multiset_impl& operator=(BOOST_RV_REF(treap_multiset_impl) x) - { return static_cast(tree_type::operator=(::boost::move(static_cast(x)))); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - //! @copydoc ::boost::intrusive::treap::~treap() - ~treap_multiset_impl(); - - //! @copydoc ::boost::intrusive::treap::begin() - iterator begin(); - - //! @copydoc ::boost::intrusive::treap::begin()const - const_iterator begin() const; - - //! @copydoc ::boost::intrusive::treap::cbegin()const - const_iterator cbegin() const; - - //! @copydoc ::boost::intrusive::treap::end() - iterator end(); - - //! @copydoc ::boost::intrusive::treap::end()const - const_iterator end() const; - - //! @copydoc ::boost::intrusive::treap::cend()const - const_iterator cend() const; - - //! @copydoc ::boost::intrusive::treap::rbegin() - reverse_iterator rbegin(); - - //! @copydoc ::boost::intrusive::treap::rbegin()const - const_reverse_iterator rbegin() const; - - //! @copydoc ::boost::intrusive::treap::crbegin()const - const_reverse_iterator crbegin() const; - - //! @copydoc ::boost::intrusive::treap::rend() - reverse_iterator rend(); - - //! @copydoc ::boost::intrusive::treap::rend()const - const_reverse_iterator rend() const; - - //! @copydoc ::boost::intrusive::treap::crend()const - const_reverse_iterator crend() const; - - //! @copydoc ::boost::intrusive::treap::container_from_end_iterator(iterator) - static treap_multiset_impl &container_from_end_iterator(iterator end_iterator); - - //! @copydoc ::boost::intrusive::treap::container_from_end_iterator(const_iterator) - static const treap_multiset_impl &container_from_end_iterator(const_iterator end_iterator); - - //! @copydoc ::boost::intrusive::treap::container_from_iterator(iterator) - static treap_multiset_impl &container_from_iterator(iterator it); - - //! @copydoc ::boost::intrusive::treap::container_from_iterator(const_iterator) - static const treap_multiset_impl &container_from_iterator(const_iterator it); - - //! @copydoc ::boost::intrusive::treap::key_comp()const - key_compare key_comp() const; - - //! @copydoc ::boost::intrusive::treap::value_comp()const - value_compare value_comp() const; - - //! @copydoc ::boost::intrusive::treap::empty()const - bool empty() const; - - //! @copydoc ::boost::intrusive::treap::size()const - size_type size() const; - - //! @copydoc ::boost::intrusive::treap::swap - void swap(treap_multiset_impl& other); - - //! @copydoc ::boost::intrusive::treap::clone_from - template - void clone_from(const treap_multiset_impl &src, Cloner cloner, Disposer disposer); - - //! @copydoc ::boost::intrusive::treap::top() - iterator top(); - - //! @copydoc ::boost::intrusive::treap::top()const - const_iterator top() const; - - //! @copydoc ::boost::intrusive::treap::ctop()const - const_iterator ctop() const; - - //! @copydoc ::boost::intrusive::treap::rtop() - reverse_iterator rtop(); - - //! @copydoc ::boost::intrusive::treap::rtop()const - const_reverse_iterator rtop() const; - - //! @copydoc ::boost::intrusive::treap::crtop()const - const_reverse_iterator crtop() const; - - //! @copydoc ::boost::intrusive::treap::crtop() const - priority_compare priority_comp() const; - #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! @copydoc ::boost::intrusive::treap::insert_equal(reference) - iterator insert(reference value) - { return tree_type::insert_equal(value); } - - //! @copydoc ::boost::intrusive::treap::insert_equal(const_iterator,reference) - iterator insert(const_iterator hint, reference value) - { return tree_type::insert_equal(hint, value); } - - //! @copydoc ::boost::intrusive::treap::insert_equal(Iterator,Iterator) - template - void insert(Iterator b, Iterator e) - { tree_type::insert_equal(b, e); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - //! @copydoc ::boost::intrusive::treap::insert_before - iterator insert_before(const_iterator pos, reference value); - - //! @copydoc ::boost::intrusive::treap::push_back - void push_back(reference value); - - //! @copydoc ::boost::intrusive::treap::push_front - void push_front(reference value); - - //! @copydoc ::boost::intrusive::treap::erase(const_iterator) - iterator erase(const_iterator i); - - //! @copydoc ::boost::intrusive::treap::erase(const_iterator,const_iterator) - iterator erase(const_iterator b, const_iterator e); - - //! @copydoc ::boost::intrusive::treap::erase(const_reference) - size_type erase(const_reference value); - - //! @copydoc ::boost::intrusive::treap::erase(const KeyType&,KeyValueCompare) - template - size_type erase(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::treap::erase_and_dispose(const_iterator,Disposer) - template - iterator erase_and_dispose(const_iterator i, Disposer disposer); - - //! @copydoc ::boost::intrusive::treap::erase_and_dispose(const_iterator,const_iterator,Disposer) - template - iterator erase_and_dispose(const_iterator b, const_iterator e, Disposer disposer); - - //! @copydoc ::boost::intrusive::treap::erase_and_dispose(const_reference, Disposer) - template - size_type erase_and_dispose(const_reference value, Disposer disposer); - - //! @copydoc ::boost::intrusive::treap::erase_and_dispose(const KeyType&,KeyValueCompare,Disposer) - template - size_type erase_and_dispose(const KeyType& key, KeyValueCompare comp, Disposer disposer); - - //! @copydoc ::boost::intrusive::treap::clear - void clear(); - - //! @copydoc ::boost::intrusive::treap::clear_and_dispose - template - void clear_and_dispose(Disposer disposer); - - //! @copydoc ::boost::intrusive::treap::count(const_reference)const - size_type count(const_reference value) const; - - //! @copydoc ::boost::intrusive::treap::count(const KeyType&,KeyValueCompare)const - template - size_type count(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::treap::lower_bound(const_reference) - iterator lower_bound(const_reference value); - - //! @copydoc ::boost::intrusive::treap::lower_bound(const KeyType&,KeyValueCompare) - template - iterator lower_bound(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::treap::lower_bound(const_reference)const - const_iterator lower_bound(const_reference value) const; - - //! @copydoc ::boost::intrusive::treap::lower_bound(const KeyType&,KeyValueCompare)const - template - const_iterator lower_bound(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::treap::upper_bound(const_reference) - iterator upper_bound(const_reference value); - - //! @copydoc ::boost::intrusive::treap::upper_bound(const KeyType&,KeyValueCompare) - template - iterator upper_bound(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::treap::upper_bound(const_reference)const - const_iterator upper_bound(const_reference value) const; - - //! @copydoc ::boost::intrusive::treap::upper_bound(const KeyType&,KeyValueCompare)const - template - const_iterator upper_bound(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::treap::find(const_reference) - iterator find(const_reference value); - - //! @copydoc ::boost::intrusive::treap::find(const KeyType&,KeyValueCompare) - template - iterator find(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::treap::find(const_reference)const - const_iterator find(const_reference value) const; - - //! @copydoc ::boost::intrusive::treap::find(const KeyType&,KeyValueCompare)const - template - const_iterator find(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::treap::equal_range(const_reference) - std::pair equal_range(const_reference value); - - //! @copydoc ::boost::intrusive::treap::equal_range(const KeyType&,KeyValueCompare) - template - std::pair equal_range(const KeyType& key, KeyValueCompare comp); - - //! @copydoc ::boost::intrusive::treap::equal_range(const_reference)const - std::pair - equal_range(const_reference value) const; - - //! @copydoc ::boost::intrusive::treap::equal_range(const KeyType&,KeyValueCompare)const - template - std::pair - equal_range(const KeyType& key, KeyValueCompare comp) const; - - //! @copydoc ::boost::intrusive::treap::bounded_range(const_reference,const_reference,bool,bool) - std::pair bounded_range - (const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed); - - //! @copydoc ::boost::intrusive::treap::bounded_range(const KeyType&,const KeyType&,KeyValueCompare,bool,bool) - template - std::pair bounded_range - (const KeyType& lower_key, const KeyType& upper_key, KeyValueCompare comp, bool left_closed, bool right_closed); - - //! @copydoc ::boost::intrusive::treap::bounded_range(const_reference,const_reference,bool,bool)const - std::pair - bounded_range(const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed) const; - - //! @copydoc ::boost::intrusive::treap::bounded_range(const KeyType&,const KeyType&,KeyValueCompare,bool,bool)const - template - std::pair bounded_range - (const KeyType& lower_key, const KeyType& upper_key, KeyValueCompare comp, bool left_closed, bool right_closed) const; - - //! @copydoc ::boost::intrusive::treap::s_iterator_to(reference) - static iterator s_iterator_to(reference value); - - //! @copydoc ::boost::intrusive::treap::s_iterator_to(const_reference) - static const_iterator s_iterator_to(const_reference value); - - //! @copydoc ::boost::intrusive::treap::iterator_to(reference) - iterator iterator_to(reference value); - - //! @copydoc ::boost::intrusive::treap::iterator_to(const_reference)const - const_iterator iterator_to(const_reference value) const; - - //! @copydoc ::boost::intrusive::treap::init_node(reference) - static void init_node(reference value); - - //! @copydoc ::boost::intrusive::treap::unlink_leftmost_without_rebalance - pointer unlink_leftmost_without_rebalance(); - - //! @copydoc ::boost::intrusive::treap::replace_node - void replace_node(iterator replace_this, reference with_this); - - //! @copydoc ::boost::intrusive::treap::remove_node - void remove_node(reference value); - - #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED -}; - - -//! Helper metafunction to define a \c treap_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 -#else -template -#endif -struct make_treap_multiset -{ - typedef typename pack_options - < treap_defaults, - #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) - O1, O2, O3, O4, O5 - #else - Options... - #endif - >::type packed_options; - - typedef typename detail::get_value_traits - ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; - - typedef treap_multiset_impl - < value_traits - , typename packed_options::compare - , typename packed_options::priority - , typename packed_options::size_type - , packed_options::constant_time_size - , header_holder_type - > implementation_defined; - /// @endcond - typedef implementation_defined type; -}; - -#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED - -#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) -template -#else -template -#endif -class treap_multiset - : public make_treap_multiset::type -{ - typedef typename make_treap_multiset - ::type Base; - BOOST_MOVABLE_BUT_NOT_COPYABLE(treap_multiset) - - public: - typedef typename Base::value_compare value_compare; - typedef typename Base::priority_compare priority_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::value)); - - explicit treap_multiset( const value_compare &cmp = value_compare() - , const priority_compare &pcmp = priority_compare() - , const value_traits &v_traits = value_traits()) - : Base(cmp, pcmp, v_traits) - {} - - template - treap_multiset( Iterator b, Iterator e - , const value_compare &cmp = value_compare() - , const priority_compare &pcmp = priority_compare() - , const value_traits &v_traits = value_traits()) - : Base(b, e, cmp, pcmp, v_traits) - {} - - treap_multiset(BOOST_RV_REF(treap_multiset) x) - : Base(::boost::move(static_cast(x))) - {} - - treap_multiset& operator=(BOOST_RV_REF(treap_multiset) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } - - static treap_multiset &container_from_end_iterator(iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } - - static const treap_multiset &container_from_end_iterator(const_iterator end_iterator) - { return static_cast(Base::container_from_end_iterator(end_iterator)); } - - static treap_multiset &container_from_iterator(iterator it) - { return static_cast(Base::container_from_iterator(it)); } - - static const treap_multiset &container_from_iterator(const_iterator it) - { return static_cast(Base::container_from_iterator(it)); } -}; - -#endif - -} //namespace intrusive -} //namespace boost - -#include - -#endif //BOOST_INTRUSIVE_TRIE_SET_HPP diff --git a/bundled/boost-1.56.0/include/boost/intrusive/unordered_set.hpp b/bundled/boost-1.56.0/include/boost/intrusive/unordered_set.hpp deleted file mode 100644 index f91fc765f5..0000000000 --- a/bundled/boost-1.56.0/include/boost/intrusive/unordered_set.hpp +++ /dev/null @@ -1,2160 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Olaf Krzikalla 2004-2006. -// (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_UNORDERED_SET_HPP -#define BOOST_INTRUSIVE_UNORDERED_SET_HPP - -#include -#include -#include -#include -#include - - -namespace boost { -namespace intrusive { - -//! The class template unordered_set is an intrusive container, that mimics most of -//! the interface of std::tr1::unordered_set as described in the C++ TR1. -//! -//! unordered_set is a semi-intrusive container: each object to be stored in the -//! container must contain a proper hook, but the container also needs -//! additional auxiliary memory to work: unordered_set needs a pointer to an array -//! of type `bucket_type` to be passed in the constructor. This bucket array must -//! have at least the same lifetime as the container. This makes the use of -//! unordered_set more complicated than purely intrusive containers. -//! `bucket_type` is default-constructible, copyable and assignable -//! -//! 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<>, \c hash<> and \c equal<> -//! \c bucket_traits<>, \c power_2_buckets<> and \c cache_begin<>. -//! -//! unordered_set only provides forward iterators but it provides 4 iterator types: -//! iterator and const_iterator to navigate through the whole container and -//! local_iterator and const_local_iterator to navigate through the values -//! stored in a single bucket. Local iterators are faster and smaller. -//! -//! It's not recommended to use non constant-time size unordered_sets because several -//! key functions, like "empty()", become non-constant time functions. Non -//! constant-time size unordered_sets are mainly provided to support auto-unlink hooks. -//! -//! unordered_set, unlike std::unordered_set, does not make automatic rehashings nor -//! offers functions related to a load factor. Rehashing can be explicitly requested -//! and the user must provide a new bucket array that will be used from that moment. -//! -//! Since no automatic rehashing is done, iterators are never invalidated when -//! inserting or erasing elements. Iterators are only invalidated when rehasing. -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -template -#else -template -#endif -class unordered_set_impl - : public hashtable_impl -{ - /// @cond - private: - typedef hashtable_impl table_type; - - //! This class is - //! movable - BOOST_MOVABLE_BUT_NOT_COPYABLE(unordered_set_impl) - - typedef table_type implementation_defined; - /// @endcond - - public: - typedef typename implementation_defined::value_type value_type; - typedef typename implementation_defined::value_traits value_traits; - typedef typename implementation_defined::bucket_traits bucket_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::key_type key_type; - typedef typename implementation_defined::key_equal key_equal; - typedef typename implementation_defined::hasher hasher; - typedef typename implementation_defined::bucket_type bucket_type; - typedef typename implementation_defined::bucket_ptr bucket_ptr; - typedef typename implementation_defined::iterator iterator; - typedef typename implementation_defined::const_iterator const_iterator; - typedef typename implementation_defined::insert_commit_data insert_commit_data; - typedef typename implementation_defined::local_iterator local_iterator; - typedef typename implementation_defined::const_local_iterator const_local_iterator; - 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; - - public: - - //! Requires: buckets must not be being used by any other resource. - //! - //! Effects: Constructs an empty unordered_set_impl, storing a reference - //! to the bucket array and copies of the hasher and equal functors. - //! - //! Complexity: Constant. - //! - //! Throws: If value_traits::node_traits::node - //! constructor throws (this does not happen with predefined Boost.Intrusive hooks) - //! or the copy constructor or invocation of Hash or Equal throws. - //! - //! Notes: buckets array must be disposed only after - //! *this is disposed. - explicit unordered_set_impl( const bucket_traits &b_traits - , const hasher & hash_func = hasher() - , const key_equal &equal_func = key_equal() - , const value_traits &v_traits = value_traits()) - : table_type(b_traits, hash_func, equal_func, v_traits) - {} - - //! Requires: buckets must not be being used by any other resource - //! and Dereferencing iterator must yield an lvalue of type value_type. - //! - //! Effects: Constructs an empty unordered_set and inserts elements from - //! [b, e). - //! - //! Complexity: If N is std::distance(b, e): Average case is O(N) - //! (with a good hash function and with buckets_len >= N),worst case O(N2). - //! - //! Throws: If value_traits::node_traits::node - //! constructor throws (this does not happen with predefined Boost.Intrusive hooks) - //! or the copy constructor or invocation of hasher or key_equal throws. - //! - //! Notes: buckets array must be disposed only after - //! *this is disposed. - template - unordered_set_impl( Iterator b - , Iterator e - , const bucket_traits &b_traits - , const hasher & hash_func = hasher() - , const key_equal &equal_func = key_equal() - , const value_traits &v_traits = value_traits()) - : table_type(b_traits, hash_func, equal_func, v_traits) - { table_type::insert_unique(b, e); } - - //! Effects: to-do - //! - unordered_set_impl(BOOST_RV_REF(unordered_set_impl) x) - : table_type(::boost::move(static_cast(x))) - {} - - //! Effects: to-do - //! - unordered_set_impl& operator=(BOOST_RV_REF(unordered_set_impl) x) - { return static_cast(table_type::operator=(::boost::move(static_cast(x)))); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - //! Effects: Detaches all elements from this. The objects in the unordered_set - //! are not deleted (i.e. no destructors are called). - //! - //! Complexity: Linear to the number of elements in the unordered_set, if - //! it's a safe-mode or auto-unlink value. Otherwise constant. - //! - //! Throws: Nothing. - ~unordered_set_impl() - {} - - //! Effects: Returns an iterator pointing to the beginning of the unordered_set. - //! - //! Complexity: Constant time if `cache_begin<>` is true. Amortized - //! constant time with worst case (empty unordered_set) O(this->bucket_count()) - //! - //! Throws: Nothing. - iterator begin() - { return table_type::begin(); } - - //! Effects: Returns a const_iterator pointing to the beginning - //! of the unordered_set. - //! - //! Complexity: Constant time if `cache_begin<>` is true. Amortized - //! constant time with worst case (empty unordered_set) O(this->bucket_count()) - //! - //! Throws: Nothing. - const_iterator begin() const - { return table_type::begin(); } - - //! Effects: Returns a const_iterator pointing to the beginning - //! of the unordered_set. - //! - //! Complexity: Constant time if `cache_begin<>` is true. Amortized - //! constant time with worst case (empty unordered_set) O(this->bucket_count()) - //! - //! Throws: Nothing. - const_iterator cbegin() const - { return table_type::cbegin(); } - - //! Effects: Returns an iterator pointing to the end of the unordered_set. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - iterator end() - { return table_type::end(); } - - //! Effects: Returns a const_iterator pointing to the end of the unordered_set. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - const_iterator end() const - { return table_type::end(); } - - //! Effects: Returns a const_iterator pointing to the end of the unordered_set. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - const_iterator cend() const - { return table_type::cend(); } - - //! Effects: Returns the hasher object used by the unordered_set. - //! - //! Complexity: Constant. - //! - //! Throws: If hasher copy-constructor throws. - hasher hash_function() const - { return table_type::hash_function(); } - - //! Effects: Returns the key_equal object used by the unordered_set. - //! - //! Complexity: Constant. - //! - //! Throws: If key_equal copy-constructor throws. - key_equal key_eq() const - { return table_type::key_eq(); } - - //! Effects: Returns true if the container is empty. - //! - //! Complexity: if constant-time size and cache_last options are disabled, - //! average constant time (worst case, with empty() == true: O(this->bucket_count()). - //! Otherwise constant. - //! - //! Throws: Nothing. - bool empty() const - { return table_type::empty(); } - - //! Effects: Returns the number of elements stored in the unordered_set. - //! - //! Complexity: Linear to elements contained in *this if - //! constant-time size option is disabled. Constant-time otherwise. - //! - //! Throws: Nothing. - size_type size() const - { return table_type::size(); } - - //! Requires: the hasher and the equality function unqualified swap - //! call should not throw. - //! - //! Effects: Swaps the contents of two unordered_sets. - //! Swaps also the contained bucket array and equality and hasher functors. - //! - //! Complexity: Constant. - //! - //! Throws: If the swap() call for the comparison or hash functors - //! found using ADL throw. Basic guarantee. - void swap(unordered_set_impl& other) - { table_type::swap(other.table_); } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! Cloner should yield to nodes that compare equal and produce the same - //! hash than the original node. - //! - //! Effects: Erases all the elements from *this - //! calling Disposer::operator()(pointer), clones all the - //! elements from src calling Cloner::operator()(const_reference ) - //! and inserts them on *this. The hash function and the equality - //! predicate are copied from the source. - //! - //! If store_hash option is true, this method does not use the hash function. - //! - //! If any operation throws, all cloned elements are unlinked and disposed - //! calling Disposer::operator()(pointer). - //! - //! Complexity: Linear to erased plus inserted elements. - //! - //! Throws: If cloner or hasher throw or hash or equality predicate copying - //! throws. Basic guarantee. - template - void clone_from(const unordered_set_impl &src, Cloner cloner, Disposer disposer) - { table_type::clone_from(src.table_, cloner, disposer); } - - #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! Requires: value must be an lvalue - //! - //! Effects: Tries to inserts value into the unordered_set. - //! - //! Returns: If the value - //! is not already present inserts it and returns a pair containing the - //! iterator to the new value and true. If there is an equivalent value - //! returns a pair containing an iterator to the already present value - //! and false. - //! - //! Complexity: Average case O(1), worst case O(this->size()). - //! - //! Throws: If the internal hasher or the equality functor throws. Strong guarantee. - //! - //! Note: Does not affect the validity of iterators and references. - //! No copy-constructors are called. - std::pair insert(reference value) - { return table_type::insert_unique(value); } - - //! Requires: Dereferencing iterator must yield an lvalue - //! of type value_type. - //! - //! Effects: Equivalent to this->insert(t) for each element in [b, e). - //! - //! Complexity: Average case O(N), where N is std::distance(b, e). - //! Worst case O(N*this->size()). - //! - //! Throws: If the internal hasher or the equality functor throws. Basic guarantee. - //! - //! Note: Does not affect the validity of iterators and references. - //! No copy-constructors are called. - template - void insert(Iterator b, Iterator e) - { table_type::insert_unique(b, e); } - - //! Requires: "hasher" must be a hash function that induces - //! the same hash values as the stored hasher. The difference is that - //! "hasher" hashes the given key instead of the value_type. - //! - //! "key_value_equal" must be a equality function that induces - //! the same equality as key_equal. The difference is that - //! "key_value_equal" compares an arbitrary key with the contained values. - //! - //! Effects: Checks if a value can be inserted in the unordered_set, using - //! a user provided key instead of the value itself. - //! - //! Returns: If there is an equivalent value - //! returns a pair containing an iterator to the already present value - //! and false. If the value can be inserted returns true in the returned - //! pair boolean and fills "commit_data" that is meant to be used with - //! the "insert_commit" function. - //! - //! Complexity: Average case O(1), worst case O(this->size()). - //! - //! Throws: If hasher or key_value_equal throw. Strong guarantee. - //! - //! Notes: This function is used to improve performance when constructing - //! a value_type is expensive: if there is an equivalent value - //! the constructed object must be discarded. Many times, the part of the - //! node that is used to impose the hash or the equality is much cheaper to - //! construct than the value_type and this function offers the possibility to - //! use that the part to check if the insertion will be successful. - //! - //! If the check is successful, the user can construct the value_type and use - //! "insert_commit" to insert the object in constant-time. - //! - //! "commit_data" remains valid for a subsequent "insert_commit" only if no more - //! objects are inserted or erased from the unordered_set. - //! - //! After a successful rehashing insert_commit_data remains valid. - template - std::pair insert_check - (const KeyType &key, KeyHasher hasher, KeyValueEqual key_value_equal, insert_commit_data &commit_data) - { return table_type::insert_unique_check(key, hasher, key_value_equal, commit_data); } - - //! Requires: value must be an lvalue of type value_type. commit_data - //! must have been obtained from a previous call to "insert_check". - //! No objects should have been inserted or erased from the unordered_set between - //! the "insert_check" that filled "commit_data" and the call to "insert_commit". - //! - //! Effects: Inserts the value in the unordered_set using the information obtained - //! from the "commit_data" that a previous "insert_check" filled. - //! - //! Returns: An iterator to the newly inserted object. - //! - //! Complexity: Constant time. - //! - //! Throws: Nothing. - //! - //! Notes: This function has only sense if a "insert_check" has been - //! previously executed to fill "commit_data". No value should be inserted or - //! erased between the "insert_check" and "insert_commit" calls. - //! - //! After a successful rehashing insert_commit_data remains valid. - iterator insert_commit(reference value, const insert_commit_data &commit_data) - { return table_type::insert_unique_commit(value, commit_data); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! Effects: Erases the element pointed to by i. - //! - //! Complexity: Average case O(1), worst case O(this->size()). - //! - //! Throws: Nothing. - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased element. No destructors are called. - void erase(const_iterator i) - { table_type::erase(i); } - - //! Effects: Erases the range pointed to by b end e. - //! - //! Complexity: Average case O(std::distance(b, e)), - //! worst case O(this->size()). - //! - //! Throws: Nothing. - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased elements. No destructors are called. - void erase(const_iterator b, const_iterator e) - { table_type::erase(b, e); } - - //! Effects: Erases all the elements with the given value. - //! - //! Returns: The number of erased elements. - //! - //! Complexity: Average case O(this->count(value)). - //! Worst case O(this->size()). - //! - //! Throws: If the internal hasher or the equality functor throws. Basic guarantee. - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased elements. No destructors are called. - size_type erase(const_reference value) - { return table_type::erase(value); } - - //! Requires: "hasher" must be a hash function that induces - //! the same hash values as the stored hasher. The difference is that - //! "hasher" hashes the given key instead of the value_type. - //! - //! "key_value_equal" must be a equality function that induces - //! the same equality as key_equal. The difference is that - //! "key_value_equal" compares an arbitrary key with the contained values. - //! - //! Effects: Erases all the elements that have the same hash and - //! compare equal with the given key. - //! - //! Returns: The number of erased elements. - //! - //! Complexity: Average case O(this->count(value)). - //! Worst case O(this->size()). - //! - //! Throws: If hash_func or equal_func throw. Basic guarantee. - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased elements. No destructors are called. - template - size_type erase(const KeyType& key, KeyHasher hash_func, KeyValueEqual equal_func) - { return table_type::erase(key, hash_func, equal_func); } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Erases the element pointed to by i. - //! Disposer::operator()(pointer) is called for the removed element. - //! - //! Complexity: Average case O(1), worst case O(this->size()). - //! - //! Throws: Nothing. - //! - //! Note: Invalidates the iterators - //! to the erased elements. - template - void erase_and_dispose(const_iterator i, Disposer disposer - /// @cond - , typename detail::enable_if_c::value >::type * = 0 - /// @endcond - ) - { table_type::erase_and_dispose(i, disposer); } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Erases the range pointed to by b end e. - //! Disposer::operator()(pointer) is called for the removed elements. - //! - //! Complexity: Average case O(std::distance(b, e)), - //! worst case O(this->size()). - //! - //! Throws: Nothing. - //! - //! Note: Invalidates the iterators - //! to the erased elements. - template - void erase_and_dispose(const_iterator b, const_iterator e, Disposer disposer) - { table_type::erase_and_dispose(b, e, disposer); } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Erases all the elements with the given value. - //! Disposer::operator()(pointer) is called for the removed elements. - //! - //! Returns: The number of erased elements. - //! - //! Complexity: Average case O(this->count(value)). - //! Worst case O(this->size()). - //! - //! Throws: If the internal hasher or the equality functor throws. Basic guarantee. - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased elements. No destructors are called. - template - size_type erase_and_dispose(const_reference value, Disposer disposer) - { return table_type::erase_and_dispose(value, disposer); } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Erases all the elements with the given key. - //! according to the comparison functor "equal_func". - //! Disposer::operator()(pointer) is called for the removed elements. - //! - //! Returns: The number of erased elements. - //! - //! Complexity: Average case O(this->count(value)). - //! Worst case O(this->size()). - //! - //! Throws: If hash_func or equal_func throw. Basic guarantee. - //! - //! Note: Invalidates the iterators - //! to the erased elements. - template - size_type erase_and_dispose(const KeyType& key, KeyHasher hash_func, KeyValueEqual equal_func, Disposer disposer) - { return table_type::erase_and_dispose(key, hash_func, equal_func, disposer); } - - //! Effects: Erases all of the elements. - //! - //! Complexity: Linear to the number of elements on the container. - //! if it's a safe-mode or auto-unlink value_type. Constant time otherwise. - //! - //! Throws: Nothing. - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased elements. No destructors are called. - void clear() - { return table_type::clear(); } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Erases all of the elements. - //! - //! Complexity: Linear to the number of elements on the container. - //! Disposer::operator()(pointer) is called for the removed elements. - //! - //! Throws: Nothing. - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased elements. No destructors are called. - template - void clear_and_dispose(Disposer disposer) - { return table_type::clear_and_dispose(disposer); } - - //! Effects: Returns the number of contained elements with the given value - //! - //! Complexity: Average case O(1), worst case O(this->size()). - //! - //! Throws: If the internal hasher or the equality functor throws. - size_type count(const_reference value) const - { return table_type::find(value) != end(); } - - //! Requires: "hash_func" must be a hash function that induces - //! the same hash values as the stored hasher. The difference is that - //! "hash_func" hashes the given key instead of the value_type. - //! - //! "equal_func" must be a equality function that induces - //! the same equality as key_equal. The difference is that - //! "equal_func" compares an arbitrary key with the contained values. - //! - //! Effects: Returns the number of contained elements with the given key - //! - //! Complexity: Average case O(1), worst case O(this->size()). - //! - //! Throws: If hash_func or equal_func throw. - template - size_type count(const KeyType& key, KeyHasher hash_func, KeyValueEqual equal_func) const - { return table_type::find(key, hash_func, equal_func) != end(); } - - //! Effects: Finds an iterator to the first element is equal to - //! "value" or end() if that element does not exist. - //! - //! Complexity: Average case O(1), worst case O(this->size()). - //! - //! Throws: If the internal hasher or the equality functor throws. - iterator find(const_reference value) - { return table_type::find(value); } - - //! Requires: "hash_func" must be a hash function that induces - //! the same hash values as the stored hasher. The difference is that - //! "hash_func" hashes the given key instead of the value_type. - //! - //! "equal_func" must be a equality function that induces - //! the same equality as key_equal. The difference is that - //! "equal_func" compares an arbitrary key with the contained values. - //! - //! Effects: Finds an iterator to the first element whose key is - //! "key" according to the given hasher and equality functor or end() if - //! that element does not exist. - //! - //! Complexity: Average case O(1), worst case O(this->size()). - //! - //! Throws: If hash_func or equal_func throw. - //! - //! Note: This function is used when constructing a value_type - //! is expensive and the value_type can be compared with a cheaper - //! key type. Usually this key is part of the value_type. - template - iterator find(const KeyType& key, KeyHasher hash_func, KeyValueEqual equal_func) - { return table_type::find(key, hash_func, equal_func); } - - //! Effects: Finds a const_iterator to the first element whose key is - //! "key" or end() if that element does not exist. - //! - //! Complexity: Average case O(1), worst case O(this->size()). - //! - //! Throws: If the internal hasher or the equality functor throws. - const_iterator find(const_reference value) const - { return table_type::find(value); } - - //! Requires: "hash_func" must be a hash function that induces - //! the same hash values as the stored hasher. The difference is that - //! "hash_func" hashes the given key instead of the value_type. - //! - //! "equal_func" must be a equality function that induces - //! the same equality as key_equal. The difference is that - //! "equal_func" compares an arbitrary key with the contained values. - //! - //! Effects: Finds an iterator to the first element whose key is - //! "key" according to the given hasher and equality functor or end() if - //! that element does not exist. - //! - //! Complexity: Average case O(1), worst case O(this->size()). - //! - //! Throws: If hash_func or equal_func throw. - //! - //! Note: This function is used when constructing a value_type - //! is expensive and the value_type can be compared with a cheaper - //! key type. Usually this key is part of the value_type. - template - const_iterator find(const KeyType& key, KeyHasher hash_func, KeyValueEqual equal_func) const - { return table_type::find(key, hash_func, equal_func); } - - //! Effects: Returns a range containing all elements with values equivalent - //! to value. Returns std::make_pair(this->end(), this->end()) if no such - //! elements exist. - //! - //! Complexity: Average case O(this->count(value)). Worst case O(this->size()). - //! - //! Throws: If the internal hasher or the equality functor throws. - std::pair equal_range(const_reference value) - { return table_type::equal_range(value); } - - //! Requires: "hash_func" must be a hash function that induces - //! the same hash values as the stored hasher. The difference is that - //! "hash_func" hashes the given key instead of the value_type. - //! - //! "equal_func" must be a equality function that induces - //! the same equality as key_equal. The difference is that - //! "equal_func" compares an arbitrary key with the contained values. - //! - //! Effects: Returns a range containing all elements with equivalent - //! keys. Returns std::make_pair(this->end(), this->end()) if no such - //! elements exist. - //! - //! Complexity: Average case O(this->count(key, hash_func, hash_func)). - //! Worst case O(this->size()). - //! - //! Throws: If hash_func or the equal_func throw. - //! - //! Note: This function is used when constructing a value_type - //! is expensive and the value_type can be compared with a cheaper - //! key type. Usually this key is part of the value_type. - template - std::pair equal_range(const KeyType& key, KeyHasher hash_func, KeyValueEqual equal_func) - { return table_type::equal_range(key, hash_func, equal_func); } - - //! Effects: Returns a range containing all elements with values equivalent - //! to value. Returns std::make_pair(this->end(), this->end()) if no such - //! elements exist. - //! - //! Complexity: Average case O(this->count(value)). Worst case O(this->size()). - //! - //! Throws: If the internal hasher or the equality functor throws. - std::pair - equal_range(const_reference value) const - { return table_type::equal_range(value); } - - //! Requires: "hash_func" must be a hash function that induces - //! the same hash values as the stored hasher. The difference is that - //! "hash_func" hashes the given key instead of the value_type. - //! - //! "equal_func" must be a equality function that induces - //! the same equality as key_equal. The difference is that - //! "equal_func" compares an arbitrary key with the contained values. - //! - //! Effects: Returns a range containing all elements with equivalent - //! keys. Returns std::make_pair(this->end(), this->end()) if no such - //! elements exist. - //! - //! Complexity: Average case O(this->count(key, hash_func, equal_func)). - //! Worst case O(this->size()). - //! - //! Throws: If the hash_func or equal_func throw. - //! - //! Note: This function is used when constructing a value_type - //! is expensive and the value_type can be compared with a cheaper - //! key type. Usually this key is part of the value_type. - template - std::pair - equal_range(const KeyType& key, KeyHasher hash_func, KeyValueEqual equal_func) const - { return table_type::equal_range(key, hash_func, equal_func); } - - //! Requires: value must be an lvalue and shall be in a unordered_set of - //! appropriate type. Otherwise the behavior is undefined. - //! - //! Effects: Returns: a valid iterator belonging to the unordered_set - //! that points to the value - //! - //! Complexity: Constant. - //! - //! Throws: If the internal hash function throws. - iterator iterator_to(reference value) - { return table_type::iterator_to(value); } - - //! Requires: value must be an lvalue and shall be in a unordered_set of - //! appropriate type. Otherwise the behavior is undefined. - //! - //! Effects: Returns: a valid const_iterator belonging to the - //! unordered_set that points to the value - //! - //! Complexity: Constant. - //! - //! Throws: If the internal hash function throws. - const_iterator iterator_to(const_reference value) const - { return table_type::iterator_to(value); } - - //! Requires: value must be an lvalue and shall be in a unordered_set of - //! appropriate type. Otherwise the behavior is undefined. - //! - //! Effects: Returns: a valid local_iterator belonging to the unordered_set - //! that points to the value - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - //! - //! Note: This static function is available only if the value traits - //! is stateless. - static local_iterator s_local_iterator_to(reference value) - { return table_type::s_local_iterator_to(value); } - - //! Requires: value must be an lvalue and shall be in a unordered_set of - //! appropriate type. Otherwise the behavior is undefined. - //! - //! Effects: Returns: a valid const_local_iterator belonging to - //! the unordered_set that points to the value - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - //! - //! Note: This static function is available only if the value traits - //! is stateless. - static const_local_iterator s_local_iterator_to(const_reference value) - { return table_type::s_local_iterator_to(value); } - - //! Requires: value must be an lvalue and shall be in a unordered_set of - //! appropriate type. Otherwise the behavior is undefined. - //! - //! Effects: Returns: a valid local_iterator belonging to the unordered_set - //! that points to the value - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - local_iterator local_iterator_to(reference value) - { return table_type::local_iterator_to(value); } - - //! Requires: value must be an lvalue and shall be in a unordered_set of - //! appropriate type. Otherwise the behavior is undefined. - //! - //! Effects: Returns: a valid const_local_iterator belonging to - //! the unordered_set that points to the value - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - const_local_iterator local_iterator_to(const_reference value) const - { return table_type::local_iterator_to(value); } - - //! Effects: Returns the number of buckets passed in the constructor - //! or the last rehash function. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - size_type bucket_count() const - { return table_type::bucket_count(); } - - //! Requires: n is in the range [0, this->bucket_count()). - //! - //! Effects: Returns the number of elements in the nth bucket. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - size_type bucket_size(size_type n) const - { return table_type::bucket_size(n); } - - //! Effects: Returns the index of the bucket in which elements - //! with keys equivalent to k would be found, if any such element existed. - //! - //! Complexity: Constant. - //! - //! Throws: If the hash functor throws. - //! - //! Note: the return value is in the range [0, this->bucket_count()). - size_type bucket(const value_type& k) const - { return table_type::bucket(k); } - - //! Requires: "hash_func" must be a hash function that induces - //! the same hash values as the stored hasher. The difference is that - //! "hash_func" hashes the given key instead of the value_type. - //! - //! Effects: Returns the index of the bucket in which elements - //! with keys equivalent to k would be found, if any such element existed. - //! - //! Complexity: Constant. - //! - //! Throws: If hash_func throws. - //! - //! Note: the return value is in the range [0, this->bucket_count()). - template - size_type bucket(const KeyType& k, KeyHasher hash_func) const - { return table_type::bucket(k, hash_func); } - - //! Effects: Returns the bucket array pointer passed in the constructor - //! or the last rehash function. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - bucket_ptr bucket_pointer() const - { return table_type::bucket_pointer(); } - - //! Requires: n is in the range [0, this->bucket_count()). - //! - //! Effects: Returns a local_iterator pointing to the beginning - //! of the sequence stored in the bucket n. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - //! - //! Note: [this->begin(n), this->end(n)) is a valid range - //! containing all of the elements in the nth bucket. - local_iterator begin(size_type n) - { return table_type::begin(n); } - - //! Requires: n is in the range [0, this->bucket_count()). - //! - //! Effects: Returns a const_local_iterator pointing to the beginning - //! of the sequence stored in the bucket n. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - //! - //! Note: [this->begin(n), this->end(n)) is a valid range - //! containing all of the elements in the nth bucket. - const_local_iterator begin(size_type n) const - { return table_type::begin(n); } - - //! Requires: n is in the range [0, this->bucket_count()). - //! - //! Effects: Returns a const_local_iterator pointing to the beginning - //! of the sequence stored in the bucket n. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - //! - //! Note: [this->begin(n), this->end(n)) is a valid range - //! containing all of the elements in the nth bucket. - const_local_iterator cbegin(size_type n) const - { return table_type::cbegin(n); } - - //! Requires: n is in the range [0, this->bucket_count()). - //! - //! Effects: Returns a local_iterator pointing to the end - //! of the sequence stored in the bucket n. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - //! - //! Note: [this->begin(n), this->end(n)) is a valid range - //! containing all of the elements in the nth bucket. - local_iterator end(size_type n) - { return table_type::end(n); } - - //! Requires: n is in the range [0, this->bucket_count()). - //! - //! Effects: Returns a const_local_iterator pointing to the end - //! of the sequence stored in the bucket n. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - //! - //! Note: [this->begin(n), this->end(n)) is a valid range - //! containing all of the elements in the nth bucket. - const_local_iterator end(size_type n) const - { return table_type::end(n); } - - //! Requires: n is in the range [0, this->bucket_count()). - //! - //! Effects: Returns a const_local_iterator pointing to the end - //! of the sequence stored in the bucket n. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - //! - //! Note: [this->begin(n), this->end(n)) is a valid range - //! containing all of the elements in the nth bucket. - const_local_iterator cend(size_type n) const - { return table_type::cend(n); } - - //! Requires: new_buckets must be a pointer to a new bucket array - //! or the same as the old bucket array. new_size is the length of the - //! the array pointed by new_buckets. If new_buckets == this->bucket_pointer() - //! n can be bigger or smaller than this->bucket_count(). - //! - //! Effects: Updates the internal reference with the new bucket erases - //! the values from the old bucket and inserts then in the new one. - //! - //! If store_hash option is true, this method does not use the hash function. - //! - //! Complexity: Average case linear in this->size(), worst case quadratic. - //! - //! Throws: If the hasher functor throws. Basic guarantee. - void rehash(const bucket_traits &new_bucket_traits) - { table_type::rehash(new_bucket_traits); } - - //! Requires: - //! - //! Effects: - //! - //! Complexity: - //! - //! Throws: - //! - //! Note: this method is only available if incremental option is activated. - bool incremental_rehash(bool grow = true) - { return table_type::incremental_rehash(grow); } - - //! Note: this method is only available if incremental option is activated. - bool incremental_rehash(const bucket_traits &new_bucket_traits) - { return table_type::incremental_rehash(new_bucket_traits); } - - //! Requires: - //! - //! Effects: - //! - //! Complexity: - //! - //! Throws: - size_type split_count() const - { return table_type::split_count(); } - - //! Effects: Returns the nearest new bucket count optimized for - //! the container that is bigger than n. This suggestion can be used - //! to create bucket arrays with a size that will usually improve - //! container's performance. If such value does not exist, the - //! higher possible value is returned. - //! - //! Complexity: Amortized constant time. - //! - //! Throws: Nothing. - static size_type suggested_upper_bucket_count(size_type n) - { return table_type::suggested_upper_bucket_count(n); } - - //! Effects: Returns the nearest new bucket count optimized for - //! the container that is smaller than n. This suggestion can be used - //! to create bucket arrays with a size that will usually improve - //! container's performance. If such value does not exist, the - //! lower possible value is returned. - //! - //! Complexity: Amortized constant time. - //! - //! Throws: Nothing. - static size_type suggested_lower_bucket_count(size_type n) - { return table_type::suggested_lower_bucket_count(n); } - - #endif // #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED -}; - -//! Helper metafunction to define an \c unordered_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 -#else -template -#endif -struct make_unordered_set -{ - /// @cond - typedef typename pack_options - < hashtable_defaults, - #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) - O1, O2, O3, O4, O5, O6, O7, O8, O9, O10 - #else - Options... - #endif - >::type packed_options; - - typedef typename detail::get_value_traits - ::type value_traits; - - typedef typename make_bucket_traits - ::type bucket_traits; - - typedef unordered_set_impl - < value_traits - , typename packed_options::hash - , typename packed_options::equal - , typename packed_options::size_type - , bucket_traits - , (std::size_t(true)*hash_bool_flags::unique_keys_pos) - | (std::size_t(packed_options::constant_time_size)*hash_bool_flags::constant_time_size_pos) - | (std::size_t(packed_options::power_2_buckets)*hash_bool_flags::power_2_buckets_pos) - | (std::size_t(packed_options::cache_begin)*hash_bool_flags::cache_begin_pos) - | (std::size_t(packed_options::compare_hash)*hash_bool_flags::compare_hash_pos) - | (std::size_t(packed_options::incremental)*hash_bool_flags::incremental_pos) - > implementation_defined; - - /// @endcond - typedef implementation_defined type; -}; - -#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED - -#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) -template -#else -template -#endif -class unordered_set - : public make_unordered_set::type -{ - typedef typename make_unordered_set - ::type Base; - - //Assert if passed value traits are compatible with the type - BOOST_STATIC_ASSERT((detail::is_same::value)); - BOOST_MOVABLE_BUT_NOT_COPYABLE(unordered_set) - - public: - typedef typename Base::value_traits value_traits; - typedef typename Base::bucket_traits bucket_traits; - typedef typename Base::iterator iterator; - typedef typename Base::const_iterator const_iterator; - typedef typename Base::bucket_ptr bucket_ptr; - typedef typename Base::size_type size_type; - typedef typename Base::hasher hasher; - typedef typename Base::key_equal key_equal; - - explicit unordered_set ( const bucket_traits &b_traits - , const hasher & hash_func = hasher() - , const key_equal &equal_func = key_equal() - , const value_traits &v_traits = value_traits()) - : Base(b_traits, hash_func, equal_func, v_traits) - {} - - template - unordered_set ( Iterator b - , Iterator e - , const bucket_traits &b_traits - , const hasher & hash_func = hasher() - , const key_equal &equal_func = key_equal() - , const value_traits &v_traits = value_traits()) - : Base(b, e, b_traits, hash_func, equal_func, v_traits) - {} - - unordered_set(BOOST_RV_REF(unordered_set) x) - : Base(::boost::move(static_cast(x))) - {} - - unordered_set& operator=(BOOST_RV_REF(unordered_set) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } -}; - -#endif - - -//! The class template unordered_multiset is an intrusive container, that mimics most of -//! the interface of std::tr1::unordered_multiset as described in the C++ TR1. -//! -//! unordered_multiset is a semi-intrusive container: each object to be stored in the -//! container must contain a proper hook, but the container also needs -//! additional auxiliary memory to work: unordered_multiset needs a pointer to an array -//! of type `bucket_type` to be passed in the constructor. This bucket array must -//! have at least the same lifetime as the container. This makes the use of -//! unordered_multiset more complicated than purely intrusive containers. -//! `bucket_type` is default-constructible, copyable and assignable -//! -//! 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<>, \c hash<> and \c equal<> -//! \c bucket_traits<>, \c power_2_buckets<> and \c cache_begin<>. -//! -//! unordered_multiset only provides forward iterators but it provides 4 iterator types: -//! iterator and const_iterator to navigate through the whole container and -//! local_iterator and const_local_iterator to navigate through the values -//! stored in a single bucket. Local iterators are faster and smaller. -//! -//! It's not recommended to use non constant-time size unordered_multisets because several -//! key functions, like "empty()", become non-constant time functions. Non -//! constant-time size unordered_multisets are mainly provided to support auto-unlink hooks. -//! -//! unordered_multiset, unlike std::unordered_set, does not make automatic rehashings nor -//! offers functions related to a load factor. Rehashing can be explicitly requested -//! and the user must provide a new bucket array that will be used from that moment. -//! -//! Since no automatic rehashing is done, iterators are never invalidated when -//! inserting or erasing elements. Iterators are only invalidated when rehasing. -#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) -template -#else -template -#endif -class unordered_multiset_impl - : public hashtable_impl -{ - /// @cond - private: - typedef hashtable_impl table_type; - /// @endcond - - //Movable - BOOST_MOVABLE_BUT_NOT_COPYABLE(unordered_multiset_impl) - - typedef table_type implementation_defined; - - public: - typedef typename implementation_defined::value_type value_type; - typedef typename implementation_defined::value_traits value_traits; - typedef typename implementation_defined::bucket_traits bucket_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::key_type key_type; - typedef typename implementation_defined::key_equal key_equal; - typedef typename implementation_defined::hasher hasher; - typedef typename implementation_defined::bucket_type bucket_type; - typedef typename implementation_defined::bucket_ptr bucket_ptr; - typedef typename implementation_defined::iterator iterator; - typedef typename implementation_defined::const_iterator const_iterator; - typedef typename implementation_defined::insert_commit_data insert_commit_data; - typedef typename implementation_defined::local_iterator local_iterator; - typedef typename implementation_defined::const_local_iterator const_local_iterator; - 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; - - public: - - //! Requires: buckets must not be being used by any other resource. - //! - //! Effects: Constructs an empty unordered_multiset, storing a reference - //! to the bucket array and copies of the hasher and equal functors. - //! - //! Complexity: Constant. - //! - //! Throws: If value_traits::node_traits::node - //! constructor throws (this does not happen with predefined Boost.Intrusive hooks) - //! or the copy constructor or invocation of Hash or Equal throws. - //! - //! Notes: buckets array must be disposed only after - //! *this is disposed. - explicit unordered_multiset_impl ( const bucket_traits &b_traits - , const hasher & hash_func = hasher() - , const key_equal &equal_func = key_equal() - , const value_traits &v_traits = value_traits()) - : table_type(b_traits, hash_func, equal_func, v_traits) - {} - - //! Requires: buckets must not be being used by any other resource - //! and Dereferencing iterator must yield an lvalue of type value_type. - //! - //! Effects: Constructs an empty unordered_multiset and inserts elements from - //! [b, e). - //! - //! Complexity: If N is std::distance(b, e): Average case is O(N) - //! (with a good hash function and with buckets_len >= N),worst case O(N2). - //! - //! Throws: If value_traits::node_traits::node - //! constructor throws (this does not happen with predefined Boost.Intrusive hooks) - //! or the copy constructor or invocation of hasher or key_equal throws. - //! - //! Notes: buckets array must be disposed only after - //! *this is disposed. - template - unordered_multiset_impl ( Iterator b - , Iterator e - , const bucket_traits &b_traits - , const hasher & hash_func = hasher() - , const key_equal &equal_func = key_equal() - , const value_traits &v_traits = value_traits()) - : table_type(b_traits, hash_func, equal_func, v_traits) - { table_type::insert_equal(b, e); } - - //! Effects: to-do - //! - unordered_multiset_impl(BOOST_RV_REF(unordered_multiset_impl) x) - : table_type(::boost::move(static_cast(x))) - {} - - //! Effects: to-do - //! - unordered_multiset_impl& operator=(BOOST_RV_REF(unordered_multiset_impl) x) - { return static_cast(table_type::operator=(::boost::move(static_cast(x)))); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! Effects: Detaches all elements from this. The objects in the unordered_multiset - //! are not deleted (i.e. no destructors are called). - //! - //! Complexity: Linear to the number of elements in the unordered_multiset, if - //! it's a safe-mode or auto-unlink value. Otherwise constant. - //! - //! Throws: Nothing. - ~unordered_multiset_impl() - {} - - //! Effects: Returns an iterator pointing to the beginning of the unordered_multiset. - //! - //! Complexity: Constant time if `cache_begin<>` is true. Amortized - //! constant time with worst case (empty unordered_set) O(this->bucket_count()) - //! - //! Throws: Nothing. - iterator begin() - { return table_type::begin(); } - - //! Effects: Returns a const_iterator pointing to the beginning - //! of the unordered_multiset. - //! - //! Complexity: Constant time if `cache_begin<>` is true. Amortized - //! constant time with worst case (empty unordered_set) O(this->bucket_count()) - //! - //! Throws: Nothing. - const_iterator begin() const - { return table_type::begin(); } - - //! Effects: Returns a const_iterator pointing to the beginning - //! of the unordered_multiset. - //! - //! Complexity: Constant time if `cache_begin<>` is true. Amortized - //! constant time with worst case (empty unordered_set) O(this->bucket_count()) - //! - //! Throws: Nothing. - const_iterator cbegin() const - { return table_type::cbegin(); } - - //! Effects: Returns an iterator pointing to the end of the unordered_multiset. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - iterator end() - { return table_type::end(); } - - //! Effects: Returns a const_iterator pointing to the end of the unordered_multiset. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - const_iterator end() const - { return table_type::end(); } - - //! Effects: Returns a const_iterator pointing to the end of the unordered_multiset. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - const_iterator cend() const - { return table_type::cend(); } - - //! Effects: Returns the hasher object used by the unordered_set. - //! - //! Complexity: Constant. - //! - //! Throws: If hasher copy-constructor throws. - hasher hash_function() const - { return table_type::hash_function(); } - - //! Effects: Returns the key_equal object used by the unordered_multiset. - //! - //! Complexity: Constant. - //! - //! Throws: If key_equal copy-constructor throws. - key_equal key_eq() const - { return table_type::key_eq(); } - - //! Effects: Returns true if the container is empty. - //! - //! Complexity: if constant-time size and cache_last options are disabled, - //! average constant time (worst case, with empty() == true: O(this->bucket_count()). - //! Otherwise constant. - //! - //! Throws: Nothing. - bool empty() const - { return table_type::empty(); } - - //! Effects: Returns the number of elements stored in the unordered_multiset. - //! - //! Complexity: Linear to elements contained in *this if - //! constant-time size option is disabled. Constant-time otherwise. - //! - //! Throws: Nothing. - size_type size() const - { return table_type::size(); } - - //! Requires: the hasher and the equality function unqualified swap - //! call should not throw. - //! - //! Effects: Swaps the contents of two unordered_multisets. - //! Swaps also the contained bucket array and equality and hasher functors. - //! - //! - //! Complexity: Constant. - //! - //! Throws: If the swap() call for the comparison or hash functors - //! found using ADL throw. Basic guarantee. - void swap(unordered_multiset_impl& other) - { table_type::swap(other.table_); } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! Cloner should yield to nodes that compare equal and produce the same - //! hash than the original node. - //! - //! Effects: Erases all the elements from *this - //! calling Disposer::operator()(pointer), clones all the - //! elements from src calling Cloner::operator()(const_reference ) - //! and inserts them on *this. The hash function and the equality - //! predicate are copied from the source. - //! - //! If store_hash option is true, this method does not use the hash function. - //! - //! If any operation throws, all cloned elements are unlinked and disposed - //! calling Disposer::operator()(pointer). - //! - //! Complexity: Linear to erased plus inserted elements. - //! - //! Throws: If cloner or hasher throw or hash or equality predicate copying - //! throws. Basic guarantee. - template - void clone_from(const unordered_multiset_impl &src, Cloner cloner, Disposer disposer) - { table_type::clone_from(src.table_, cloner, disposer); } - - #endif // #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! Requires: value must be an lvalue - //! - //! Effects: Inserts value into the unordered_multiset. - //! - //! Returns: An iterator to the new inserted value. - //! - //! Complexity: Average case O(1), worst case O(this->size()). - //! - //! Throws: If the internal hasher or the equality functor throws. Strong guarantee. - //! - //! Note: Does not affect the validity of iterators and references. - //! No copy-constructors are called. - iterator insert(reference value) - { return table_type::insert_equal(value); } - - //! Requires: Dereferencing iterator must yield an lvalue - //! of type value_type. - //! - //! Effects: Equivalent to this->insert(t) for each element in [b, e). - //! - //! Complexity: Average case is O(N), where N is the - //! size of the range. - //! - //! Throws: If the internal hasher or the equality functor throws. Basic guarantee. - //! - //! Note: Does not affect the validity of iterators and references. - //! No copy-constructors are called. - template - void insert(Iterator b, Iterator e) - { table_type::insert_equal(b, e); } - - #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED - - //! Effects: Erases the element pointed to by i. - //! - //! Complexity: Average case O(1), worst case O(this->size()). - //! - //! Throws: Nothing. - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased element. No destructors are called. - void erase(const_iterator i) - { table_type::erase(i); } - - //! Effects: Erases the range pointed to by b end e. - //! - //! Complexity: Average case O(std::distance(b, e)), - //! worst case O(this->size()). - //! - //! Throws: Nothing. - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased elements. No destructors are called. - void erase(const_iterator b, const_iterator e) - { table_type::erase(b, e); } - - //! Effects: Erases all the elements with the given value. - //! - //! Returns: The number of erased elements. - //! - //! Complexity: Average case O(this->count(value)). - //! Worst case O(this->size()). - //! - //! Throws: If the internal hasher or the equality functor throws. Basic guarantee. - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased elements. No destructors are called. - size_type erase(const_reference value) - { return table_type::erase(value); } - - //! Requires: "hash_func" must be a hash function that induces - //! the same hash values as the stored hasher. The difference is that - //! "hash_func" hashes the given key instead of the value_type. - //! - //! "key_value_equal" must be a equality function that induces - //! the same equality as key_equal. The difference is that - //! "key_value_equal" compares an arbitrary key with the contained values. - //! - //! Effects: Erases all the elements that have the same hash and - //! compare equal with the given key. - //! - //! Returns: The number of erased elements. - //! - //! Complexity: Average case O(this->count(value)). - //! Worst case O(this->size()). - //! - //! Throws: If the hash_func or the equal_func functors throws. - //! Basic guarantee. - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased elements. No destructors are called. - template - size_type erase(const KeyType& key, KeyHasher hash_func, KeyValueEqual equal_func) - { return table_type::erase(key, hash_func, equal_func); } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Erases the element pointed to by i. - //! Disposer::operator()(pointer) is called for the removed element. - //! - //! Complexity: Average case O(1), worst case O(this->size()). - //! - //! Throws: Nothing. - //! - //! Note: Invalidates the iterators - //! to the erased elements. - template - void erase_and_dispose(const_iterator i, Disposer disposer - /// @cond - , typename detail::enable_if_c::value >::type * = 0 - /// @endcond - ) - { table_type::erase_and_dispose(i, disposer); } - - #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) - template - void erase_and_dispose(const_iterator i, Disposer disposer) - { this->erase_and_dispose(const_iterator(i), disposer); } - #endif - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Erases the range pointed to by b end e. - //! Disposer::operator()(pointer) is called for the removed elements. - //! - //! Complexity: Average case O(std::distance(b, e)), - //! worst case O(this->size()). - //! - //! Throws: Nothing. - //! - //! Note: Invalidates the iterators - //! to the erased elements. - template - void erase_and_dispose(const_iterator b, const_iterator e, Disposer disposer) - { table_type::erase_and_dispose(b, e, disposer); } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Erases all the elements with the given value. - //! Disposer::operator()(pointer) is called for the removed elements. - //! - //! Returns: The number of erased elements. - //! - //! Complexity: Average case O(this->count(value)). - //! Worst case O(this->size()). - //! - //! Throws: If the internal hasher or the equality functor throws. Basic guarantee. - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased elements. No destructors are called. - template - size_type erase_and_dispose(const_reference value, Disposer disposer) - { return table_type::erase_and_dispose(value, disposer); } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Erases all the elements with the given key. - //! according to the comparison functor "equal_func". - //! Disposer::operator()(pointer) is called for the removed elements. - //! - //! Returns: The number of erased elements. - //! - //! Complexity: Average case O(this->count(value)). - //! Worst case O(this->size()). - //! - //! Throws: If hash_func or equal_func throw. Basic guarantee. - //! - //! Note: Invalidates the iterators - //! to the erased elements. - template - size_type erase_and_dispose(const KeyType& key, KeyHasher hash_func, KeyValueEqual equal_func, Disposer disposer) - { return table_type::erase_and_dispose(key, hash_func, equal_func, disposer); } - - //! Effects: Erases all the elements of the container. - //! - //! Complexity: Linear to the number of elements on the container. - //! if it's a safe-mode or auto-unlink value_type. Constant time otherwise. - //! - //! Throws: Nothing. - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased elements. No destructors are called. - void clear() - { return table_type::clear(); } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. - //! - //! Effects: Erases all the elements of the container. - //! - //! Complexity: Linear to the number of elements on the container. - //! Disposer::operator()(pointer) is called for the removed elements. - //! - //! Throws: Nothing. - //! - //! Note: Invalidates the iterators (but not the references) - //! to the erased elements. No destructors are called. - template - void clear_and_dispose(Disposer disposer) - { return table_type::clear_and_dispose(disposer); } - - //! Effects: Returns the number of contained elements with the given key - //! - //! Complexity: Average case O(1), worst case O(this->size()). - //! - //! Throws: If the internal hasher or the equality functor throws. - size_type count(const_reference value) const - { return table_type::count(value); } - - //! Requires: "hash_func" must be a hash function that induces - //! the same hash values as the stored hasher. The difference is that - //! "hash_func" hashes the given key instead of the value_type. - //! - //! "key_value_equal" must be a equality function that induces - //! the same equality as key_equal. The difference is that - //! "key_value_equal" compares an arbitrary key with the contained values. - //! - //! Effects: Returns the number of contained elements with the given key - //! - //! Complexity: Average case O(1), worst case O(this->size()). - //! - //! Throws: If the internal hasher or the equality functor throws. - template - size_type count(const KeyType& key, KeyHasher hash_func, KeyValueEqual equal_func) const - { return table_type::count(key, hash_func, equal_func); } - - //! Effects: Finds an iterator to the first element whose value is - //! "value" or end() if that element does not exist. - //! - //! Complexity: Average case O(1), worst case O(this->size()). - //! - //! Throws: If the internal hasher or the equality functor throws. - iterator find(const_reference value) - { return table_type::find(value); } - - //! Requires: "hash_func" must be a hash function that induces - //! the same hash values as the stored hasher. The difference is that - //! "hash_func" hashes the given key instead of the value_type. - //! - //! "key_value_equal" must be a equality function that induces - //! the same equality as key_equal. The difference is that - //! "key_value_equal" compares an arbitrary key with the contained values. - //! - //! Effects: Finds an iterator to the first element whose key is - //! "key" according to the given hasher and equality functor or end() if - //! that element does not exist. - //! - //! Complexity: Average case O(1), worst case O(this->size()). - //! - //! Throws: If the internal hasher or the equality functor throws. - //! - //! Note: This function is used when constructing a value_type - //! is expensive and the value_type can be compared with a cheaper - //! key type. Usually this key is part of the value_type. - template - iterator find(const KeyType& key, KeyHasher hash_func, KeyValueEqual equal_func) - { return table_type::find(key, hash_func, equal_func); } - - //! Effects: Finds a const_iterator to the first element whose key is - //! "key" or end() if that element does not exist. - //! - //! Complexity: Average case O(1), worst case O(this->size()). - //! - //! Throws: If the internal hasher or the equality functor throws. - const_iterator find(const_reference value) const - { return table_type::find(value); } - - //! Requires: "hash_func" must be a hash function that induces - //! the same hash values as the stored hasher. The difference is that - //! "hash_func" hashes the given key instead of the value_type. - //! - //! "key_value_equal" must be a equality function that induces - //! the same equality as key_equal. The difference is that - //! "key_value_equal" compares an arbitrary key with the contained values. - //! - //! Effects: Finds an iterator to the first element whose key is - //! "key" according to the given hasher and equality functor or end() if - //! that element does not exist. - //! - //! Complexity: Average case O(1), worst case O(this->size()). - //! - //! Throws: If the internal hasher or the equality functor throws. - //! - //! Note: This function is used when constructing a value_type - //! is expensive and the value_type can be compared with a cheaper - //! key type. Usually this key is part of the value_type. - template - const_iterator find(const KeyType& key, KeyHasher hash_func, KeyValueEqual equal_func) const - { return table_type::find(key, hash_func, equal_func); } - - //! Effects: Returns a range containing all elements with values equivalent - //! to value. Returns std::make_pair(this->end(), this->end()) if no such - //! elements exist. - //! - //! Complexity: Average case O(this->count(value)). Worst case O(this->size()). - //! - //! Throws: If the internal hasher or the equality functor throws. - std::pair equal_range(const_reference value) - { return table_type::equal_range(value); } - - //! Requires: "hash_func" must be a hash function that induces - //! the same hash values as the stored hasher. The difference is that - //! "hash_func" hashes the given key instead of the value_type. - //! - //! "key_value_equal" must be a equality function that induces - //! the same equality as key_equal. The difference is that - //! "key_value_equal" compares an arbitrary key with the contained values. - //! - //! Effects: Returns a range containing all elements with equivalent - //! keys. Returns std::make_pair(this->end(), this->end()) if no such - //! elements exist. - //! - //! Complexity: Average case O(this->count(key, hash_func, equal_func)). - //! Worst case O(this->size()). - //! - //! Throws: If the internal hasher or the equality functor throws. - //! - //! Note: This function is used when constructing a value_type - //! is expensive and the value_type can be compared with a cheaper - //! key type. Usually this key is part of the value_type. - template - std::pair equal_range - (const KeyType& key, KeyHasher hash_func, KeyValueEqual equal_func) - { return table_type::equal_range(key, hash_func, equal_func); } - - //! Effects: Returns a range containing all elements with values equivalent - //! to value. Returns std::make_pair(this->end(), this->end()) if no such - //! elements exist. - //! - //! Complexity: Average case O(this->count(value)). Worst case O(this->size()). - //! - //! Throws: If the internal hasher or the equality functor throws. - std::pair - equal_range(const_reference value) const - { return table_type::equal_range(value); } - - //! Requires: "hash_func" must be a hash function that induces - //! the same hash values as the stored hasher. The difference is that - //! "hash_func" hashes the given key instead of the value_type. - //! - //! "key_value_equal" must be a equality function that induces - //! the same equality as key_equal. The difference is that - //! "key_value_equal" compares an arbitrary key with the contained values. - //! - //! Effects: Returns a range containing all elements with equivalent - //! keys. Returns std::make_pair(this->end(), this->end()) if no such - //! elements exist. - //! - //! Complexity: Average case O(this->count(key, hash_func, equal_func)). - //! Worst case O(this->size()). - //! - //! Throws: If the internal hasher or the equality functor throws. - //! - //! Note: This function is used when constructing a value_type - //! is expensive and the value_type can be compared with a cheaper - //! key type. Usually this key is part of the value_type. - template - std::pair - equal_range(const KeyType& key, KeyHasher hash_func, KeyValueEqual equal_func) const - { return table_type::equal_range(key, hash_func, equal_func); } - - //! Requires: value must be an lvalue and shall be in a unordered_multiset of - //! appropriate type. Otherwise the behavior is undefined. - //! - //! Effects: Returns: a valid iterator belonging to the unordered_multiset - //! that points to the value - //! - //! Complexity: Constant. - //! - //! Throws: If the hash function throws. - iterator iterator_to(reference value) - { return table_type::iterator_to(value); } - - //! Requires: value must be an lvalue and shall be in a unordered_multiset of - //! appropriate type. Otherwise the behavior is undefined. - //! - //! Effects: Returns: a valid const_iterator belonging to the - //! unordered_multiset that points to the value - //! - //! Complexity: Constant. - //! - //! Throws: If the hash function throws. - const_iterator iterator_to(const_reference value) const - { return table_type::iterator_to(value); } - - //! Requires: value must be an lvalue and shall be in a unordered_set of - //! appropriate type. Otherwise the behavior is undefined. - //! - //! Effects: Returns: a valid local_iterator belonging to the unordered_set - //! that points to the value - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - //! - //! Note: This static function is available only if the value traits - //! is stateless. - static local_iterator s_local_iterator_to(reference value) - { return table_type::s_local_iterator_to(value); } - - //! Requires: value must be an lvalue and shall be in a unordered_set of - //! appropriate type. Otherwise the behavior is undefined. - //! - //! Effects: Returns: a valid const_local_iterator belonging to - //! the unordered_set that points to the value - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - //! - //! Note: This static function is available only if the value traits - //! is stateless. - static const_local_iterator s_local_iterator_to(const_reference value) - { return table_type::s_local_iterator_to(value); } - - //! Requires: value must be an lvalue and shall be in a unordered_set of - //! appropriate type. Otherwise the behavior is undefined. - //! - //! Effects: Returns: a valid local_iterator belonging to the unordered_set - //! that points to the value - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - local_iterator local_iterator_to(reference value) - { return table_type::local_iterator_to(value); } - - //! Requires: value must be an lvalue and shall be in a unordered_set of - //! appropriate type. Otherwise the behavior is undefined. - //! - //! Effects: Returns: a valid const_local_iterator belonging to - //! the unordered_set that points to the value - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - const_local_iterator local_iterator_to(const_reference value) const - { return table_type::local_iterator_to(value); } - - //! Effects: Returns the number of buckets passed in the constructor - //! or the last rehash function. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - size_type bucket_count() const - { return table_type::bucket_count(); } - - //! Requires: n is in the range [0, this->bucket_count()). - //! - //! Effects: Returns the number of elements in the nth bucket. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - size_type bucket_size(size_type n) const - { return table_type::bucket_size(n); } - - //! Effects: Returns the index of the bucket in which elements - //! with keys equivalent to k would be found, if any such element existed. - //! - //! Complexity: Constant. - //! - //! Throws: If the hash functor throws. - //! - //! Note: the return value is in the range [0, this->bucket_count()). - size_type bucket(const value_type& k) const - { return table_type::bucket(k); } - - //! Requires: "hash_func" must be a hash function that induces - //! the same hash values as the stored hasher. The difference is that - //! "hash_func" hashes the given key instead of the value_type. - //! - //! Effects: Returns the index of the bucket in which elements - //! with keys equivalent to k would be found, if any such element existed. - //! - //! Complexity: Constant. - //! - //! Throws: If the hash functor throws. - //! - //! Note: the return value is in the range [0, this->bucket_count()). - template - size_type bucket(const KeyType& k, const KeyHasher &hash_func) const - { return table_type::bucket(k, hash_func); } - - //! Effects: Returns the bucket array pointer passed in the constructor - //! or the last rehash function. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - bucket_ptr bucket_pointer() const - { return table_type::bucket_pointer(); } - - //! Requires: n is in the range [0, this->bucket_count()). - //! - //! Effects: Returns a local_iterator pointing to the beginning - //! of the sequence stored in the bucket n. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - //! - //! Note: [this->begin(n), this->end(n)) is a valid range - //! containing all of the elements in the nth bucket. - local_iterator begin(size_type n) - { return table_type::begin(n); } - - //! Requires: n is in the range [0, this->bucket_count()). - //! - //! Effects: Returns a const_local_iterator pointing to the beginning - //! of the sequence stored in the bucket n. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - //! - //! Note: [this->begin(n), this->end(n)) is a valid range - //! containing all of the elements in the nth bucket. - const_local_iterator begin(size_type n) const - { return table_type::begin(n); } - - //! Requires: n is in the range [0, this->bucket_count()). - //! - //! Effects: Returns a const_local_iterator pointing to the beginning - //! of the sequence stored in the bucket n. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - //! - //! Note: [this->begin(n), this->end(n)) is a valid range - //! containing all of the elements in the nth bucket. - const_local_iterator cbegin(size_type n) const - { return table_type::cbegin(n); } - - //! Requires: n is in the range [0, this->bucket_count()). - //! - //! Effects: Returns a local_iterator pointing to the end - //! of the sequence stored in the bucket n. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - //! - //! Note: [this->begin(n), this->end(n)) is a valid range - //! containing all of the elements in the nth bucket. - local_iterator end(size_type n) - { return table_type::end(n); } - - //! Requires: n is in the range [0, this->bucket_count()). - //! - //! Effects: Returns a const_local_iterator pointing to the end - //! of the sequence stored in the bucket n. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - //! - //! Note: [this->begin(n), this->end(n)) is a valid range - //! containing all of the elements in the nth bucket. - const_local_iterator end(size_type n) const - { return table_type::end(n); } - - //! Requires: n is in the range [0, this->bucket_count()). - //! - //! Effects: Returns a const_local_iterator pointing to the end - //! of the sequence stored in the bucket n. - //! - //! Complexity: Constant. - //! - //! Throws: Nothing. - //! - //! Note: [this->begin(n), this->end(n)) is a valid range - //! containing all of the elements in the nth bucket. - const_local_iterator cend(size_type n) const - { return table_type::cend(n); } - - //! Requires: new_buckets must be a pointer to a new bucket array - //! or the same as the old bucket array. new_size is the length of the - //! the array pointed by new_buckets. If new_buckets == this->bucket_pointer() - //! n can be bigger or smaller than this->bucket_count(). - //! - //! Effects: Updates the internal reference with the new bucket erases - //! the values from the old bucket and inserts then in the new one. - //! - //! If store_hash option is true, this method does not use the hash function. - //! - //! Complexity: Average case linear in this->size(), worst case quadratic. - //! - //! Throws: If the hasher functor throws. - void rehash(const bucket_traits &new_bucket_traits) - { table_type::rehash(new_bucket_traits); } - - //! Requires: - //! - //! Effects: - //! - //! Complexity: - //! - //! Throws: - //! - //! Note: this method is only available if incremental option is activated. - bool incremental_rehash(bool grow = true) - { return table_type::incremental_rehash(grow); } - - //! Note: this method is only available if incremental option is activated. - bool incremental_rehash(const bucket_traits &new_bucket_traits) - { return table_type::incremental_rehash(new_bucket_traits); } - - //! Requires: - //! - //! Effects: - //! - //! Complexity: - //! - //! Throws: - size_type split_count() const - { return table_type::split_count(); } - - //! Effects: Returns the nearest new bucket count optimized for - //! the container that is bigger than n. This suggestion can be used - //! to create bucket arrays with a size that will usually improve - //! container's performance. If such value does not exist, the - //! higher possible value is returned. - //! - //! Complexity: Amortized constant time. - //! - //! Throws: Nothing. - static size_type suggested_upper_bucket_count(size_type n) - { return table_type::suggested_upper_bucket_count(n); } - - //! Effects: Returns the nearest new bucket count optimized for - //! the container that is smaller than n. This suggestion can be used - //! to create bucket arrays with a size that will usually improve - //! container's performance. If such value does not exist, the - //! lower possible value is returned. - //! - //! Complexity: Amortized constant time. - //! - //! Throws: Nothing. - static size_type suggested_lower_bucket_count(size_type n) - { return table_type::suggested_lower_bucket_count(n); } - - #endif // #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED -}; - -//! Helper metafunction to define an \c unordered_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 -#else -template -#endif -struct make_unordered_multiset -{ - /// @cond - typedef typename pack_options - < hashtable_defaults, - #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) - O1, O2, O3, O4, O5, O6, O7, O8, O9, O10 - #else - Options... - #endif - >::type packed_options; - - typedef typename detail::get_value_traits - ::type value_traits; - - typedef typename make_bucket_traits - ::type bucket_traits; - - typedef unordered_multiset_impl - < value_traits - , typename packed_options::hash - , typename packed_options::equal - , typename packed_options::size_type - , bucket_traits - , (std::size_t(false)*hash_bool_flags::unique_keys_pos) - | (std::size_t(packed_options::constant_time_size)*hash_bool_flags::constant_time_size_pos) - | (std::size_t(packed_options::power_2_buckets)*hash_bool_flags::power_2_buckets_pos) - | (std::size_t(packed_options::cache_begin)*hash_bool_flags::cache_begin_pos) - | (std::size_t(packed_options::compare_hash)*hash_bool_flags::compare_hash_pos) - | (std::size_t(packed_options::incremental)*hash_bool_flags::incremental_pos) - > implementation_defined; - - /// @endcond - typedef implementation_defined type; -}; - -#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED - -#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) -template -#else -template -#endif -class unordered_multiset - : public make_unordered_multiset::type -{ - typedef typename make_unordered_multiset - ::type Base; - //Assert if passed value traits are compatible with the type - BOOST_STATIC_ASSERT((detail::is_same::value)); - BOOST_MOVABLE_BUT_NOT_COPYABLE(unordered_multiset) - - public: - typedef typename Base::value_traits value_traits; - typedef typename Base::bucket_traits bucket_traits; - typedef typename Base::iterator iterator; - typedef typename Base::const_iterator const_iterator; - typedef typename Base::bucket_ptr bucket_ptr; - typedef typename Base::size_type size_type; - typedef typename Base::hasher hasher; - typedef typename Base::key_equal key_equal; - - explicit unordered_multiset( const bucket_traits &b_traits - , const hasher & hash_func = hasher() - , const key_equal &equal_func = key_equal() - , const value_traits &v_traits = value_traits()) - : Base(b_traits, hash_func, equal_func, v_traits) - {} - - template - unordered_multiset( Iterator b - , Iterator e - , const bucket_traits &b_traits - , const hasher & hash_func = hasher() - , const key_equal &equal_func = key_equal() - , const value_traits &v_traits = value_traits()) - : Base(b, e, b_traits, hash_func, equal_func, v_traits) - {} - - unordered_multiset(BOOST_RV_REF(unordered_multiset) x) - : Base(::boost::move(static_cast(x))) - {} - - unordered_multiset& operator=(BOOST_RV_REF(unordered_multiset) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } -}; - -#endif - -} //namespace intrusive -} //namespace boost - -#include - -#endif //BOOST_INTRUSIVE_UNORDERED_SET_HPP diff --git a/bundled/boost-1.56.0/include/boost/iostreams/char_traits.hpp b/bundled/boost-1.56.0/include/boost/iostreams/char_traits.hpp deleted file mode 100755 index 4234907e47..0000000000 --- a/bundled/boost-1.56.0/include/boost/iostreams/char_traits.hpp +++ /dev/null @@ -1,73 +0,0 @@ -// (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com) -// (C) Copyright 2003-2007 Jonathan Turkanis -// Distributed under the 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/iostreams for documentation. - -#ifndef BOOST_IOSTREAMS_CHAR_TRAITS_HPP_INCLUDED -#define BOOST_IOSTREAMS_CHAR_TRAITS_HPP_INCLUDED - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -#include -#include -#include // EOF. -#include // std::char_traits. -#include -#include -#ifndef BOOST_IOSTREAMS_NO_WIDE_STREAMS -# include -#endif - -#ifdef BOOST_NO_STDC_NAMESPACE -namespace std { using ::wint_t; } -#endif - -namespace boost { namespace iostreams { - -// Dinkumware that comes with QNX Momentics 6.3.0, 4.0.2, incorrectly defines -// the EOF and WEOF macros to not std:: qualify the wint_t type (and so does -// Sun C++ 5.8 + STLport 4). Fix by placing the def in this scope. -// NOTE: Use BOOST_WORKAROUND? -#if (defined(__QNX__) && defined(BOOST_DINKUMWARE_STDLIB)) \ - || defined(__SUNPRO_CC) -using ::std::wint_t; -#endif - -const int WOULD_BLOCK = (int) (EOF - 1); - -#ifndef BOOST_IOSTREAMS_NO_WIDE_STREAMS -const std::wint_t WWOULD_BLOCK = (std::wint_t) (WEOF - 1); -#endif - -template -struct char_traits; - -template<> -struct char_traits : BOOST_IOSTREAMS_CHAR_TRAITS(char) { - static char newline() { return '\n'; } - static int good() { return '\n'; } - static int would_block() { return WOULD_BLOCK; } - static bool is_good(int c) { return c != EOF && c != WOULD_BLOCK; } - static bool is_eof(int c) { return c == EOF; } - static bool would_block(int c) { return c == WOULD_BLOCK; } -}; - -#ifndef BOOST_IOSTREAMS_NO_WIDE_STREAMS -template<> -struct char_traits : std::char_traits { - static wchar_t newline() { return L'\n'; } - static std::wint_t good() { return L'\n'; } - static std::wint_t would_block() { return WWOULD_BLOCK; } - static bool is_good(std::wint_t c) { return c != WEOF && c != WWOULD_BLOCK; } - static bool is_eof(std::wint_t c) { return c == WEOF; } - static bool would_block(std::wint_t c) { return c == WWOULD_BLOCK; } -}; -#endif - -} } // End namespaces iostreams, boost. - -#endif // #ifndef BOOST_IOSTREAMS_CHAR_TRAITS_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/iostreams/concepts.hpp b/bundled/boost-1.56.0/include/boost/iostreams/concepts.hpp deleted file mode 100755 index 1ea104e1c6..0000000000 --- a/bundled/boost-1.56.0/include/boost/iostreams/concepts.hpp +++ /dev/null @@ -1,129 +0,0 @@ -// (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com) -// (C) Copyright 2003-2007 Jonathan Turkanis -// Distributed under the 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/iostreams for documentation. - -#ifndef BOOST_IOSTREAMS_CONCEPTS_HPP_INCLUDED -#define BOOST_IOSTREAMS_CONCEPTS_HPP_INCLUDED - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -#include // BOOST_MSVC -#include -#include -#include -#include // openmode. -#include -#include -#include - -namespace boost { namespace iostreams { - -//--------------Definitions of helper templates for device concepts-----------// - -template -struct device { - typedef Ch char_type; - struct category - : Mode, - device_tag, - closable_tag, - localizable_tag - { }; - - void close() - { - using namespace detail; - BOOST_STATIC_ASSERT((!is_convertible::value)); - } - - void close(BOOST_IOS::openmode) - { - using namespace detail; - BOOST_STATIC_ASSERT((is_convertible::value)); - } - - template - void imbue(const Locale&) { } -}; - -template -struct wdevice : device { }; - -typedef device source; -typedef wdevice wsource; -typedef device sink; -typedef wdevice wsink; - -//--------------Definitions of helper templates for simple filter concepts----// - -template -struct filter { - typedef Ch char_type; - struct category - : Mode, - filter_tag, - closable_tag, - localizable_tag - { }; - - template - void close(Device&) - { - using namespace detail; - BOOST_STATIC_ASSERT((!is_convertible::value)); - BOOST_STATIC_ASSERT((!is_convertible::value)); - } - - template - void close(Device&, BOOST_IOS::openmode) - { - using namespace detail; - BOOST_STATIC_ASSERT( - (is_convertible::value) || - (is_convertible::value) - ); - } - - template - void imbue(const Locale&) { } -}; - -template -struct wfilter : filter { }; - -typedef filter input_filter; -typedef wfilter input_wfilter; -typedef filter output_filter; -typedef wfilter output_wfilter; -typedef filter seekable_filter; -typedef wfilter seekable_wfilter; -typedef filter dual_use_filter; -typedef wfilter dual_use_wfilter; - -//------Definitions of helper templates for multi-character filter cncepts----// - -template -struct multichar_filter : filter { - struct category : filter::category, multichar_tag { }; -}; - -template -struct multichar_wfilter : multichar_filter { }; - -typedef multichar_filter multichar_input_filter; -typedef multichar_wfilter multichar_input_wfilter; -typedef multichar_filter multichar_output_filter; -typedef multichar_wfilter multichar_output_wfilter; -typedef multichar_filter multichar_dual_use_filter; -typedef multichar_wfilter multichar_dual_use_wfilter; - -//----------------------------------------------------------------------------// - -} } // End namespaces iostreams, boost. - -#endif // #ifndef BOOST_IOSTREAMS_CONCEPTS_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/iostreams/constants.hpp b/bundled/boost-1.56.0/include/boost/iostreams/constants.hpp deleted file mode 100755 index 85eb7e7cc8..0000000000 --- a/bundled/boost-1.56.0/include/boost/iostreams/constants.hpp +++ /dev/null @@ -1,42 +0,0 @@ -// (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com) -// (C) Copyright 2003-2007 Jonathan Turkanis -// Distributed under the 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/iostreams for documentation. - -// Contains constants used by library. - -#ifndef BOOST_IOSTREAMS_CONSTANTS_HPP_INCLUDED -#define BOOST_IOSTREAMS_CONSTANTS_HPP_INCLUDED - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -#ifndef BOOST_IOSTREAMS_DEFAULT_DEVICE_BUFFER_SIZE -# define BOOST_IOSTREAMS_DEFAULT_DEVICE_BUFFER_SIZE 4096 -#endif - -#ifndef BOOST_IOSTREAMS_DEFAULT_FILTER_BUFFER_SIZE -# define BOOST_IOSTREAMS_DEFAULT_FILTER_BUFFER_SIZE 128 -#endif - -#ifndef BOOST_IOSTREAMS_DEFAULT_PBACK_BUFFER_SIZE -# define BOOST_IOSTREAMS_DEFAULT_PBACK_BUFFER_SIZE 4 -#endif - -#include // streamsize. - -namespace boost { namespace iostreams { - -const std::streamsize default_device_buffer_size = - BOOST_IOSTREAMS_DEFAULT_DEVICE_BUFFER_SIZE; -const std::streamsize default_filter_buffer_size = - BOOST_IOSTREAMS_DEFAULT_FILTER_BUFFER_SIZE; -const std::streamsize default_pback_buffer_size = - BOOST_IOSTREAMS_DEFAULT_PBACK_BUFFER_SIZE; - -} } // End namespaces iostreams, boost. - -#endif // #ifndef BOOST_IOSTREAMS_CONSTANTS_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/iostreams/copy.hpp b/bundled/boost-1.56.0/include/boost/iostreams/copy.hpp deleted file mode 100755 index b9f748a461..0000000000 --- a/bundled/boost-1.56.0/include/boost/iostreams/copy.hpp +++ /dev/null @@ -1,252 +0,0 @@ -// (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com) -// (C) Copyright 2003-2007 Jonathan Turkanis -// Distributed under the 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/iostreams for documentation. - -// Contains: The function template copy, which reads data from a Source -// and writes it to a Sink until the end of the sequence is reached, returning -// the number of characters transfered. - -// The implementation is complicated by the need to handle smart adapters -// and direct devices. - -#ifndef BOOST_IOSTREAMS_COPY_HPP_INCLUDED -#define BOOST_IOSTREAMS_COPY_HPP_INCLUDED - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -#include // Make sure ptrdiff_t is in std. -#include // copy, min. -#include // ptrdiff_t. -#include // pair. -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include // failure, streamsize. -#include -#include -#include // read, write, close. -#include -#include -#include - -namespace boost { namespace iostreams { - -namespace detail { - - // The following four overloads of copy_impl() optimize - // copying in the case that one or both of the two devices - // models Direct (see - // http://www.boost.org/libs/iostreams/doc/index.html?path=4.1.1.4) - -// Copy from a direct source to a direct sink -template -std::streamsize copy_impl( Source& src, Sink& snk, - std::streamsize /* buffer_size */, - mpl::true_, mpl::true_ ) -{ - using namespace std; - typedef typename char_type_of::type char_type; - typedef std::pair pair_type; - pair_type p1 = iostreams::input_sequence(src); - pair_type p2 = iostreams::output_sequence(snk); - std::streamsize total = - static_cast( - (std::min)(p1.second - p1.first, p2.second - p2.first) - ); - std::copy(p1.first, p1.first + total, p2.first); - return total; -} - -// Copy from a direct source to an indirect sink -template -std::streamsize copy_impl( Source& src, Sink& snk, - std::streamsize /* buffer_size */, - mpl::true_, mpl::false_ ) -{ - using namespace std; - typedef typename char_type_of::type char_type; - typedef std::pair pair_type; - pair_type p = iostreams::input_sequence(src); - std::streamsize size, total; - for ( total = 0, size = static_cast(p.second - p.first); - total < size; ) - { - std::streamsize amt = - iostreams::write(snk, p.first + total, size - total); - total += amt; - } - return total; -} - -// Copy from an indirect source to a direct sink -template -std::streamsize copy_impl( Source& src, Sink& snk, - std::streamsize buffer_size, - mpl::false_, mpl::true_ ) -{ - typedef typename char_type_of::type char_type; - typedef std::pair pair_type; - detail::basic_buffer buf(buffer_size); - pair_type p = snk.output_sequence(); - std::streamsize total = 0; - std::ptrdiff_t capacity = p.second - p.first; - while (true) { - std::streamsize amt = - iostreams::read( - src, - buf.data(), - buffer_size < capacity - total ? - buffer_size : - static_cast(capacity - total) - ); - if (amt == -1) - break; - std::copy(buf.data(), buf.data() + amt, p.first + total); - total += amt; - } - return total; -} - -// Copy from an indirect source to an indirect sink -template -std::streamsize copy_impl( Source& src, Sink& snk, - std::streamsize buffer_size, - mpl::false_, mpl::false_ ) -{ - typedef typename char_type_of::type char_type; - detail::basic_buffer buf(buffer_size); - non_blocking_adapter nb(snk); - std::streamsize total = 0; - bool done = false; - while (!done) { - std::streamsize amt; - done = (amt = iostreams::read(src, buf.data(), buffer_size)) == -1; - if (amt != -1) { - iostreams::write(nb, buf.data(), amt); - total += amt; - } - } - return total; -} - - // The following function object is used with - // boost::iostreams::detail::execute() in the primary - // overload of copy_impl(), below - -// Function object that delegates to one of the above four -// overloads of compl_impl() -template -class copy_operation { -public: - typedef std::streamsize result_type; - copy_operation(Source& src, Sink& snk, std::streamsize buffer_size) - : src_(src), snk_(snk), buffer_size_(buffer_size) - { } - std::streamsize operator()() - { - return copy_impl( src_, snk_, buffer_size_, - is_direct(), is_direct() ); - } -private: - copy_operation& operator=(const copy_operation&); - Source& src_; - Sink& snk_; - std::streamsize buffer_size_; -}; - -// Primary overload of copy_impl. Delegates to one of the above four -// overloads of compl_impl(), depending on which of the two given -// devices, if any, models Direct (see -// http://www.boost.org/libs/iostreams/doc/index.html?path=4.1.1.4) -template -std::streamsize copy_impl(Source src, Sink snk, std::streamsize buffer_size) -{ - using namespace std; - typedef typename char_type_of::type src_char; - typedef typename char_type_of::type snk_char; - BOOST_STATIC_ASSERT((is_same::value)); - return detail::execute_all( - copy_operation(src, snk, buffer_size), - detail::call_close_all(src), - detail::call_close_all(snk) - ); -} - -} // End namespace detail. - -//------------------Definition of copy----------------------------------------// - -// Overload of copy() for the case where neither the source nor the sink is -// a standard stream or stream buffer -template -std::streamsize -copy( const Source& src, const Sink& snk, - std::streamsize buffer_size = default_device_buffer_size - BOOST_IOSTREAMS_DISABLE_IF_STREAM(Source) - BOOST_IOSTREAMS_DISABLE_IF_STREAM(Sink) ) -{ - typedef typename char_type_of::type char_type; - return detail::copy_impl( detail::resolve(src), - detail::resolve(snk), - buffer_size ); -} - -#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) //---------------------------------// - -// Overload of copy() for the case where the source, but not the sink, is -// a standard stream or stream buffer -template -std::streamsize -copy( Source& src, const Sink& snk, - std::streamsize buffer_size = default_device_buffer_size - BOOST_IOSTREAMS_ENABLE_IF_STREAM(Source) - BOOST_IOSTREAMS_DISABLE_IF_STREAM(Sink) ) -{ - typedef typename char_type_of::type char_type; - return detail::copy_impl( detail::wrap(src), - detail::resolve(snk), - buffer_size ); -} - -// Overload of copy() for the case where the sink, but not the source, is -// a standard stream or stream buffer -template -std::streamsize -copy( const Source& src, Sink& snk, - std::streamsize buffer_size = default_device_buffer_size - BOOST_IOSTREAMS_DISABLE_IF_STREAM(Source) - BOOST_IOSTREAMS_ENABLE_IF_STREAM(Sink) ) -{ - typedef typename char_type_of::type char_type; - return detail::copy_impl( detail::resolve(src), - detail::wrap(snk), buffer_size ); -} - -// Overload of copy() for the case where neither the source nor the sink is -// a standard stream or stream buffer -template -std::streamsize -copy( Source& src, Sink& snk, - std::streamsize buffer_size = default_device_buffer_size - BOOST_IOSTREAMS_ENABLE_IF_STREAM(Source) - BOOST_IOSTREAMS_ENABLE_IF_STREAM(Sink) ) -{ - return detail::copy_impl(detail::wrap(src), detail::wrap(snk), buffer_size); -} - -#endif // #if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) //-----------------------// - -} } // End namespaces iostreams, boost. - -#endif // #ifndef BOOST_IOSTREAMS_COPY_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/iostreams/detail/char_traits.hpp b/bundled/boost-1.56.0/include/boost/iostreams/detail/char_traits.hpp deleted file mode 100755 index 2ee2fd0d4f..0000000000 --- a/bundled/boost-1.56.0/include/boost/iostreams/detail/char_traits.hpp +++ /dev/null @@ -1,63 +0,0 @@ -// (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com) -// (C) Copyright 2003-2007 Jonathan Turkanis -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt.) - -// Provides std::char_traits for libraries without templated streams. Should not -// be confused with , which defines the -// template boost::iostreams::char_traits. - -// See http://www.boost.org/libs/iostreams for documentation. - -#ifndef BOOST_IOSTREAMS_DETAIL_CHAR_TRAITS_HPP_INCLUDED -#define BOOST_IOSTREAMS_DETAIL_CHAR_TRAITS_HPP_INCLUDED - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -#include -#include -#ifdef BOOST_IOSTREAMS_NO_STREAM_TEMPLATES -# include // Make sure size_t is in std. -# include -# include -# include -#endif - -#ifndef BOOST_IOSTREAMS_NO_STREAM_TEMPLATES //--------------------------------// -# define BOOST_IOSTREAMS_CHAR_TRAITS(ch) std::char_traits< ch > -#else -# define BOOST_IOSTREAMS_CHAR_TRAITS(ch) boost::iostreams::detail::char_traits - -namespace boost { namespace iostreams { namespace detail { - -struct char_traits { - typedef char char_type; - typedef int int_type; - typedef std::streampos pos_type; - typedef std::streamoff off_type; - - // Note: this may not be not conforming, since it treats chars as unsigned, - // but is only used to test for equality. - static int compare(const char* lhs, const char* rhs, std::size_t n) - { return std::strncmp(lhs, rhs, n); } - static char* copy(char *dest, const char *src, std::size_t n) - { return static_cast(std::memcpy(dest, src, n)); } - static char* move(char *dest, const char *src, std::size_t n) - { return static_cast(std::memmove(dest, src, n)); } - static const char* find(const char* s, std::size_t n, const char& c) - { return (const char*) (const void*) std::memchr(s, c, n); } - static char to_char_type(const int& c) { return c; } - static int to_int_type(const char& c) { return c; } - static bool eq_int_type(const int& lhs, const int& rhs) - { return lhs == rhs; } - static int eof() { return EOF; } - static int not_eof(const int& c) { return c != EOF ? c : '\n'; } -}; - -} } } // End namespaces detail, iostreams, boost. - -#endif // #ifdef BOOST_IOSTREAMS_NO_STREAM_TEMPLATES //-----------------------// - -#endif // #ifndef BOOST_IOSTREAMS_DETAIL_CHAR_TRAITS_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/iostreams/detail/config/auto_link.hpp b/bundled/boost-1.56.0/include/boost/iostreams/detail/config/auto_link.hpp deleted file mode 100755 index 55f954b64f..0000000000 --- a/bundled/boost-1.56.0/include/boost/iostreams/detail/config/auto_link.hpp +++ /dev/null @@ -1,49 +0,0 @@ -// (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com) -// (C) Copyright 2003-2007 Jonathan Turkanis -// Distributed under the 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/iostreams for documentation. - -// Adapted from and from -// http://www.boost.org/more/separate_compilation.html, by John Maddock. - -#ifndef BOOST_IOSTREAMS_DETAIL_AUTO_LINK_HPP_INCLUDED -#define BOOST_IOSTREAMS_DETAIL_AUTO_LINK_HPP_INCLUDED - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -#if defined(BOOST_EXTERNAL_LIB_NAME) -# if defined(BOOST_MSVC) \ - || defined(__BORLANDC__) \ - || (defined(__MWERKS__) && defined(_WIN32) && (__MWERKS__ >= 0x3000)) \ - || (defined(__ICL) && defined(_MSC_EXTENSIONS) && (_MSC_VER >= 1200)) \ - /**/ -# pragma comment(lib, BOOST_EXTERNAL_LIB_NAME) -# endif -# undef BOOST_EXTERNAL_LIB_NAME -#endif - -//------------------Enable automatic library variant selection----------------// - -#if !defined(BOOST_IOSTREAMS_SOURCE) && \ - !defined(BOOST_ALL_NO_LIB) && \ - !defined(BOOST_IOSTREAMS_NO_LIB) \ - /**/ - -// Set the name of our library, this will get undef'ed by auto_link.hpp -// once it's done with it. -# define BOOST_LIB_NAME boost_iostreams - -// If we're importing code from a dll, then tell auto_link.hpp about it. -# if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_IOSTREAMS_DYN_LINK) -# define BOOST_DYN_LINK -# endif - -// And include the header that does the work. -# include -#endif // auto-linking disabled - -#endif // #ifndef BOOST_IOSTREAMS_DETAIL_AUTO_LINK_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/iostreams/detail/config/bzip2.hpp b/bundled/boost-1.56.0/include/boost/iostreams/detail/config/bzip2.hpp deleted file mode 100755 index d716fd169c..0000000000 --- a/bundled/boost-1.56.0/include/boost/iostreams/detail/config/bzip2.hpp +++ /dev/null @@ -1,48 +0,0 @@ -// (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com) -// (C) Copyright 2003-2007 Jonathan Turkanis -// Distributed under the 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/iostreams for documentation. - -// Adapted from and from -// http://www.boost.org/more/separate_compilation.html, by John Maddock. - -#ifndef BOOST_IOSTREAMS_DETAIL_CONFIG_BZIP2_HPP_INCLUDED -#define BOOST_IOSTREAMS_DETAIL_CONFIG_BZIP2_HPP_INCLUDED - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -#if defined(BOOST_BZIP2_BINARY) -# if defined(BOOST_MSVC) || \ - defined(__BORLANDC__) || \ - (defined(__MWERKS__) && defined(_WIN32) && (__MWERKS__ >= 0x3000)) || \ - (defined(__ICL) && defined(_MSC_EXTENSIONS) && (_MSC_VER >= 1200)) \ - /**/ - -// Specify the name of the .lib file. -# pragma comment(lib, BOOST_STRINGIZE(BOOST_BZIP2_BINARY)) -# endif -#else -# if !defined(BOOST_IOSTREAMS_SOURCE) && \ - !defined(BOOST_ALL_NO_LIB) && \ - !defined(BOOST_IOSTREAMS_NO_LIB) \ - /**/ - -// Set the name of our library, this will get undef'ed by auto_link.hpp -// once it's done with it. -# define BOOST_LIB_NAME boost_bzip2 - -// If we're importing code from a dll, then tell auto_link.hpp about it. -# if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_IOSTREAMS_DYN_LINK) -# define BOOST_DYN_LINK -# endif - -// And include the header that does the work. -# include -# endif -#endif - -#endif // #ifndef BOOST_IOSTREAMS_DETAIL_CONFIG_BZIP2_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/iostreams/detail/config/gcc.hpp b/bundled/boost-1.56.0/include/boost/iostreams/detail/config/gcc.hpp deleted file mode 100644 index a1d57b081f..0000000000 --- a/bundled/boost-1.56.0/include/boost/iostreams/detail/config/gcc.hpp +++ /dev/null @@ -1,27 +0,0 @@ -// (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com) -// (C) Copyright 2003-2007 Jonathan Turkanis -// Distributed under the 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/iostreams for documentation. - -// Adapted from and from -// http://www.boost.org/more/separate_compilation.html, by John Maddock. - -#ifndef BOOST_IOSTREAMS_DETAIL_CONFIG_GCC_HPP_INCLUDED -#define BOOST_IOSTREAMS_DETAIL_CONFIG_GCC_HPP_INCLUDED - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -#include // BOOST_INTEL. - -#if defined(__GNUC__) && !defined(BOOST_INTEL) -# define BOOST_IOSTREAMS_GCC (__GNUC__ * 100 + __GNUC_MINOR__) -# define BOOST_IOSTREAMS_GCC_WORKAROUND_GUARD 1 -#else -# define BOOST_IOSTREAMS_GCC_WORKAROUND_GUARD 0 -#endif - -#endif // #ifndef BOOST_IOSTREAMS_DETAIL_CONFIG_GCC_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/iostreams/detail/config/zlib.hpp b/bundled/boost-1.56.0/include/boost/iostreams/detail/config/zlib.hpp deleted file mode 100755 index 9283e4caa9..0000000000 --- a/bundled/boost-1.56.0/include/boost/iostreams/detail/config/zlib.hpp +++ /dev/null @@ -1,50 +0,0 @@ -// (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com) -// (C) Copyright 2003-2007 Jonathan Turkanis -// Distributed under the 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/iostreams for documentation. - -// Adapted from and from -// http://www.boost.org/more/separate_compilation.html, by John Maddock. - -#ifndef BOOST_IOSTREAMS_DETAIL_CONFIG_ZLIB_HPP_INCLUDED -#define BOOST_IOSTREAMS_DETAIL_CONFIG_ZLIB_HPP_INCLUDED - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -#include // BOOST_STRINGIZE. - -#if defined(BOOST_ZLIB_BINARY) -# if defined(BOOST_MSVC) || \ - defined(__BORLANDC__) || \ - (defined(__MWERKS__) && defined(_WIN32) && (__MWERKS__ >= 0x3000)) || \ - (defined(__ICL) && defined(_MSC_EXTENSIONS) && (_MSC_VER >= 1200)) \ - /**/ - -// Specify the name of the .lib file. -# pragma comment(lib, BOOST_STRINGIZE(BOOST_ZLIB_BINARY)) -# endif -#else -# if !defined(BOOST_IOSTREAMS_SOURCE) && \ - !defined(BOOST_ALL_NO_LIB) && \ - !defined(BOOST_IOSTREAMS_NO_LIB) \ - /**/ - -// Set the name of our library, this will get undef'ed by auto_link.hpp -// once it's done with it. -# define BOOST_LIB_NAME boost_zlib - -// If we're importing code from a dll, then tell auto_link.hpp about it. -# if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_IOSTREAMS_DYN_LINK) -# define BOOST_DYN_LINK -# endif - -// And include the header that does the work. -# include -# endif -#endif - -#endif // #ifndef BOOST_IOSTREAMS_DETAIL_CONFIG_ZLIB_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/iostreams/detail/default_arg.hpp b/bundled/boost-1.56.0/include/boost/iostreams/detail/default_arg.hpp deleted file mode 100755 index 9364ca27fa..0000000000 --- a/bundled/boost-1.56.0/include/boost/iostreams/detail/default_arg.hpp +++ /dev/null @@ -1,25 +0,0 @@ -// (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com) -// (C) Copyright 2005-2007 Jonathan Turkanis -// Distributed under the 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/iostreams for documentation. - -#ifndef BOOST_IOSTREAMS_DETAIL_DEFAULT_ARG_HPP_INCLUDED -#define BOOST_IOSTREAMS_DETAIL_DEFAULT_ARG_HPP_INCLUDED - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -#include -#include - -#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) -# include -# define BOOST_IOSTREAMS_DEFAULT_ARG(arg) mpl::identity< arg >::type -#else -# define BOOST_IOSTREAMS_DEFAULT_ARG(arg) arg -#endif - -#endif // #ifndef BOOST_IOSTREAMS_DETAIL_DEFAULT_ARG_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/iostreams/detail/error.hpp b/bundled/boost-1.56.0/include/boost/iostreams/detail/error.hpp deleted file mode 100755 index 57999d4ef5..0000000000 --- a/bundled/boost-1.56.0/include/boost/iostreams/detail/error.hpp +++ /dev/null @@ -1,45 +0,0 @@ -// (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com) -// (C) Copyright 2003-2007 Jonathan Turkanis -// Distributed under the 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/iostreams for documentation. - -#ifndef BOOST_IOSTREAMS_DETAIL_ERROR_HPP_INCLUDED -#define BOOST_IOSTREAMS_DETAIL_ERROR_HPP_INCLUDED - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -#include // failure. - -namespace boost { namespace iostreams { namespace detail { - -inline BOOST_IOSTREAMS_FAILURE cant_read() -{ return BOOST_IOSTREAMS_FAILURE("no read access"); } - -inline BOOST_IOSTREAMS_FAILURE cant_write() -{ return BOOST_IOSTREAMS_FAILURE("no write access"); } - -inline BOOST_IOSTREAMS_FAILURE cant_seek() -{ return BOOST_IOSTREAMS_FAILURE("no random access"); } - -inline BOOST_IOSTREAMS_FAILURE bad_read() -{ return BOOST_IOSTREAMS_FAILURE("bad read"); } - -inline BOOST_IOSTREAMS_FAILURE bad_putback() -{ return BOOST_IOSTREAMS_FAILURE("putback buffer full"); } - -inline BOOST_IOSTREAMS_FAILURE bad_write() -{ return BOOST_IOSTREAMS_FAILURE("bad write"); } - -inline BOOST_IOSTREAMS_FAILURE write_area_exhausted() -{ return BOOST_IOSTREAMS_FAILURE("write area exhausted"); } - -inline BOOST_IOSTREAMS_FAILURE bad_seek() -{ return BOOST_IOSTREAMS_FAILURE("bad seek"); } - -} } } // End namespaces detail, iostreams, boost. - -#endif // #ifndef BOOST_IOSTREAMS_DETAIL_ERROR_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/iostreams/detail/functional.hpp b/bundled/boost-1.56.0/include/boost/iostreams/detail/functional.hpp deleted file mode 100755 index a7b9b6bbb1..0000000000 --- a/bundled/boost-1.56.0/include/boost/iostreams/detail/functional.hpp +++ /dev/null @@ -1,189 +0,0 @@ -/* - * Distributed under the 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/iostreams for documentation. - - * File: boost/iostreams/detail/functional.hpp - * Date: Sun Dec 09 05:38:03 MST 2007 - * Copyright: 2007-2008 CodeRage, LLC - * Author: Jonathan Turkanis - * Contact: turkanis at coderage dot com - - * Defines several function objects and object generators for use with - * execute_all() - */ - -#ifndef BOOST_IOSTREAMS_DETAIL_FUNCTIONAL_HPP_INCLUDED -#define BOOST_IOSTREAMS_DETAIL_FUNCTIONAL_HPP_INCLUDED - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -#include -#include // BOOST_IOS - -namespace boost { namespace iostreams { namespace detail { - - // Function objects and object generators for invoking - // boost::iostreams::close - -template -class device_close_operation { -public: - typedef void result_type; - device_close_operation(T& t, BOOST_IOS::openmode which) - : t_(t), which_(which) - { } - void operator()() const { boost::iostreams::close(t_, which_); } -private: - device_close_operation& operator=(const device_close_operation&); - T& t_; - BOOST_IOS::openmode which_; -}; - -template -class filter_close_operation { -public: - typedef void result_type; - filter_close_operation(T& t, Sink& snk, BOOST_IOS::openmode which) - : t_(t), snk_(snk), which_(which) - { } - void operator()() const { boost::iostreams::close(t_, snk_, which_); } -private: - filter_close_operation& operator=(const filter_close_operation&); - T& t_; - Sink& snk_; - BOOST_IOS::openmode which_; -}; - -template -device_close_operation -call_close(T& t, BOOST_IOS::openmode which) -{ return device_close_operation(t, which); } - -template -filter_close_operation -call_close(T& t, Sink& snk, BOOST_IOS::openmode which) -{ return filter_close_operation(t, snk, which); } - - // Function objects and object generators for invoking - // boost::iostreams::detail::close_all - -template -class device_close_all_operation { -public: - typedef void result_type; - device_close_all_operation(T& t) : t_(t) { } - void operator()() const { detail::close_all(t_); } -private: - device_close_all_operation& operator=(const device_close_all_operation&); - T& t_; -}; - -template -class filter_close_all_operation { -public: - typedef void result_type; - filter_close_all_operation(T& t, Sink& snk) : t_(t), snk_(snk) { } - void operator()() const { detail::close_all(t_, snk_); } -private: - filter_close_all_operation& operator=(const filter_close_all_operation&); - T& t_; - Sink& snk_; -}; - -template -device_close_all_operation call_close_all(T& t) -{ return device_close_all_operation(t); } - -template -filter_close_all_operation -call_close_all(T& t, Sink& snk) -{ return filter_close_all_operation(t, snk); } - - // Function object and object generator for invoking a - // member function void close(std::ios_base::openmode) - -template -class member_close_operation { -public: - typedef void result_type; - member_close_operation(T& t, BOOST_IOS::openmode which) - : t_(t), which_(which) - { } - void operator()() const { t_.close(which_); } -private: - member_close_operation& operator=(const member_close_operation&); - T& t_; - BOOST_IOS::openmode which_; -}; - -template -member_close_operation call_member_close(T& t, BOOST_IOS::openmode which) -{ return member_close_operation(t, which); } - - // Function object and object generator for invoking a - // member function void reset() - -template -class reset_operation { -public: - reset_operation(T& t) : t_(t) { } - void operator()() const { t_.reset(); } -private: - reset_operation& operator=(const reset_operation&); - T& t_; -}; - -template -reset_operation call_reset(T& t) { return reset_operation(t); } - - // Function object and object generator for clearing a flag - -template -class clear_flags_operation { -public: - typedef void result_type; - clear_flags_operation(T& t) : t_(t) { } - void operator()() const { t_ = 0; } -private: - clear_flags_operation& operator=(const clear_flags_operation&); - T& t_; -}; - -template -clear_flags_operation clear_flags(T& t) -{ return clear_flags_operation(t); } - - // Function object and generator for flushing a buffer - -// Function object for use with execute_all() -template -class flush_buffer_operation { -public: - typedef void result_type; - flush_buffer_operation(Buffer& buf, Device& dev, bool flush) - : buf_(buf), dev_(dev), flush_(flush) - { } - void operator()() const - { - if (flush_) - buf_.flush(dev_); - } -private: - flush_buffer_operation& operator=(const flush_buffer_operation&); - Buffer& buf_; - Device& dev_; - bool flush_; -}; - -template -flush_buffer_operation -flush_buffer(Buffer& buf, Device& dev, bool flush) -{ return flush_buffer_operation(buf, dev, flush); } - -} } } // End namespaces detail, iostreams, boost. - -#endif // #ifndef BOOST_IOSTREAMS_DETAIL_FUNCTIONAL_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/iostreams/detail/is_iterator_range.hpp b/bundled/boost-1.56.0/include/boost/iostreams/detail/is_iterator_range.hpp deleted file mode 100644 index ac61064022..0000000000 --- a/bundled/boost-1.56.0/include/boost/iostreams/detail/is_iterator_range.hpp +++ /dev/null @@ -1,49 +0,0 @@ -// (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com) -// (C) Copyright 2003-2007 Jonathan Turkanis -// Distributed under the 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/iostreams for documentation. - -#ifndef BOOST_IOSTREAMS_DETAIL_IS_ITERATOR_RANGE_HPP_INCLUDED -#define BOOST_IOSTREAMS_DETAIL_IS_ITERATOR_RANGE_HPP_INCLUDED - -#include -#include -#include - -// Must come last. -#include - -namespace boost { - -# if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) //---------------------------------// - -// We avoid dependence on Boost.Range by using a forward declaration. -template -class iterator_range; - -namespace iostreams { - -BOOST_IOSTREAMS_BOOL_TRAIT_DEF(is_iterator_range, boost::iterator_range, 1) - -} // End namespace iostreams. - -# else // # if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) //-----------------------// - -namespace iostreams { - - template - struct is_iterator_range { - BOOST_STATIC_CONSTANT(bool, value = false); - }; - -} // End namespace iostreams. - -# endif // # if !BOOST_WORKAROUND(BOOST_MSVC, < 1300) //----------------------// - -} // End namespace boost. - -#include - -#endif // #ifndef BOOST_IOSTREAMS_DETAIL_IS_ITERATOR_RANGE_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/iostreams/detail/newline.hpp b/bundled/boost-1.56.0/include/boost/iostreams/detail/newline.hpp deleted file mode 100755 index 41b5b5268d..0000000000 --- a/bundled/boost-1.56.0/include/boost/iostreams/detail/newline.hpp +++ /dev/null @@ -1,32 +0,0 @@ -// (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com) -// (C) Copyright 2005-2007 Jonathan Turkanis -// Distributed under the 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/iostreams for documentation. - -#ifndef BOOST_IOSTREAMS_DETAIL_NEWLINE_HPP_INCLUDED -#define BOOST_IOSTREAMS_DETAIL_NEWLINE_HPP_INCLUDED - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -namespace boost { namespace iostreams { namespace detail { - -template -struct newline; - -template<> -struct newline { - BOOST_STATIC_CONSTANT(char, value = '\n'); -}; - -template<> -struct newline { - BOOST_STATIC_CONSTANT(wchar_t, value = L'\n'); -}; - -} } } // End namespaces detaill, iostreams, boost. - -#endif // #ifndef BOOST_IOSTREAMS_DETAIL_NEWLINE_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/iostreams/detail/optional.hpp b/bundled/boost-1.56.0/include/boost/iostreams/detail/optional.hpp deleted file mode 100644 index dbb25f0040..0000000000 --- a/bundled/boost-1.56.0/include/boost/iostreams/detail/optional.hpp +++ /dev/null @@ -1,114 +0,0 @@ -// (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com) -// (C) Copyright 2005-2007 Jonathan Turkanis -// Distributed under the 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/iostreams for documentation. - -// Recent changes to Boost.Optional involving assigment broke Boost.Iostreams, -// in a way which could be remedied only by relying on the deprecated reset -// functions; with VC6, even reset didn't work. Until this problem is -// understood, Iostreams will use a private version of optional with a smart -// pointer interface. - -#ifndef BOOST_IOSTREAMS_DETAIL_OPTIONAL_HPP_INCLUDED -#define BOOST_IOSTREAMS_DETAIL_OPTIONAL_HPP_INCLUDED - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -#include -#include -#include -#include - -namespace boost { namespace iostreams { namespace detail { - -// Taken from . -template -class aligned_storage -{ - // Borland ICEs if unnamed unions are used for this! - union dummy_u - { - char data[ sizeof(T) ]; - BOOST_DEDUCED_TYPENAME type_with_alignment< - ::boost::alignment_of::value >::type aligner_; - } dummy_ ; - - public: - - void const* address() const { return &dummy_.data[0]; } - void * address() { return &dummy_.data[0]; } -}; - -template -class optional { -public: - typedef T element_type; - optional() : initialized_(false) { } - optional(const T& t) : initialized_(false) { reset(t); } - ~optional() { reset(); } - T& operator*() - { - BOOST_ASSERT(initialized_); - return *static_cast(address()); - } - const T& operator*() const - { - BOOST_ASSERT(initialized_); - return *static_cast(address()); - } - T* operator->() - { - BOOST_ASSERT(initialized_); - return static_cast(address()); - } - const T* operator->() const - { - BOOST_ASSERT(initialized_); - return static_cast(address()); - } - T* get() - { - BOOST_ASSERT(initialized_); - return static_cast(address()); - } - const T* get() const - { - BOOST_ASSERT(initialized_); - return static_cast(address()); - } - void reset() - { - if (initialized_) { - #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) || \ - BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600)) \ - /**/ - T* t = static_cast(address()); - t->~T(); - #else - static_cast(address())->T::~T(); - #endif - initialized_ = false; - } - } - void reset(const T& t) - { - reset(); - new (address()) T(t); - initialized_ = true; - } -private: - optional(const optional&); - optional& operator=(const optional&); - void* address() { return &storage_; } - const void* address() const { return &storage_; } - aligned_storage storage_; - bool initialized_; -}; - -} } } // End namespaces detail, iostreams, boost. - -#endif // #ifndef BOOST_IOSTREAMS_DETAIL_OPTIONAL_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/iostreams/device/array.hpp b/bundled/boost-1.56.0/include/boost/iostreams/device/array.hpp deleted file mode 100755 index 3e08f04470..0000000000 --- a/bundled/boost-1.56.0/include/boost/iostreams/device/array.hpp +++ /dev/null @@ -1,144 +0,0 @@ -// (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com) -// (C) Copyright 2004-2007 Jonathan Turkanis -// Distributed under the 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/iostreams for documentation. - -#ifndef BOOST_IOSTREAMS_ARRAY_HPP_INCLUDED -#define BOOST_IOSTREAMS_ARRAY_HPP_INCLUDED - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -#include // BOOST_MSVC, make sure size_t is in std. -#include -#include // std::size_t. -#include // pair. -#include -#include -#include -#include -#include - -namespace boost { namespace iostreams { - -namespace detail { - -template -class array_adapter { -public: - typedef Ch char_type; - typedef std::pair pair_type; - struct category - : public Mode, - public device_tag, - public direct_tag - { }; - array_adapter(char_type* begin, char_type* end); - array_adapter(char_type* begin, std::size_t length); - array_adapter(const char_type* begin, const char_type* end); - array_adapter(const char_type* begin, std::size_t length); -#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300) - template - array_adapter(char_type (&ar)[N]) - : begin_(ar), end_(ar + N) - { } -#endif - pair_type input_sequence(); - pair_type output_sequence(); -private: - char_type* begin_; - char_type* end_; -}; - -} // End namespace detail. - -// Local macros, #undef'd below. -#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) -# define BOOST_IOSTREAMS_ARRAY_CTOR(name, ch) \ - template \ - BOOST_PP_CAT(basic_, name)(ch (&ar)[N]) \ - : base_type(ar) { } \ - /**/ -#else -# define BOOST_IOSTREAMS_ARRAY_CTOR(name, ch) -#endif -#define BOOST_IOSTREAMS_ARRAY(name, mode) \ - template \ - struct BOOST_PP_CAT(basic_, name) : detail::array_adapter { \ - private: \ - typedef detail::array_adapter base_type; \ - public: \ - typedef typename base_type::char_type char_type; \ - typedef typename base_type::category category; \ - BOOST_PP_CAT(basic_, name)(char_type* begin, char_type* end) \ - : base_type(begin, end) { } \ - BOOST_PP_CAT(basic_, name)(char_type* begin, std::size_t length) \ - : base_type(begin, length) { } \ - BOOST_PP_CAT(basic_, name)(const char_type* begin, const char_type* end) \ - : base_type(begin, end) { } \ - BOOST_PP_CAT(basic_, name)(const char_type* begin, std::size_t length) \ - : base_type(begin, length) { } \ - BOOST_IOSTREAMS_ARRAY_CTOR(name, Ch) \ - }; \ - typedef BOOST_PP_CAT(basic_, name) name; \ - typedef BOOST_PP_CAT(basic_, name) BOOST_PP_CAT(w, name); \ - /**/ -BOOST_IOSTREAMS_ARRAY(array_source, input_seekable) -BOOST_IOSTREAMS_ARRAY(array_sink, output_seekable) -BOOST_IOSTREAMS_ARRAY(array, seekable) -#undef BOOST_IOSTREAMS_ARRAY_CTOR -#undef BOOST_IOSTREAMS_ARRAY - - -//------------------Implementation of array_adapter---------------------------// - -namespace detail { - -template -array_adapter::array_adapter - (char_type* begin, char_type* end) - : begin_(begin), end_(end) - { } - -template -array_adapter::array_adapter - (char_type* begin, std::size_t length) - : begin_(begin), end_(begin + length) - { } - -template -array_adapter::array_adapter - (const char_type* begin, const char_type* end) - : begin_(const_cast(begin)), // Treated as read-only. - end_(const_cast(end)) // Treated as read-only. -{ BOOST_STATIC_ASSERT((!is_convertible::value)); } - -template -array_adapter::array_adapter - (const char_type* begin, std::size_t length) - : begin_(const_cast(begin)), // Treated as read-only. - end_(const_cast(begin) + length) // Treated as read-only. -{ BOOST_STATIC_ASSERT((!is_convertible::value)); } - -template -typename array_adapter::pair_type -array_adapter::input_sequence() -{ BOOST_STATIC_ASSERT((is_convertible::value)); - return pair_type(begin_, end_); } - -template -typename array_adapter::pair_type -array_adapter::output_sequence() -{ BOOST_STATIC_ASSERT((is_convertible::value)); - return pair_type(begin_, end_); } - -} // End namespace detail. - -//----------------------------------------------------------------------------// - -} } // End namespaces iostreams, boost. - -#endif // #ifndef BOOST_IOSTREAMS_ARRAY_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/iostreams/filter/bzip2.hpp b/bundled/boost-1.56.0/include/boost/iostreams/filter/bzip2.hpp deleted file mode 100644 index bc4b18f04a..0000000000 --- a/bundled/boost-1.56.0/include/boost/iostreams/filter/bzip2.hpp +++ /dev/null @@ -1,414 +0,0 @@ -// (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com) -// (C) Copyright 2003-2007 Jonathan Turkanis -// Distributed under the 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/iostreams for documentation. - -// Note: custom allocators are not supported on VC6, since that compiler -// had trouble finding the function zlib_base::do_init. - -#ifndef BOOST_IOSTREAMS_BZIP2_HPP_INCLUDED -#define BOOST_IOSTREAMS_BZIP2_HPP_INCLUDED - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -#include -#include // allocator. -#include // bad_alloc. -#include // MSVC, STATIC_CONSTANT, DEDUCED_TYPENAME, DINKUM. -#include -#include // buffer size. -#include -#include -#include -#include -#include // failure, streamsize. -#include -#include -#include - -// Must come last. -#ifdef BOOST_MSVC -# pragma warning(push) -# pragma warning(disable:4251 4231 4660) -#endif -#include - -// Temporary fix. -#undef small - -namespace boost { namespace iostreams { - -namespace bzip2 { - - // Typedefs. - -typedef void* (*alloc_func)(void*, int, int); -typedef void (*free_func)(void*, void*); - - // Status codes - -BOOST_IOSTREAMS_DECL extern const int ok; -BOOST_IOSTREAMS_DECL extern const int run_ok; -BOOST_IOSTREAMS_DECL extern const int flush_ok; -BOOST_IOSTREAMS_DECL extern const int finish_ok; -BOOST_IOSTREAMS_DECL extern const int stream_end; -BOOST_IOSTREAMS_DECL extern const int sequence_error; -BOOST_IOSTREAMS_DECL extern const int param_error; -BOOST_IOSTREAMS_DECL extern const int mem_error; -BOOST_IOSTREAMS_DECL extern const int data_error; -BOOST_IOSTREAMS_DECL extern const int data_error_magic; -BOOST_IOSTREAMS_DECL extern const int io_error; -BOOST_IOSTREAMS_DECL extern const int unexpected_eof; -BOOST_IOSTREAMS_DECL extern const int outbuff_full; -BOOST_IOSTREAMS_DECL extern const int config_error; - - // Action codes - -BOOST_IOSTREAMS_DECL extern const int finish; -BOOST_IOSTREAMS_DECL extern const int run; - - // Default values - -const int default_block_size = 9; -const int default_work_factor = 30; -const bool default_small = false; - -} // End namespace bzip2. - -// -// Class name: bzip2_params. -// Description: Encapsulates the parameters passed to deflateInit2 -// to customize compression. -// -struct bzip2_params { - - // Non-explicit constructor for compression. - bzip2_params( int block_size = bzip2::default_block_size, - int work_factor = bzip2::default_work_factor ) - : block_size(block_size), work_factor(work_factor) - { } - - // Constructor for decompression. - bzip2_params(bool small) - : small(small), work_factor(0) - { } - - union { - int block_size; // For compression. - bool small; // For decompression. - }; - int work_factor; -}; - -// -// Class name: bzip2_error. -// Description: Subclass of std::ios_base::failure thrown to indicate -// bzip2 errors other than out-of-memory conditions. -// -class BOOST_IOSTREAMS_DECL bzip2_error : public BOOST_IOSTREAMS_FAILURE { -public: - explicit bzip2_error(int error); - int error() const { return error_; } - static void check BOOST_PREVENT_MACRO_SUBSTITUTION(int error); -private: - int error_; -}; - -namespace detail { - -template -struct bzip2_allocator_traits { -#ifndef BOOST_NO_STD_ALLOCATOR - typedef typename Alloc::template rebind::other type; -#else - typedef std::allocator type; -#endif -}; - -template< typename Alloc, - typename Base = // VC6 workaround (C2516) - BOOST_DEDUCED_TYPENAME bzip2_allocator_traits::type > -struct bzip2_allocator : private Base { -private: - typedef typename Base::size_type size_type; -public: - BOOST_STATIC_CONSTANT(bool, custom = - (!is_same, Base>::value)); - typedef typename bzip2_allocator_traits::type allocator_type; - static void* allocate(void* self, int items, int size); - static void deallocate(void* self, void* address); -}; - -class BOOST_IOSTREAMS_DECL bzip2_base { -public: - typedef char char_type; -protected: - bzip2_base(const bzip2_params& params); - ~bzip2_base(); - bzip2_params& params() { return params_; } - bool& ready() { return ready_; } - template - void init( bool compress, - bzip2_allocator& alloc ) - { - bool custom = bzip2_allocator::custom; - do_init( compress, - #if !BOOST_WORKAROUND(BOOST_MSVC, < 1300) - custom ? bzip2_allocator::allocate : 0, - custom ? bzip2_allocator::deallocate : 0, - #endif - custom ? &alloc : 0 ); - } - void before( const char*& src_begin, const char* src_end, - char*& dest_begin, char* dest_end ); - void after(const char*& src_begin, char*& dest_begin); - int check_end(const char* src_begin, const char* dest_begin); - int compress(int action); - int decompress(); - void end(bool compress); -private: - void do_init( bool compress, - #if !BOOST_WORKAROUND(BOOST_MSVC, < 1300) - bzip2::alloc_func, - bzip2::free_func, - #endif - void* derived ); - bzip2_params params_; - void* stream_; // Actual type: bz_stream*. - bool ready_; -}; - -// -// Template name: bzip2_compressor_impl -// Description: Model of SymmetricFilter implementing compression by -// delegating to the libbzip2 function BZ_bzCompress. -// -template > -class bzip2_compressor_impl - : public bzip2_base, - #if BOOST_WORKAROUND(__BORLANDC__, < 0x600) - public - #endif - bzip2_allocator -{ -public: - bzip2_compressor_impl(const bzip2_params&); - bool filter( const char*& src_begin, const char* src_end, - char*& dest_begin, char* dest_end, bool flush ); - void close(); -private: - void init(); - bool eof_; // Guard to make sure filter() isn't called after it returns false. -}; - -// -// Template name: bzip2_compressor -// Description: Model of SymmetricFilter implementing decompression by -// delegating to the libbzip2 function BZ_bzDecompress. -// -template > -class bzip2_decompressor_impl - : public bzip2_base, - #if BOOST_WORKAROUND(__BORLANDC__, < 0x600) - public - #endif - bzip2_allocator -{ -public: - bzip2_decompressor_impl(bool small = bzip2::default_small); - bool filter( const char*& begin_in, const char* end_in, - char*& begin_out, char* end_out, bool flush ); - void close(); -private: - void init(); - bool eof_; // Guard to make sure filter() isn't called after it returns false. -}; - -} // End namespace detail. - -// -// Template name: bzip2_compressor -// Description: Model of InputFilter and OutputFilter implementing -// compression using libbzip2. -// -template > -struct basic_bzip2_compressor - : symmetric_filter, Alloc> -{ -private: - typedef detail::bzip2_compressor_impl impl_type; - typedef symmetric_filter base_type; -public: - typedef typename base_type::char_type char_type; - typedef typename base_type::category category; - basic_bzip2_compressor( const bzip2_params& = bzip2::default_block_size, - int buffer_size = default_device_buffer_size ); -}; -BOOST_IOSTREAMS_PIPABLE(basic_bzip2_compressor, 1) - -typedef basic_bzip2_compressor<> bzip2_compressor; - -// -// Template name: bzip2_decompressor -// Description: Model of InputFilter and OutputFilter implementing -// decompression using libbzip2. -// -template > -struct basic_bzip2_decompressor - : symmetric_filter, Alloc> -{ -private: - typedef detail::bzip2_decompressor_impl impl_type; - typedef symmetric_filter base_type; -public: - typedef typename base_type::char_type char_type; - typedef typename base_type::category category; - basic_bzip2_decompressor( bool small = bzip2::default_small, - int buffer_size = default_device_buffer_size ); -}; -BOOST_IOSTREAMS_PIPABLE(basic_bzip2_decompressor, 1) - -typedef basic_bzip2_decompressor<> bzip2_decompressor; - -//----------------------------------------------------------------------------// - -//------------------Implementation of bzip2_allocator-------------------------// - -namespace detail { - -template -void* bzip2_allocator::allocate(void* self, int items, int size) -{ - size_type len = items * size; - char* ptr = - static_cast(self)->allocate - (len + sizeof(size_type) - #if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1) - , (char*)0 - #endif - ); - *reinterpret_cast(ptr) = len; - return ptr + sizeof(size_type); -} - -template -void bzip2_allocator::deallocate(void* self, void* address) -{ - char* ptr = reinterpret_cast(address) - sizeof(size_type); - size_type len = *reinterpret_cast(ptr) + sizeof(size_type); - static_cast(self)->deallocate(ptr, len); -} - -//------------------Implementation of bzip2_compressor_impl-------------------// - -template -bzip2_compressor_impl::bzip2_compressor_impl(const bzip2_params& p) - : bzip2_base(p), eof_(false) { } - -template -bool bzip2_compressor_impl::filter - ( const char*& src_begin, const char* src_end, - char*& dest_begin, char* dest_end, bool flush ) -{ - if (!ready()) init(); - if (eof_) return false; - before(src_begin, src_end, dest_begin, dest_end); - int result = compress(flush ? bzip2::finish : bzip2::run); - after(src_begin, dest_begin); - bzip2_error::check BOOST_PREVENT_MACRO_SUBSTITUTION(result); - return !(eof_ = result == bzip2::stream_end); -} - -template -void bzip2_compressor_impl::close() -{ - try { - end(true); - } catch (...) { - eof_ = false; - throw; - } - eof_ = false; -} - -template -inline void bzip2_compressor_impl::init() -{ bzip2_base::init(true, static_cast&>(*this)); } - -//------------------Implementation of bzip2_decompressor_impl-----------------// - -template -bzip2_decompressor_impl::bzip2_decompressor_impl(bool small) - : bzip2_base(bzip2_params(small)), eof_(false) { } - -template -bool bzip2_decompressor_impl::filter - ( const char*& src_begin, const char* src_end, - char*& dest_begin, char* dest_end, bool flush ) -{ - if (eof_) { - // reset the stream if there are more characters - if(src_begin == src_end) - return false; - else - close(); - } - if (!ready()) - init(); - before(src_begin, src_end, dest_begin, dest_end); - int result = decompress(); - if(result == bzip2::ok && flush) - result = check_end(src_begin, dest_begin); - after(src_begin, dest_begin); - bzip2_error::check BOOST_PREVENT_MACRO_SUBSTITUTION(result); - eof_ = result == bzip2::stream_end; - return true; -} - -template -void bzip2_decompressor_impl::close() -{ - try { - end(false); - } catch (...) { - eof_ = false; - throw; - } - eof_ = false; -} - -template -inline void bzip2_decompressor_impl::init() -{ bzip2_base::init(false, static_cast&>(*this)); } -} // End namespace detail. - -//------------------Implementation of bzip2_decompressor----------------------// - -template -basic_bzip2_compressor::basic_bzip2_compressor - (const bzip2_params& p, int buffer_size) - : base_type(buffer_size, p) - { } - -//------------------Implementation of bzip2_decompressor----------------------// - -template -basic_bzip2_decompressor::basic_bzip2_decompressor - (bool small, int buffer_size) - : base_type(buffer_size, small) - { } - -//----------------------------------------------------------------------------// - -} } // End namespaces iostreams, boost. - -#include // Pops abi_suffix.hpp pragmas. -#ifdef BOOST_MSVC -# pragma warning(pop) -#endif - -#endif // #ifndef BOOST_IOSTREAMS_BZIP2_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/iostreams/filter/newline.hpp b/bundled/boost-1.56.0/include/boost/iostreams/filter/newline.hpp deleted file mode 100644 index ac064b716f..0000000000 --- a/bundled/boost-1.56.0/include/boost/iostreams/filter/newline.hpp +++ /dev/null @@ -1,442 +0,0 @@ -// (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com) -// (C) Copyright 2003-2007 Jonathan Turkanis -// Distributed under the 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/iostreams for documentation. - -// NOTE: I hope to replace the current implementation with a much simpler -// one. - -#ifndef BOOST_IOSTREAMS_NEWLINE_FILTER_HPP_INCLUDED -#define BOOST_IOSTREAMS_NEWLINE_FILTER_HPP_INCLUDED - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -#include -#include -#include // logic_error. -#include // BOOST_STATIC_CONSTANT. -#include -#include -#include // BOOST_IOSTREAMS_FAILURE -#include // get -#include // put -#include -#include -#include -#include -#include - -// Must come last. -#include - -#define BOOST_IOSTREAMS_ASSERT_UNREACHABLE(val) \ - (BOOST_ASSERT("unreachable code" == 0), val) \ - /**/ - -namespace boost { namespace iostreams { - -namespace newline { - -const char CR = 0x0D; -const char LF = 0x0A; - - // Flags for configuring newline_filter. - -// Exactly one of the following three flags must be present. - -const int posix = 1; // Use CR as line separator. -const int mac = 2; // Use LF as line separator. -const int dos = 4; // Use CRLF as line separator. -const int mixed = 8; // Mixed line endings. -const int final_newline = 16; -const int platform_mask = posix | dos | mac; - -} // End namespace newline. - -namespace detail { - -class newline_base { -public: - bool is_posix() const - { - return !is_mixed() && (flags_ & newline::posix) != 0; - } - bool is_dos() const - { - return !is_mixed() && (flags_ & newline::dos) != 0; - } - bool is_mac() const - { - return !is_mixed() && (flags_ & newline::mac) != 0; - } - bool is_mixed_posix() const { return (flags_ & newline::posix) != 0; } - bool is_mixed_dos() const { return (flags_ & newline::dos) != 0; } - bool is_mixed_mac() const { return (flags_ & newline::mac) != 0; } - bool is_mixed() const - { - int platform = - (flags_ & newline::posix) != 0 ? - newline::posix : - (flags_ & newline::dos) != 0 ? - newline::dos : - (flags_ & newline::mac) != 0 ? - newline::mac : - 0; - return (flags_ & ~platform & newline::platform_mask) != 0; - } - bool has_final_newline() const - { - return (flags_ & newline::final_newline) != 0; - } -protected: - newline_base(int flags) : flags_(flags) { } - int flags_; -}; - -} // End namespace detail. - -class newline_error - : public BOOST_IOSTREAMS_FAILURE, public detail::newline_base -{ -private: - friend class newline_checker; - newline_error(int flags) - : BOOST_IOSTREAMS_FAILURE("bad line endings"), - detail::newline_base(flags) - { } -}; - -class newline_filter { -public: - typedef char char_type; - struct category - : dual_use, - filter_tag, - closable_tag - { }; - - explicit newline_filter(int target) : flags_(target) - { - if ( target != iostreams::newline::posix && - target != iostreams::newline::dos && - target != iostreams::newline::mac ) - { - boost::throw_exception(std::logic_error("bad flags")); - } - } - - template - int get(Source& src) - { - using iostreams::newline::CR; - using iostreams::newline::LF; - - BOOST_ASSERT((flags_ & f_write) == 0); - flags_ |= f_read; - - if (flags_ & (f_has_LF | f_has_EOF)) { - if (flags_ & f_has_LF) - return newline(); - else - return EOF; - } - - int c = - (flags_ & f_has_CR) == 0 ? - iostreams::get(src) : - CR; - - if (c == WOULD_BLOCK ) - return WOULD_BLOCK; - - if (c == CR) { - flags_ |= f_has_CR; - - int d; - if ((d = iostreams::get(src)) == WOULD_BLOCK) - return WOULD_BLOCK; - - if (d == LF) { - flags_ &= ~f_has_CR; - return newline(); - } - - if (d == EOF) { - flags_ |= f_has_EOF; - } else { - iostreams::putback(src, d); - } - - flags_ &= ~f_has_CR; - return newline(); - } - - if (c == LF) - return newline(); - - return c; - } - - template - bool put(Sink& dest, char c) - { - using iostreams::newline::CR; - using iostreams::newline::LF; - - BOOST_ASSERT((flags_ & f_read) == 0); - flags_ |= f_write; - - if ((flags_ & f_has_LF) != 0) - return c == LF ? - newline(dest) : - newline(dest) && this->put(dest, c); - - if (c == LF) - return newline(dest); - - if ((flags_ & f_has_CR) != 0) - return newline(dest) ? - this->put(dest, c) : - false; - - if (c == CR) { - flags_ |= f_has_CR; - return true; - } - - return iostreams::put(dest, c); - } - - template - void close(Sink& dest, BOOST_IOS::openmode) - { - typedef typename iostreams::category_of::type category; - if ((flags_ & f_write) != 0 && (flags_ & f_has_CR) != 0) - newline_if_sink(dest); - flags_ &= ~f_has_LF; // Restore original flags. - } -private: - - // Returns the appropriate element of a newline sequence. - int newline() - { - using iostreams::newline::CR; - using iostreams::newline::LF; - - switch (flags_ & iostreams::newline::platform_mask) { - case iostreams::newline::posix: - return LF; - case iostreams::newline::mac: - return CR; - case iostreams::newline::dos: - if (flags_ & f_has_LF) { - flags_ &= ~f_has_LF; - return LF; - } else { - flags_ |= f_has_LF; - return CR; - } - } - return BOOST_IOSTREAMS_ASSERT_UNREACHABLE(0); - } - - // Writes a newline sequence. - template - bool newline(Sink& dest) - { - using iostreams::newline::CR; - using iostreams::newline::LF; - - bool success = false; - switch (flags_ & iostreams::newline::platform_mask) { - case iostreams::newline::posix: - success = boost::iostreams::put(dest, LF); - break; - case iostreams::newline::mac: - success = boost::iostreams::put(dest, CR); - break; - case iostreams::newline::dos: - if ((flags_ & f_has_LF) != 0) { - if ((success = boost::iostreams::put(dest, LF))) - flags_ &= ~f_has_LF; - } else if (boost::iostreams::put(dest, CR)) { - if (!(success = boost::iostreams::put(dest, LF))) - flags_ |= f_has_LF; - } - break; - } - if (success) - flags_ &= ~f_has_CR; - return success; - } - - // Writes a newline sequence if the given device is a Sink. - template - void newline_if_sink(Device& dest) - { - typedef typename iostreams::category_of::type category; - newline_if_sink(dest, is_convertible()); - } - - template - void newline_if_sink(Sink& dest, mpl::true_) { newline(dest); } - - template - void newline_if_sink(Source&, mpl::false_) { } - - enum flags { - f_has_LF = 32768, - f_has_CR = f_has_LF << 1, - f_has_newline = f_has_CR << 1, - f_has_EOF = f_has_newline << 1, - f_read = f_has_EOF << 1, - f_write = f_read << 1 - }; - int flags_; -}; -BOOST_IOSTREAMS_PIPABLE(newline_filter, 0) - -class newline_checker : public detail::newline_base { -public: - typedef char char_type; - struct category - : dual_use_filter_tag, - closable_tag - { }; - explicit newline_checker(int target = newline::mixed) - : detail::newline_base(0), target_(target), open_(false) - { } - template - int get(Source& src) - { - using newline::CR; - using newline::LF; - - if (!open_) { - open_ = true; - source() = 0; - } - - int c; - if ((c = iostreams::get(src)) == WOULD_BLOCK) - return WOULD_BLOCK; - - // Update source flags. - if (c != EOF) - source() &= ~f_line_complete; - if ((source() & f_has_CR) != 0) { - if (c == LF) { - source() |= newline::dos; - source() |= f_line_complete; - } else { - source() |= newline::mac; - if (c == EOF) - source() |= f_line_complete; - } - } else if (c == LF) { - source() |= newline::posix; - source() |= f_line_complete; - } - source() = (source() & ~f_has_CR) | (c == CR ? f_has_CR : 0); - - // Check for errors. - if ( c == EOF && - (target_ & newline::final_newline) != 0 && - (source() & f_line_complete) == 0 ) - { - fail(); - } - if ( (target_ & newline::platform_mask) != 0 && - (source() & ~target_ & newline::platform_mask) != 0 ) - { - fail(); - } - - return c; - } - - template - bool put(Sink& dest, int c) - { - using iostreams::newline::CR; - using iostreams::newline::LF; - - if (!open_) { - open_ = true; - source() = 0; - } - - if (!iostreams::put(dest, c)) - return false; - - // Update source flags. - source() &= ~f_line_complete; - if ((source() & f_has_CR) != 0) { - if (c == LF) { - source() |= newline::dos; - source() |= f_line_complete; - } else { - source() |= newline::mac; - } - } else if (c == LF) { - source() |= newline::posix; - source() |= f_line_complete; - } - source() = (source() & ~f_has_CR) | (c == CR ? f_has_CR : 0); - - // Check for errors. - if ( (target_ & newline::platform_mask) != 0 && - (source() & ~target_ & newline::platform_mask) != 0 ) - { - fail(); - } - - return true; - } - - template - void close(Sink&, BOOST_IOS::openmode) - { - using iostreams::newline::final_newline; - - // Update final_newline flag. - if ( (source() & f_has_CR) != 0 || - (source() & f_line_complete) != 0 ) - { - source() |= final_newline; - } - - // Clear non-sticky flags. - source() &= ~(f_has_CR | f_line_complete); - - // Check for errors. - if ( (target_ & final_newline) != 0 && - (source() & final_newline) == 0 ) - { - fail(); - } - } -private: - void fail() { boost::throw_exception(newline_error(source())); } - int& source() { return flags_; } - int source() const { return flags_; } - - enum flags { - f_has_CR = 32768, - f_line_complete = f_has_CR << 1 - }; - - int target_; // Represents expected input. - bool open_; -}; -BOOST_IOSTREAMS_PIPABLE(newline_checker, 0) - -} } // End namespaces iostreams, boost. - -#include - -#endif // #ifndef BOOST_IOSTREAMS_NEWLINE_FILTER_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/iostreams/filter/regex.hpp b/bundled/boost-1.56.0/include/boost/iostreams/filter/regex.hpp deleted file mode 100755 index e6efd6d8ae..0000000000 --- a/bundled/boost-1.56.0/include/boost/iostreams/filter/regex.hpp +++ /dev/null @@ -1,98 +0,0 @@ -// (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com) -// (C) Copyright 2003-2007 Jonathan Turkanis -// Distributed under the 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/iostreams for documentation. - -#ifndef BOOST_IOSTREAMS_REGEX_FILTER_HPP_INCLUDED -#define BOOST_IOSTREAMS_REGEX_FILTER_HPP_INCLUDED - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -#include // allocator. -#include -#include -#include -#include - -namespace boost { namespace iostreams { - -template< typename Ch, - typename Tr = regex_traits, - typename Alloc = std::allocator > -class basic_regex_filter : public aggregate_filter { -private: - typedef aggregate_filter base_type; -public: - typedef typename base_type::char_type char_type; - typedef typename base_type::category category; - typedef std::basic_string string_type; - typedef basic_regex regex_type; - typedef regex_constants::match_flag_type flag_type; - typedef match_results match_type; - typedef function1 formatter; - - basic_regex_filter( const regex_type& re, - const formatter& replace, - flag_type flags = regex_constants::match_default ) - : re_(re), replace_(replace), flags_(flags) { } - basic_regex_filter( const regex_type& re, - const string_type& fmt, - flag_type flags = regex_constants::match_default, - flag_type fmt_flags = regex_constants::format_default ) - : re_(re), replace_(simple_formatter(fmt, fmt_flags)), flags_(flags) { } - basic_regex_filter( const regex_type& re, - const char_type* fmt, - flag_type flags = regex_constants::match_default, - flag_type fmt_flags = regex_constants::format_default ) - : re_(re), replace_(simple_formatter(fmt, fmt_flags)), flags_(flags) { } -private: - typedef typename base_type::vector_type vector_type; - void do_filter(const vector_type& src, vector_type& dest) - { - typedef regex_iterator iterator; - if (src.empty()) - return; - iterator first(&src[0], &src[0] + src.size(), re_, flags_); - iterator last; - const Ch* suffix = 0; - for (; first != last; ++first) { - dest.insert( dest.end(), - first->prefix().first, - first->prefix().second ); - string_type replacement = replace_(*first); - dest.insert( dest.end(), - replacement.begin(), - replacement.end() ); - suffix = first->suffix().first; - } - if (suffix) { - dest.insert(dest.end(), suffix, &src[0] + src.size()); - } else { - dest.insert(dest.end(), &src[0], &src[0] + src.size()); - } - } - struct simple_formatter { - simple_formatter(const string_type& fmt, flag_type fmt_flags) - : fmt_(fmt), fmt_flags_(fmt_flags) { } - string_type operator() (const match_type& match) const - { return match.format(fmt_, fmt_flags_); } - string_type fmt_; - flag_type fmt_flags_; - }; - regex_type re_; - formatter replace_; - flag_type flags_; -}; -BOOST_IOSTREAMS_PIPABLE(basic_regex_filter, 3) - -typedef basic_regex_filter regex_filter; -typedef basic_regex_filter wregex_filter; - - -} } // End namespaces iostreams, boost. - -#endif // #ifndef BOOST_IOSTREAMS_REGEX_FILTER_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/iostreams/filter/symmetric.hpp b/bundled/boost-1.56.0/include/boost/iostreams/filter/symmetric.hpp deleted file mode 100644 index cc92b0cfa8..0000000000 --- a/bundled/boost-1.56.0/include/boost/iostreams/filter/symmetric.hpp +++ /dev/null @@ -1,310 +0,0 @@ -// (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com) -// (C) Copyright 2003-2007 Jonathan Turkanis -// Distributed under the 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/iostreams for documentation. - -// Contains the definitions of the class templates symmetric_filter, -// which models DualUseFilter based on a model of the Symmetric Filter. - -// -// Roughly, a Symmetric Filter is a class type with the following interface: -// -// struct symmetric_filter { -// typedef xxx char_type; -// -// bool filter( const char*& begin_in, const char* end_in, -// char*& begin_out, char* end_out, bool flush ) -// { -// // Consume as many characters as possible from the interval -// // [begin_in, end_in), without exhausting the output range -// // [begin_out, end_out). If flush is true, write as mush output -// // as possible. -// // A return value of true indicates that filter should be called -// // again. More precisely, if flush is false, a return value of -// // false indicates that the natural end of stream has been reached -// // and that all filtered data has been forwarded; if flush is -// // true, a return value of false indicates that all filtered data -// // has been forwarded. -// } -// void close() { /* Reset filter's state. */ } -// }; -// -// Symmetric Filter filters need not be CopyConstructable. -// - -#ifndef BOOST_IOSTREAMS_SYMMETRIC_FILTER_HPP_INCLUDED -#define BOOST_IOSTREAMS_SYMMETRIC_FILTER_HPP_INCLUDED - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -#include -#include // allocator, auto_ptr. -#include // BOOST_DEDUCED_TYPENAME. -#include -#include // buffer size. -#include -#include -#include -#include -#include -#include // read, write. -#include -#include -#include -#include -#include -#include - -// Must come last. -#include // MSVC. - -namespace boost { namespace iostreams { - -template< typename SymmetricFilter, - typename Alloc = - std::allocator< - BOOST_DEDUCED_TYPENAME char_type_of::type - > > -class symmetric_filter { -public: - typedef typename char_type_of::type char_type; - typedef BOOST_IOSTREAMS_CHAR_TRAITS(char_type) traits_type; - typedef std::basic_string string_type; - struct category - : dual_use, - filter_tag, - multichar_tag, - closable_tag - { }; - - // Expands to a sequence of ctors which forward to impl. - #define BOOST_PP_LOCAL_MACRO(n) \ - BOOST_IOSTREAMS_TEMPLATE_PARAMS(n, T) \ - explicit symmetric_filter( \ - int buffer_size BOOST_PP_COMMA_IF(n) \ - BOOST_PP_ENUM_BINARY_PARAMS(n, const T, &t) ) \ - : pimpl_(new impl(buffer_size BOOST_PP_COMMA_IF(n) \ - BOOST_PP_ENUM_PARAMS(n, t))) \ - { BOOST_ASSERT(buffer_size > 0); } \ - /**/ - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_IOSTREAMS_MAX_FORWARDING_ARITY) - #include BOOST_PP_LOCAL_ITERATE() - #undef BOOST_PP_LOCAL_MACRO - - template - std::streamsize read(Source& src, char_type* s, std::streamsize n) - { - using namespace std; - if (!(state() & f_read)) - begin_read(); - - buffer_type& buf = pimpl_->buf_; - int status = (state() & f_eof) != 0 ? f_eof : f_good; - char_type *next_s = s, - *end_s = s + n; - while (true) - { - // Invoke filter if there are unconsumed characters in buffer or if - // filter must be flushed. - bool flush = status == f_eof; - if (buf.ptr() != buf.eptr() || flush) { - const char_type* next = buf.ptr(); - bool done = - !filter().filter(next, buf.eptr(), next_s, end_s, flush); - buf.ptr() = buf.data() + (next - buf.data()); - if (done) - return detail::check_eof( - static_cast(next_s - s) - ); - } - - // If no more characters are available without blocking, or - // if read request has been satisfied, return. - if ( (status == f_would_block && buf.ptr() == buf.eptr()) || - next_s == end_s ) - { - return static_cast(next_s - s); - } - - // Fill buffer. - if (status == f_good) - status = fill(src); - } - } - - template - std::streamsize write(Sink& snk, const char_type* s, std::streamsize n) - { - if (!(state() & f_write)) - begin_write(); - - buffer_type& buf = pimpl_->buf_; - const char_type *next_s, *end_s; - for (next_s = s, end_s = s + n; next_s != end_s; ) { - if (buf.ptr() == buf.eptr() && !flush(snk)) - break; - if(!filter().filter(next_s, end_s, buf.ptr(), buf.eptr(), false)) { - flush(snk); - break; - } - } - return static_cast(next_s - s); - } - - template - void close(Sink& snk, BOOST_IOS::openmode mode) - { - if (mode == BOOST_IOS::out) { - - if (!(state() & f_write)) - begin_write(); - - // Repeatedly invoke filter() with no input. - try { - buffer_type& buf = pimpl_->buf_; - char_type dummy; - const char_type* end = &dummy; - bool again = true; - while (again) { - if (buf.ptr() != buf.eptr()) - again = filter().filter( end, end, buf.ptr(), - buf.eptr(), true ); - flush(snk); - } - } catch (...) { - try { close_impl(); } catch (...) { } - throw; - } - close_impl(); - } else { - close_impl(); - } - } - SymmetricFilter& filter() { return *pimpl_; } - string_type unconsumed_input() const; - -// Give impl access to buffer_type on Tru64 -#if !BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(60590042)) - private: -#endif - typedef detail::buffer buffer_type; -private: - buffer_type& buf() { return pimpl_->buf_; } - const buffer_type& buf() const { return pimpl_->buf_; } - int& state() { return pimpl_->state_; } - void begin_read(); - void begin_write(); - - template - int fill(Source& src) - { - std::streamsize amt = iostreams::read(src, buf().data(), buf().size()); - if (amt == -1) { - state() |= f_eof; - return f_eof; - } - buf().set(0, amt); - return amt != 0 ? f_good : f_would_block; - } - - // Attempts to write the contents of the buffer the given Sink. - // Returns true if at least on character was written. - template - bool flush(Sink& snk) - { - typedef typename iostreams::category_of::type category; - typedef is_convertible can_write; - return flush(snk, can_write()); - } - - template - bool flush(Sink& snk, mpl::true_) - { - std::streamsize amt = - static_cast(buf().ptr() - buf().data()); - std::streamsize result = - boost::iostreams::write(snk, buf().data(), amt); - if (result < amt && result > 0) - traits_type::move(buf().data(), buf().data() + result, amt - result); - buf().set(amt - result, buf().size()); - return result != 0; - } - - template - bool flush(Sink&, mpl::false_) { return true;} - - void close_impl(); - - enum flag_type { - f_read = 1, - f_write = f_read << 1, - f_eof = f_write << 1, - f_good, - f_would_block - }; - - struct impl : SymmetricFilter { - - // Expands to a sequence of ctors which forward to SymmetricFilter. - #define BOOST_PP_LOCAL_MACRO(n) \ - BOOST_IOSTREAMS_TEMPLATE_PARAMS(n, T) \ - impl( int buffer_size BOOST_PP_COMMA_IF(n) \ - BOOST_PP_ENUM_BINARY_PARAMS(n, const T, &t) ) \ - : SymmetricFilter(BOOST_PP_ENUM_PARAMS(n, t)), \ - buf_(buffer_size), state_(0) \ - { } \ - /**/ - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_IOSTREAMS_MAX_FORWARDING_ARITY) - #include BOOST_PP_LOCAL_ITERATE() - #undef BOOST_PP_LOCAL_MACRO - - buffer_type buf_; - int state_; - }; - - shared_ptr pimpl_; -}; -BOOST_IOSTREAMS_PIPABLE(symmetric_filter, 2) - -//------------------Implementation of symmetric_filter----------------// - -template -void symmetric_filter::begin_read() -{ - BOOST_ASSERT(!(state() & f_write)); - state() |= f_read; - buf().set(0, 0); -} - -template -void symmetric_filter::begin_write() -{ - BOOST_ASSERT(!(state() & f_read)); - state() |= f_write; - buf().set(0, buf().size()); -} - -template -void symmetric_filter::close_impl() -{ - state() = 0; - buf().set(0, 0); - filter().close(); -} - -template -typename symmetric_filter::string_type -symmetric_filter::unconsumed_input() const -{ return string_type(buf().ptr(), buf().eptr()); } - -//----------------------------------------------------------------------------// - -} } // End namespaces iostreams, boost. - -#include // MSVC. - -#endif // #ifndef BOOST_IOSTREAMS_SYMMETRIC_FILTER_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/iostreams/filter/zlib.hpp b/bundled/boost-1.56.0/include/boost/iostreams/filter/zlib.hpp deleted file mode 100644 index b0327f3cb8..0000000000 --- a/bundled/boost-1.56.0/include/boost/iostreams/filter/zlib.hpp +++ /dev/null @@ -1,427 +0,0 @@ -// (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com) -// (C) Copyright 2003-2007 Jonathan Turkanis -// Distributed under the 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/iostreams for documentation. - -// Note: custom allocators are not supported on VC6, since that compiler -// had trouble finding the function zlib_base::do_init. - -#ifndef BOOST_IOSTREAMS_ZLIB_HPP_INCLUDED -#define BOOST_IOSTREAMS_ZLIB_HPP_INCLUDED - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -#include -#include // streamsize. -#include // allocator, bad_alloc. -#include -#include // MSVC, STATIC_CONSTANT, DEDUCED_TYPENAME, DINKUM. -#include // uint*_t -#include -#include // buffer size. -#include -#include -#include -#include -#include // failure, streamsize. -#include -#include -#include - -// Must come last. -#ifdef BOOST_MSVC -# pragma warning(push) -# pragma warning(disable:4251 4231 4660) // Dependencies not exported. -#endif -#include - -namespace boost { namespace iostreams { - -namespace zlib { - // Typedefs - -typedef uint32_t uint; -typedef uint8_t byte; -typedef uint32_t ulong; - -// Prefix 'x' prevents symbols from being redefined when Z_PREFIX is defined -typedef void* (*xalloc_func)(void*, zlib::uint, zlib::uint); -typedef void (*xfree_func)(void*, void*); - - // Compression levels - -BOOST_IOSTREAMS_DECL extern const int no_compression; -BOOST_IOSTREAMS_DECL extern const int best_speed; -BOOST_IOSTREAMS_DECL extern const int best_compression; -BOOST_IOSTREAMS_DECL extern const int default_compression; - - // Compression methods - -BOOST_IOSTREAMS_DECL extern const int deflated; - - // Compression strategies - -BOOST_IOSTREAMS_DECL extern const int default_strategy; -BOOST_IOSTREAMS_DECL extern const int filtered; -BOOST_IOSTREAMS_DECL extern const int huffman_only; - - // Status codes - -BOOST_IOSTREAMS_DECL extern const int okay; -BOOST_IOSTREAMS_DECL extern const int stream_end; -BOOST_IOSTREAMS_DECL extern const int stream_error; -BOOST_IOSTREAMS_DECL extern const int version_error; -BOOST_IOSTREAMS_DECL extern const int data_error; -BOOST_IOSTREAMS_DECL extern const int mem_error; -BOOST_IOSTREAMS_DECL extern const int buf_error; - - // Flush codes - -BOOST_IOSTREAMS_DECL extern const int finish; -BOOST_IOSTREAMS_DECL extern const int no_flush; -BOOST_IOSTREAMS_DECL extern const int sync_flush; - - // Code for current OS - -//BOOST_IOSTREAMS_DECL extern const int os_code; - - // Null pointer constant. - -const int null = 0; - - // Default values - -const int default_window_bits = 15; -const int default_mem_level = 8; -const bool default_crc = false; -const bool default_noheader = false; - -} // End namespace zlib. - -// -// Class name: zlib_params. -// Description: Encapsulates the parameters passed to deflateInit2 -// and inflateInit2 to customize compression and decompression. -// -struct zlib_params { - - // Non-explicit constructor. - zlib_params( int level = zlib::default_compression, - int method = zlib::deflated, - int window_bits = zlib::default_window_bits, - int mem_level = zlib::default_mem_level, - int strategy = zlib::default_strategy, - bool noheader = zlib::default_noheader, - bool calculate_crc = zlib::default_crc ) - : level(level), method(method), window_bits(window_bits), - mem_level(mem_level), strategy(strategy), - noheader(noheader), calculate_crc(calculate_crc) - { } - int level; - int method; - int window_bits; - int mem_level; - int strategy; - bool noheader; - bool calculate_crc; -}; - -// -// Class name: zlib_error. -// Description: Subclass of std::ios::failure thrown to indicate -// zlib errors other than out-of-memory conditions. -// -class BOOST_IOSTREAMS_DECL zlib_error : public BOOST_IOSTREAMS_FAILURE { -public: - explicit zlib_error(int error); - int error() const { return error_; } - static void check BOOST_PREVENT_MACRO_SUBSTITUTION(int error); -private: - int error_; -}; - -namespace detail { - -template -struct zlib_allocator_traits { -#ifndef BOOST_NO_STD_ALLOCATOR - typedef typename Alloc::template rebind::other type; -#else - typedef std::allocator type; -#endif -}; - -template< typename Alloc, - typename Base = // VC6 workaround (C2516) - BOOST_DEDUCED_TYPENAME zlib_allocator_traits::type > -struct zlib_allocator : private Base { -private: - typedef typename Base::size_type size_type; -public: - BOOST_STATIC_CONSTANT(bool, custom = - (!is_same, Base>::value)); - typedef typename zlib_allocator_traits::type allocator_type; - static void* allocate(void* self, zlib::uint items, zlib::uint size); - static void deallocate(void* self, void* address); -}; - -class BOOST_IOSTREAMS_DECL zlib_base { -public: - typedef char char_type; -protected: - zlib_base(); - ~zlib_base(); - void* stream() { return stream_; } - template - void init( const zlib_params& p, - bool compress, - zlib_allocator& zalloc ) - { - bool custom = zlib_allocator::custom; - do_init( p, compress, - #if !BOOST_WORKAROUND(BOOST_MSVC, < 1300) - custom ? zlib_allocator::allocate : 0, - custom ? zlib_allocator::deallocate : 0, - #endif - &zalloc ); - } - void before( const char*& src_begin, const char* src_end, - char*& dest_begin, char* dest_end ); - void after( const char*& src_begin, char*& dest_begin, - bool compress ); - int xdeflate(int flush); // Prefix 'x' prevents symbols from being - int xinflate(int flush); // redefined when Z_PREFIX is defined - void reset(bool compress, bool realloc); -public: - zlib::ulong crc() const { return crc_; } - int total_in() const { return total_in_; } - int total_out() const { return total_out_; } -private: - void do_init( const zlib_params& p, bool compress, - #if !BOOST_WORKAROUND(BOOST_MSVC, < 1300) - zlib::xalloc_func, - zlib::xfree_func, - #endif - void* derived ); - void* stream_; // Actual type: z_stream*. - bool calculate_crc_; - zlib::ulong crc_; - zlib::ulong crc_imp_; - int total_in_; - int total_out_; -}; - -// -// Template name: zlib_compressor_impl -// Description: Model of C-Style Filte implementing compression by -// delegating to the zlib function deflate. -// -template > -class zlib_compressor_impl : public zlib_base, public zlib_allocator { -public: - zlib_compressor_impl(const zlib_params& = zlib::default_compression); - ~zlib_compressor_impl(); - bool filter( const char*& src_begin, const char* src_end, - char*& dest_begin, char* dest_end, bool flush ); - void close(); -}; - -// -// Template name: zlib_compressor -// Description: Model of C-Style Filte implementing decompression by -// delegating to the zlib function inflate. -// -template > -class zlib_decompressor_impl : public zlib_base, public zlib_allocator { -public: - zlib_decompressor_impl(const zlib_params&); - zlib_decompressor_impl(int window_bits = zlib::default_window_bits); - ~zlib_decompressor_impl(); - bool filter( const char*& begin_in, const char* end_in, - char*& begin_out, char* end_out, bool flush ); - void close(); - bool eof() const { return eof_; } -private: - bool eof_; -}; - -} // End namespace detail. - -// -// Template name: zlib_compressor -// Description: Model of InputFilter and OutputFilter implementing -// compression using zlib. -// -template > -struct basic_zlib_compressor - : symmetric_filter, Alloc> -{ -private: - typedef detail::zlib_compressor_impl impl_type; - typedef symmetric_filter base_type; -public: - typedef typename base_type::char_type char_type; - typedef typename base_type::category category; - basic_zlib_compressor( const zlib_params& = zlib::default_compression, - int buffer_size = default_device_buffer_size ); - zlib::ulong crc() { return this->filter().crc(); } - int total_in() { return this->filter().total_in(); } -}; -BOOST_IOSTREAMS_PIPABLE(basic_zlib_compressor, 1) - -typedef basic_zlib_compressor<> zlib_compressor; - -// -// Template name: zlib_decompressor -// Description: Model of InputFilter and OutputFilter implementing -// decompression using zlib. -// -template > -struct basic_zlib_decompressor - : symmetric_filter, Alloc> -{ -private: - typedef detail::zlib_decompressor_impl impl_type; - typedef symmetric_filter base_type; -public: - typedef typename base_type::char_type char_type; - typedef typename base_type::category category; - basic_zlib_decompressor( int window_bits = zlib::default_window_bits, - int buffer_size = default_device_buffer_size ); - basic_zlib_decompressor( const zlib_params& p, - int buffer_size = default_device_buffer_size ); - zlib::ulong crc() { return this->filter().crc(); } - int total_out() { return this->filter().total_out(); } - bool eof() { return this->filter().eof(); } -}; -BOOST_IOSTREAMS_PIPABLE(basic_zlib_decompressor, 1) - -typedef basic_zlib_decompressor<> zlib_decompressor; - -//----------------------------------------------------------------------------// - -//------------------Implementation of zlib_allocator--------------------------// - -namespace detail { - -template -void* zlib_allocator::allocate - (void* self, zlib::uint items, zlib::uint size) -{ - size_type len = items * size; - char* ptr = - static_cast(self)->allocate - (len + sizeof(size_type) - #if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1) - , (char*)0 - #endif - ); - *reinterpret_cast(ptr) = len; - return ptr + sizeof(size_type); -} - -template -void zlib_allocator::deallocate(void* self, void* address) -{ - char* ptr = reinterpret_cast(address) - sizeof(size_type); - size_type len = *reinterpret_cast(ptr) + sizeof(size_type); - static_cast(self)->deallocate(ptr, len); -} - -//------------------Implementation of zlib_compressor_impl--------------------// - -template -zlib_compressor_impl::zlib_compressor_impl(const zlib_params& p) -{ init(p, true, static_cast&>(*this)); } - -template -zlib_compressor_impl::~zlib_compressor_impl() -{ reset(true, false); } - -template -bool zlib_compressor_impl::filter - ( const char*& src_begin, const char* src_end, - char*& dest_begin, char* dest_end, bool flush ) -{ - before(src_begin, src_end, dest_begin, dest_end); - int result = xdeflate(flush ? zlib::finish : zlib::no_flush); - after(src_begin, dest_begin, true); - zlib_error::check BOOST_PREVENT_MACRO_SUBSTITUTION(result); - return result != zlib::stream_end; -} - -template -void zlib_compressor_impl::close() { reset(true, true); } - -//------------------Implementation of zlib_decompressor_impl------------------// - -template -zlib_decompressor_impl::zlib_decompressor_impl(const zlib_params& p) - : eof_(false) -{ init(p, false, static_cast&>(*this)); } - -template -zlib_decompressor_impl::~zlib_decompressor_impl() -{ reset(false, false); } - -template -zlib_decompressor_impl::zlib_decompressor_impl(int window_bits) -{ - zlib_params p; - p.window_bits = window_bits; - init(p, false, static_cast&>(*this)); -} - -template -bool zlib_decompressor_impl::filter - ( const char*& src_begin, const char* src_end, - char*& dest_begin, char* dest_end, bool /* flush */ ) -{ - before(src_begin, src_end, dest_begin, dest_end); - int result = xinflate(zlib::sync_flush); - after(src_begin, dest_begin, false); - zlib_error::check BOOST_PREVENT_MACRO_SUBSTITUTION(result); - return !(eof_ = result == zlib::stream_end); -} - -template -void zlib_decompressor_impl::close() { - eof_ = false; - reset(false, true); -} - -} // End namespace detail. - -//------------------Implementation of zlib_decompressor-----------------------// - -template -basic_zlib_compressor::basic_zlib_compressor - (const zlib_params& p, int buffer_size) - : base_type(buffer_size, p) { } - -//------------------Implementation of zlib_decompressor-----------------------// - -template -basic_zlib_decompressor::basic_zlib_decompressor - (int window_bits, int buffer_size) - : base_type(buffer_size, window_bits) { } - -template -basic_zlib_decompressor::basic_zlib_decompressor - (const zlib_params& p, int buffer_size) - : base_type(buffer_size, p) { } - -//----------------------------------------------------------------------------// - -} } // End namespaces iostreams, boost. - -#include // Pops abi_suffix.hpp pragmas. -#ifdef BOOST_MSVC -# pragma warning(pop) -#endif - -#endif // #ifndef BOOST_IOSTREAMS_ZLIB_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/iostreams/get.hpp b/bundled/boost-1.56.0/include/boost/iostreams/get.hpp deleted file mode 100755 index bb82204b79..0000000000 --- a/bundled/boost-1.56.0/include/boost/iostreams/get.hpp +++ /dev/null @@ -1,17 +0,0 @@ -// (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com) -// (C) Copyright 2005-2007 Jonathan Turkanis -// Distributed under the 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/iostreams for documentation. - -#ifndef BOOST_IOSTREAMS_GET_HPP_INCLUDED -#define BOOST_IOSTREAMS_GET_HPP_INCLUDED - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -#include - -#endif // #ifndef BOOST_IOSTREAMS_GET_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/iostreams/operations_fwd.hpp b/bundled/boost-1.56.0/include/boost/iostreams/operations_fwd.hpp deleted file mode 100755 index e2380b12f9..0000000000 --- a/bundled/boost-1.56.0/include/boost/iostreams/operations_fwd.hpp +++ /dev/null @@ -1,41 +0,0 @@ -// (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com) -// (C) Copyright 2003-2007 Jonathan Turkanis -// Distributed under the 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/iostreams for documentation. - -#ifndef BOOST_IOSTREAMS_OPERATIONS_FWD_HPP_INCLUDED -#define BOOST_IOSTREAMS_OPERATIONS_FWD_HPP_INCLUDED - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -#include -#include - -namespace boost { namespace iostreams { - -template -struct operations; - -namespace detail { - -struct custom_tag { }; - -template -struct is_custom - : mpl::not_< - is_base_and_derived< custom_tag, operations > - > - { }; - -} // End namespace detail. - -template -struct operations : detail::custom_tag { }; - -} } // End namespaces iostreams, boost. - -#endif // #ifndef BOOST_IOSTREAMS_OPERATIONS_FWD_HPP_INCLUDED //--------------// diff --git a/bundled/boost-1.56.0/include/boost/iostreams/read.hpp b/bundled/boost-1.56.0/include/boost/iostreams/read.hpp deleted file mode 100755 index 4443b62804..0000000000 --- a/bundled/boost-1.56.0/include/boost/iostreams/read.hpp +++ /dev/null @@ -1,247 +0,0 @@ -// (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com) -// (C) Copyright 2005-2007 Jonathan Turkanis -// Distributed under the 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/iostreams for documentation. - -#ifndef BOOST_IOSTREAMS_READ_HPP_INCLUDED -#define BOOST_IOSTREAMS_READ_HPP_INCLUDED - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -#include // DEDUCED_TYPENAME, MSVC. -#include -#include -#include -#include -#include // streamsize. -#include -#include -#include -#include - -// Must come last. -#include - -#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) //-----------------------------------// -# include -#else // #if BOOST_WORKAROUND(BOOST_MSVC, < 1300) //--------------------------// - -namespace boost { namespace iostreams { - -namespace detail { - -template -struct read_device_impl; - -template -struct read_filter_impl; - -} // End namespace detail. - -template -typename int_type_of::type get(T& t) -{ return detail::read_device_impl::get(detail::unwrap(t)); } - -template -inline std::streamsize -read(T& t, typename char_type_of::type* s, std::streamsize n) -{ return detail::read_device_impl::read(detail::unwrap(t), s, n); } - -template -std::streamsize -read(T& t, Source& src, typename char_type_of::type* s, std::streamsize n) -{ return detail::read_filter_impl::read(detail::unwrap(t), src, s, n); } - -template -bool putback(T& t, typename char_type_of::type c) -{ return detail::read_device_impl::putback(detail::unwrap(t), c); } - -//----------------------------------------------------------------------------// - -namespace detail { - -// Helper function for adding -1 as EOF indicator. -inline std::streamsize check_eof(std::streamsize n) { return n != 0 ? n : -1; } - -// Helper templates for reading from streambufs. -template -struct true_eof_impl; - -template<> -struct true_eof_impl { - template - static bool true_eof(T& t) { return t.true_eof(); } -}; - -template<> -struct true_eof_impl { - template - static bool true_eof(T&) { return true; } -}; - -template -inline bool true_eof(T& t) -{ - const bool linked = is_linked::value; - return true_eof_impl::true_eof(t); -} - -//------------------Definition of read_device_impl----------------------------// - -template -struct read_device_impl - : mpl::if_< - detail::is_custom, - operations, - read_device_impl< - BOOST_DEDUCED_TYPENAME - detail::dispatch< - T, istream_tag, streambuf_tag, input - >::type - > - >::type - { }; - -template<> -struct read_device_impl { - template - static typename int_type_of::type get(T& t) - { return t.get(); } - - template - static std::streamsize - read(T& t, typename char_type_of::type* s, std::streamsize n) - { return check_eof(t.rdbuf()->sgetn(s, n)); } - - template - static bool putback(T& t, typename char_type_of::type c) - { - typedef typename char_type_of::type char_type; - typedef BOOST_IOSTREAMS_CHAR_TRAITS(char_type) traits_type; - return !traits_type::eq_int_type( t.rdbuf()->sputbackc(c), - traits_type::eof() ); - } -}; - -template<> -struct read_device_impl { - template - static typename int_type_of::type - get(T& t) - { // gcc 2.95 needs namespace qualification for char_traits. - typedef typename char_type_of::type char_type; - typedef iostreams::char_traits traits_type; - typename int_type_of::type c; - return !traits_type::is_eof(c = t.sbumpc()) || - detail::true_eof(t) - ? - c : traits_type::would_block(); - } - - template - static std::streamsize - read(T& t, typename char_type_of::type* s, std::streamsize n) - { - std::streamsize amt; - return (amt = t.sgetn(s, n)) != 0 ? - amt : - detail::true_eof(t) ? - -1 : - 0; - } - - template - static bool putback(T& t, typename char_type_of::type c) - { // gcc 2.95 needs namespace qualification for char_traits. - typedef typename char_type_of::type char_type; - typedef iostreams::char_traits traits_type; - return !traits_type::is_eof(t.sputbackc(c)); - } -}; - -template<> -struct read_device_impl { - template - static typename int_type_of::type - get(T& t) - { // gcc 2.95 needs namespace qualification for char_traits. - typedef typename char_type_of::type char_type; - typedef iostreams::char_traits traits_type; - char_type c; - std::streamsize amt; - return (amt = t.read(&c, 1)) == 1 ? - traits_type::to_int_type(c) : - amt == -1 ? - traits_type::eof() : - traits_type::would_block(); - } - - template - static std::streamsize - read(T& t, typename char_type_of::type* s, std::streamsize n) - { return t.read(s, n); } - - template - static bool putback(T& t, typename char_type_of::type c) - { // T must be Peekable. - return t.putback(c); - } -}; - -//------------------Definition of read_filter_impl----------------------------// - -template -struct read_filter_impl - : mpl::if_< - detail::is_custom, - operations, - read_filter_impl< - BOOST_DEDUCED_TYPENAME - detail::dispatch< - T, multichar_tag, any_tag - >::type - > - >::type - { }; - -template<> -struct read_filter_impl { - template - static std::streamsize read - (T& t, Source& src, typename char_type_of::type* s, std::streamsize n) - { return t.read(src, s, n); } -}; - -template<> -struct read_filter_impl { - template - static std::streamsize read - (T& t, Source& src, typename char_type_of::type* s, std::streamsize n) - { // gcc 2.95 needs namespace qualification for char_traits. - typedef typename char_type_of::type char_type; - typedef iostreams::char_traits traits_type; - for (std::streamsize off = 0; off < n; ++off) { - typename traits_type::int_type c = t.get(src); - if (traits_type::is_eof(c)) - return check_eof(off); - if (traits_type::would_block(c)) - return off; - s[off] = traits_type::to_char_type(c); - } - return n; - } -}; - -} // End namespace detail. - -} } // End namespaces iostreams, boost. - -#endif // #if BOOST_WORKAROUND(BOOST_MSVC, < 1300) //-------------------------// - -#include - -#endif // #ifndef BOOST_IOSTREAMS_READ_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/iostreams/seek.hpp b/bundled/boost-1.56.0/include/boost/iostreams/seek.hpp deleted file mode 100755 index efa3c7daf0..0000000000 --- a/bundled/boost-1.56.0/include/boost/iostreams/seek.hpp +++ /dev/null @@ -1,180 +0,0 @@ -// (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com) -// (C) Copyright 2003-2007 Jonathan Turkanis -// Distributed under the 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/iostreams for documentation. - -#ifndef BOOST_IOSTREAMS_SEEK_HPP_INCLUDED -#define BOOST_IOSTREAMS_SEEK_HPP_INCLUDED - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -#include // DEDUCED_TYPENAME, MSVC. -#include -#include -#include -#include // streamsize, seekdir, openmode. -#include -#include -#include -#include -#include - -// Must come last. -#include - -namespace boost { namespace iostreams { - -namespace detail { - -template -struct seek_device_impl; - -template -struct seek_filter_impl; - -} // End namespace detail. - -template -inline std::streampos -seek( T& t, stream_offset off, BOOST_IOS::seekdir way, - BOOST_IOS::openmode which = BOOST_IOS::in | BOOST_IOS::out ) -{ - using namespace detail; - return seek_device_impl::seek(detail::unwrap(t), off, way, which); -} - -template -inline std::streampos -seek( T& t, Device& dev, stream_offset off, BOOST_IOS::seekdir way, - BOOST_IOS::openmode which = BOOST_IOS::in | BOOST_IOS::out ) -{ - using namespace detail; - return seek_filter_impl::seek(detail::unwrap(t), dev, off, way, which); -} - -namespace detail { - -//------------------Definition of seek_device_impl----------------------------// - -template -struct seek_device_impl - : mpl::if_< - is_custom, - operations, - seek_device_impl< - BOOST_DEDUCED_TYPENAME - dispatch< - T, iostream_tag, istream_tag, ostream_tag, - streambuf_tag, two_head, any_tag - >::type - > - >::type - { }; - -struct seek_impl_basic_ios { - template - static std::streampos seek( T& t, stream_offset off, - BOOST_IOS::seekdir way, - BOOST_IOS::openmode which ) - { - if ( way == BOOST_IOS::beg && - ( off < integer_traits::const_min || - off > integer_traits::const_max ) ) - { - return t.rdbuf()->pubseekpos(offset_to_position(off)); - } else { - return t.rdbuf()->pubseekoff(off, way, which); - } - } -}; - -template<> -struct seek_device_impl : seek_impl_basic_ios { }; - -template<> -struct seek_device_impl : seek_impl_basic_ios { }; - -template<> -struct seek_device_impl : seek_impl_basic_ios { }; - -template<> -struct seek_device_impl { - template - static std::streampos seek( T& t, stream_offset off, - BOOST_IOS::seekdir way, - BOOST_IOS::openmode which ) - { - if ( way == BOOST_IOS::beg && - ( off < integer_traits::const_min || - off > integer_traits::const_max ) ) - { - return t.BOOST_IOSTREAMS_PUBSEEKPOS(offset_to_position(off)); - } else { - return t.BOOST_IOSTREAMS_PUBSEEKOFF(off, way, which); - } - } -}; - -template<> -struct seek_device_impl { - template - static std::streampos seek( T& t, stream_offset off, - BOOST_IOS::seekdir way, - BOOST_IOS::openmode which ) - { return t.seek(off, way, which); } -}; - -template<> -struct seek_device_impl { - template - static std::streampos seek( T& t, stream_offset off, - BOOST_IOS::seekdir way, - BOOST_IOS::openmode ) - { return t.seek(off, way); } -}; - -//------------------Definition of seek_filter_impl----------------------------// - -template -struct seek_filter_impl - : mpl::if_< - is_custom, - operations, - seek_filter_impl< - BOOST_DEDUCED_TYPENAME - dispatch::type - > - >::type - { }; - -template<> -struct seek_filter_impl { - template - static std::streampos seek( T& t, Device& d, - stream_offset off, - BOOST_IOS::seekdir way, - BOOST_IOS::openmode which ) - { return t.seek(d, off, way, which); } -}; - -template<> -struct seek_filter_impl { - template - static std::streampos seek( T& t, Device& d, - stream_offset off, - BOOST_IOS::seekdir way, - BOOST_IOS::openmode ) - { return t.seek(d, off, way); } -}; - -} // End namespace detail. - -} } // End namespaces iostreams, boost. - -#include - -#endif // #ifndef BOOST_IOSTREAMS_SEEK_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/iostreams/skip.hpp b/bundled/boost-1.56.0/include/boost/iostreams/skip.hpp deleted file mode 100644 index 4c62d4528b..0000000000 --- a/bundled/boost-1.56.0/include/boost/iostreams/skip.hpp +++ /dev/null @@ -1,112 +0,0 @@ -// (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com) -// (C) Copyright 2003-2007 Jonathan Turkanis -// Distributed under the 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/iostreams for documentation. - -// To do: handle bidirection streams and output-seekable components. - -#ifndef BOOST_IOSTREAMS_SKIP_HPP_INCLUDED -#define BOOST_IOSTREAMS_SKIP_HPP_INCLUDED - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -#include -#include // failure. -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace iostreams { - -namespace detail { - -template -void skip(Device& dev, stream_offset off, mpl::true_) -{ iostreams::seek(dev, off, BOOST_IOS::cur); } - -template -void skip(Device& dev, stream_offset off, mpl::false_) -{ // gcc 2.95 needs namespace qualification for char_traits. - typedef typename char_type_of::type char_type; - typedef iostreams::char_traits traits_type; - for (stream_offset z = 0; z < off; ) { - typename traits_type::int_type c; - if (traits_type::is_eof(c = iostreams::get(dev))) - boost::throw_exception(BOOST_IOSTREAMS_FAILURE("bad skip offset")); - if (!traits_type::would_block(c)) - ++z; - } -} - -template -void skip( Filter& flt, Device& dev, stream_offset off, - BOOST_IOS::openmode which, mpl::true_ ) -{ boost::iostreams::seek(flt, dev, off, BOOST_IOS::cur, which); } - -template -void skip( Filter& flt, Device& dev, stream_offset off, - BOOST_IOS::openmode, mpl::false_ ) -{ - typedef typename char_type_of::type char_type; - char_type c; - for (stream_offset z = 0; z < off; ) { - std::streamsize amt; - if ((amt = iostreams::read(flt, dev, &c, 1)) == -1) - boost::throw_exception(BOOST_IOSTREAMS_FAILURE("bad skip offset")); - if (amt == 1) - ++z; - } -} - -} // End namespace detail. - -template -void skip(Device& dev, stream_offset off) -{ - typedef typename mode_of::type mode; - typedef mpl::or_< - is_convertible, - is_convertible - > can_seek; - BOOST_STATIC_ASSERT( - (can_seek::value || is_convertible::value) - ); - detail::skip(dev, off, can_seek()); -} - -template -void skip( Filter& flt, Device& dev, stream_offset off, - BOOST_IOS::openmode which = BOOST_IOS::in | BOOST_IOS::out ) -{ - typedef typename mode_of::type filter_mode; - typedef typename mode_of::type device_mode; - typedef mpl::or_< - mpl::and_< - is_convertible, - is_convertible - >, - mpl::and_< - is_convertible, - is_convertible - > - > can_seek; - BOOST_STATIC_ASSERT( - ( can_seek::value || - (is_convertible::value && - is_convertible::value) ) - ); - detail::skip(flt, dev, off, which, can_seek()); -} - -} } // End namespaces iostreams, boost. - -#endif // #ifndef BOOST_IOSTREAMS_SKIP_HPP_INCLUDED //------------------------// diff --git a/bundled/boost-1.56.0/include/boost/iostreams/traits.hpp b/bundled/boost-1.56.0/include/boost/iostreams/traits.hpp deleted file mode 100644 index be7e98f1d9..0000000000 --- a/bundled/boost-1.56.0/include/boost/iostreams/traits.hpp +++ /dev/null @@ -1,391 +0,0 @@ -// (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com) -// (C) Copyright 2003-2007 Jonathan Turkanis -// Distributed under the 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/iostreams for documentation. - -// -// Contains metafunctions char_type_of, category_of and mode_of used for -// deducing the i/o category and i/o mode of a model of Filter or Device. -// -// Also contains several utility metafunctions, functions and macros. -// - -#ifndef BOOST_IOSTREAMS_IO_TRAITS_HPP_INCLUDED -#define BOOST_IOSTREAMS_IO_TRAITS_HPP_INCLUDED - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -#include // stream types, char_traits. -#include // partial spec, deduced typename. -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) -# include -# include -#endif // #if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) -#include -#include - -// Must come last. -#include - -namespace boost { namespace iostreams { - -//----------Definitions of predicates for streams and stream buffers----------// - -#ifndef BOOST_IOSTREAMS_NO_STREAM_TEMPLATES //--------------------------------// - -BOOST_IOSTREAMS_BOOL_TRAIT_DEF(is_istream, std::basic_istream, 2) -BOOST_IOSTREAMS_BOOL_TRAIT_DEF(is_ostream, std::basic_ostream, 2) -BOOST_IOSTREAMS_BOOL_TRAIT_DEF(is_iostream, std::basic_iostream, 2) -BOOST_IOSTREAMS_BOOL_TRAIT_DEF(is_streambuf, std::basic_streambuf, 2) -BOOST_IOSTREAMS_BOOL_TRAIT_DEF(is_ifstream, std::basic_ifstream, 2) -BOOST_IOSTREAMS_BOOL_TRAIT_DEF(is_ofstream, std::basic_ofstream, 2) -BOOST_IOSTREAMS_BOOL_TRAIT_DEF(is_fstream, std::basic_fstream, 2) -BOOST_IOSTREAMS_BOOL_TRAIT_DEF(is_filebuf, std::basic_filebuf, 2) -BOOST_IOSTREAMS_BOOL_TRAIT_DEF(is_istringstream, std::basic_istringstream, 3) -BOOST_IOSTREAMS_BOOL_TRAIT_DEF(is_ostringstream, std::basic_ostringstream, 3) -BOOST_IOSTREAMS_BOOL_TRAIT_DEF(is_stringstream, std::basic_stringstream, 3) -BOOST_IOSTREAMS_BOOL_TRAIT_DEF(is_stringbuf, std::basic_stringbuf, 3) - -#else // #ifndef BOOST_IOSTREAMS_NO_STREAM_TEMPLATES //-----------------------// - -BOOST_IOSTREAMS_BOOL_TRAIT_DEF(is_istream, std::istream, 0) -BOOST_IOSTREAMS_BOOL_TRAIT_DEF(is_ostream, std::ostream, 0) -BOOST_IOSTREAMS_BOOL_TRAIT_DEF(is_iostream, std::iostream, 0) -BOOST_IOSTREAMS_BOOL_TRAIT_DEF(is_streambuf, std::streambuf, 0) - -#endif // #ifndef BOOST_IOSTREAMS_NO_STREAM_TEMPLATES //----------------------// - -template -struct is_std_io - : mpl::or_< is_istream, is_ostream, is_streambuf > - { }; - -template -struct is_std_file_device - : mpl::or_< - is_ifstream, - is_ofstream, - is_fstream, - is_filebuf - > - { }; - -template -struct is_std_string_device - : mpl::or_< - is_istringstream, - is_ostringstream, - is_stringstream, - is_stringbuf - > - { }; - -template -struct stream; - -template -class stream_buffer; - -template< typename Mode, typename Ch, typename Tr, - typename Alloc, typename Access > -class filtering_stream; - -template< typename Mode, typename Ch, typename Tr, - typename Alloc, typename Access > -class wfiltering_stream; - -template< typename Mode, typename Ch, typename Tr, - typename Alloc, typename Access > -class filtering_streambuf; - -template< typename Mode, typename Ch, typename Tr, - typename Alloc, typename Access > -class filtering_wstreambuf; - -namespace detail { - -template -class linked_streambuf; - -BOOST_IOSTREAMS_BOOL_TRAIT_DEF( is_boost_stream, - boost::iostreams::stream, - 3 ) -BOOST_IOSTREAMS_BOOL_TRAIT_DEF( is_boost_stream_buffer, - boost::iostreams::stream_buffer, - 4 ) -BOOST_IOSTREAMS_BOOL_TRAIT_DEF( is_filtering_stream_impl, - boost::iostreams::filtering_stream, - 5 ) -BOOST_IOSTREAMS_BOOL_TRAIT_DEF( is_filtering_wstream_impl, - boost::iostreams::wfiltering_stream, - 5 ) -BOOST_IOSTREAMS_BOOL_TRAIT_DEF( is_filtering_streambuf_impl, - boost::iostreams::filtering_streambuf, - 5 ) -BOOST_IOSTREAMS_BOOL_TRAIT_DEF( is_filtering_wstreambuf_impl, - boost::iostreams::filtering_wstreambuf, - 5 ) -BOOST_IOSTREAMS_BOOL_TRAIT_DEF(is_linked, linked_streambuf, 2) - -template -struct is_filtering_stream - : mpl::or_< - is_filtering_stream_impl, - is_filtering_wstream_impl - > - { }; - -template -struct is_filtering_streambuf - : mpl::or_< - is_filtering_streambuf_impl, - is_filtering_wstreambuf_impl - > - { }; - -template -struct is_boost - : mpl::or_< - is_boost_stream, - is_boost_stream_buffer, - is_filtering_stream, - is_filtering_streambuf - > - { }; - -} // End namespace detail. - -//------------------Definitions of char_type_of-------------------------------// - -namespace detail { - -template -struct member_char_type { typedef typename T::char_type type; }; - -} // End namespace detail. - -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION //---------------------------// -# ifndef BOOST_IOSTREAMS_NO_STREAM_TEMPLATES //-------------------------------// - -template -struct char_type_of - : detail::member_char_type< - typename detail::unwrapped_type::type - > - { }; - -# else // # ifndef BOOST_IOSTREAMS_NO_STREAM_TEMPLATES //---------------------// - -template -struct char_type_of { - typedef typename detail::unwrapped_type::type U; - typedef typename - mpl::eval_if< - is_std_io, - mpl::identity, - detail::member_char_type - >::type type; -}; - -# endif // # ifndef BOOST_IOSTREAMS_NO_STREAM_TEMPLATES //--------------------// - -template -struct char_type_of< iterator_range > { - typedef typename iterator_value::type type; -}; - -#else // #ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION //------------------// - -template -struct char_type_of { - template - struct get_value_type { - #if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) - typedef typename range_value::type type; - #endif // #if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) - }; - typedef typename - mpl::eval_if< - is_iterator_range, - get_value_type, - detail::member_char_type< - BOOST_DEDUCED_TYPENAME detail::unwrapped_type::type - > - >::type type; -}; - -#endif // #ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION //-----------------// - -//------------------Definitions of category_of--------------------------------// - -namespace detail { - -template -struct member_category { typedef typename T::category type; }; - -} // End namespace detail. - -template -struct category_of { - template - struct member_category { - typedef typename U::category type; - }; - typedef typename detail::unwrapped_type::type U; - typedef typename - mpl::eval_if< - mpl::and_< - is_std_io, - mpl::not_< detail::is_boost > - >, - iostreams::select< // Disambiguation for Tru64 - is_filebuf, filebuf_tag, - is_ifstream, ifstream_tag, - is_ofstream, ofstream_tag, - is_fstream, fstream_tag, - is_stringbuf, stringbuf_tag, - is_istringstream, istringstream_tag, - is_ostringstream, ostringstream_tag, - is_stringstream, stringstream_tag, - is_streambuf, generic_streambuf_tag, - is_iostream, generic_iostream_tag, - is_istream, generic_istream_tag, - is_ostream, generic_ostream_tag - >, - detail::member_category - >::type type; -}; - -// Partial specialization for reference wrappers -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION //---------------------------// - -template -struct category_of< reference_wrapper > - : category_of - { }; - -#endif // #ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION //-----------------// - -//------------------Definition of get_category--------------------------------// - -// -// Returns an object of type category_of::type. -// -template -inline typename category_of::type get_category(const T&) -{ typedef typename category_of::type category; return category(); } - -//------------------Definition of int_type_of---------------------------------// - -template -struct int_type_of { -#ifndef BOOST_IOSTREAMS_NO_STREAM_TEMPLATES - typedef std::char_traits< - BOOST_DEDUCED_TYPENAME char_type_of::type - > traits_type; - typedef typename traits_type::int_type type; -#else - typedef int type; -#endif -}; - -//------------------Definition of mode_of-------------------------------------// - -namespace detail { - -template struct io_mode_impl; - -#define BOOST_IOSTREAMS_MODE_HELPER(tag_, id_) \ - case_ io_mode_impl_helper(tag_); \ - template<> struct io_mode_impl { typedef tag_ type; }; \ - /**/ -BOOST_IOSTREAMS_MODE_HELPER(input, 1) -BOOST_IOSTREAMS_MODE_HELPER(output, 2) -BOOST_IOSTREAMS_MODE_HELPER(bidirectional, 3) -BOOST_IOSTREAMS_MODE_HELPER(input_seekable, 4) -BOOST_IOSTREAMS_MODE_HELPER(output_seekable, 5) -BOOST_IOSTREAMS_MODE_HELPER(seekable, 6) -BOOST_IOSTREAMS_MODE_HELPER(dual_seekable, 7) -BOOST_IOSTREAMS_MODE_HELPER(bidirectional_seekable, 8) -BOOST_IOSTREAMS_MODE_HELPER(dual_use, 9) -#undef BOOST_IOSTREAMS_MODE_HELPER - -template -struct io_mode_id { - typedef typename category_of::type category; - BOOST_SELECT_BY_SIZE(int, value, detail::io_mode_impl_helper(category())); -}; - -} // End namespace detail. - -template // Borland 5.6.4 requires this circumlocution. -struct mode_of : detail::io_mode_impl< detail::io_mode_id::value > { }; - -// Partial specialization for reference wrappers -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION //---------------------------// - -template -struct mode_of< reference_wrapper > - : mode_of - { }; - -#endif // #ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION //-----------------// - -//------------------Definition of is_device, is_filter and is_direct----------// - -namespace detail { - -template -struct has_trait_impl { - typedef typename category_of::type category; - BOOST_STATIC_CONSTANT(bool, value = (is_convertible::value)); -}; - -template -struct has_trait - : mpl::bool_::value> - { }; - -} // End namespace detail. - -template -struct is_device : detail::has_trait { }; - -template -struct is_filter : detail::has_trait { }; - -template -struct is_direct : detail::has_trait { }; - -//------------------Definition of BOOST_IOSTREAMS_STREAMBUF_TYPEDEFS----------// - -#define BOOST_IOSTREAMS_STREAMBUF_TYPEDEFS(Tr) \ - typedef Tr traits_type; \ - typedef typename traits_type::int_type int_type; \ - typedef typename traits_type::off_type off_type; \ - typedef typename traits_type::pos_type pos_type; \ - /**/ - -} } // End namespaces iostreams, boost. - -#include - -#endif // #ifndef BOOST_IOSTREAMS_IO_TRAITS_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/iostreams/write.hpp b/bundled/boost-1.56.0/include/boost/iostreams/write.hpp deleted file mode 100644 index 91cb9bd550..0000000000 --- a/bundled/boost-1.56.0/include/boost/iostreams/write.hpp +++ /dev/null @@ -1,171 +0,0 @@ -// (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com) -// (C) Copyright 2003-2007 Jonathan Turkanis -// Distributed under the 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/iostreams for documentation. - -#ifndef BOOST_IOSTREAMS_WRITE_HPP_INCLUDED -#define BOOST_IOSTREAMS_WRITE_HPP_INCLUDED - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -#include // DEDUCED_TYPENAME, MSVC. -#include -#include -#include -#include -#include // streamsize. -#include -#include -#include -#include -#include - -// Must come last. -#include - -#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) //-----------------------------------// -# include -#else // #if BOOST_WORKAROUND(BOOST_MSVC, < 1300) //--------------------------// - -namespace boost { namespace iostreams { - -namespace detail { - -template -struct write_device_impl; - -template -struct write_filter_impl; - -} // End namespace detail. - -template -bool put(T& t, typename char_type_of::type c) -{ return detail::write_device_impl::put(detail::unwrap(t), c); } - -template -inline std::streamsize write - (T& t, const typename char_type_of::type* s, std::streamsize n) -{ return detail::write_device_impl::write(detail::unwrap(t), s, n); } - -template -inline std::streamsize -write( T& t, Sink& snk, const typename char_type_of::type* s, - std::streamsize n ) -{ return detail::write_filter_impl::write(detail::unwrap(t), snk, s, n); } - -namespace detail { - -//------------------Definition of write_device_impl---------------------------// - -template -struct write_device_impl - : mpl::if_< - is_custom, - operations, - write_device_impl< - BOOST_DEDUCED_TYPENAME - dispatch< - T, ostream_tag, streambuf_tag, output - >::type - > - >::type - { }; - -template<> -struct write_device_impl { - template - static bool put(T& t, typename char_type_of::type c) - { - typedef typename char_type_of::type char_type; - typedef BOOST_IOSTREAMS_CHAR_TRAITS(char_type) traits_type; - return !traits_type::eq_int_type( t.rdbuf()->sputc(c), - traits_type::eof() ); - } - - template - static std::streamsize write - (T& t, const typename char_type_of::type* s, std::streamsize n) - { return t.rdbuf()->sputn(s, n); } -}; - -template<> -struct write_device_impl { - template - static bool put(T& t, typename char_type_of::type c) - { - typedef typename char_type_of::type char_type; - typedef BOOST_IOSTREAMS_CHAR_TRAITS(char_type) traits_type; - return !traits_type::eq_int_type(t.sputc(c), traits_type::eof()); - } - - template - static std::streamsize write - (T& t, const typename char_type_of::type* s, std::streamsize n) - { return t.sputn(s, n); } -}; - -template<> -struct write_device_impl { - template - static bool put(T& t, typename char_type_of::type c) - { return t.write(&c, 1) == 1; } - - template - static std::streamsize - write(T& t, const typename char_type_of::type* s, std::streamsize n) - { return t.write(s, n); } -}; - -//------------------Definition of write_filter_impl---------------------------// - -template -struct write_filter_impl - : mpl::if_< - is_custom, - operations, - write_filter_impl< - BOOST_DEDUCED_TYPENAME - dispatch< - T, multichar_tag, any_tag - >::type - > - >::type - { }; - -template<> -struct write_filter_impl { - template - static std::streamsize - write( T& t, Sink& snk, const typename char_type_of::type* s, - std::streamsize n ) - { return t.write(snk, s, n); } -}; - -template<> -struct write_filter_impl { - template - static std::streamsize - write( T& t, Sink& snk, const typename char_type_of::type* s, - std::streamsize n ) - { - for (std::streamsize off = 0; off < n; ++off) - if (!t.put(snk, s[off])) - return off; - return n; - } -}; - -} // End namespace detail. - -} } // End namespaces iostreams, boost. - -#endif // #if BOOST_WORKAROUND(BOOST_MSVC, < 1300) //-------------------------// - -#include - -#endif // #ifndef BOOST_IOSTREAMS_WRITE_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/iterator/detail/enable_if.hpp b/bundled/boost-1.56.0/include/boost/iterator/detail/enable_if.hpp deleted file mode 100644 index 0fd36fc4bc..0000000000 --- a/bundled/boost-1.56.0/include/boost/iterator/detail/enable_if.hpp +++ /dev/null @@ -1,86 +0,0 @@ -// (C) Copyright David Abrahams 2002. -// (C) Copyright Jeremy Siek 2002. -// (C) Copyright Thomas Witt 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) -#ifndef BOOST_ENABLE_IF_23022003THW_HPP -#define BOOST_ENABLE_IF_23022003THW_HPP - -#include -#include - -#include - -// -// Boost iterators uses its own enable_if cause we need -// special semantics for deficient compilers. -// 23/02/03 thw -// - -namespace boost -{ - - namespace iterators - { - // - // Base machinery for all kinds of enable if - // - template - struct enabled - { - template - struct base - { - typedef T type; - }; - }; - - // - // For compilers that don't support "Substitution Failure Is Not An Error" - // enable_if falls back to always enabled. See comments - // on operator implementation for consequences. - // - template<> - struct enabled - { - template - struct base - { -#ifdef BOOST_NO_SFINAE - - typedef T type; - - // This way to do it would give a nice error message containing - // invalid overload, but has the big disadvantage that - // there is no reference to user code in the error message. - // - // struct invalid_overload; - // typedef invalid_overload type; - // -#endif - }; - }; - - - template - struct enable_if -# if !defined(BOOST_NO_SFINAE) && !defined(BOOST_NO_IS_CONVERTIBLE) - : enabled<(Cond::value)>::template base -# else - : mpl::identity -# endif - { -# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) - typedef Return type; -# endif - }; - - } // namespace iterators - -} // namespace boost - -#include - -#endif // BOOST_ENABLE_IF_23022003THW_HPP diff --git a/bundled/boost-1.56.0/include/boost/iterator/detail/minimum_category.hpp b/bundled/boost-1.56.0/include/boost/iterator/detail/minimum_category.hpp deleted file mode 100755 index 96501ddd46..0000000000 --- a/bundled/boost-1.56.0/include/boost/iterator/detail/minimum_category.hpp +++ /dev/null @@ -1,116 +0,0 @@ -// Copyright David Abrahams 2003. Use, modification and distribution is -// subject to the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -#ifndef MINIMUM_CATEGORY_DWA20031119_HPP -# define MINIMUM_CATEGORY_DWA20031119_HPP - -# include -# include - -# include - -namespace boost { namespace detail { -// -// Returns the minimum category type or error_type -// if T1 and T2 are unrelated. -// -// For compilers not supporting is_convertible this only -// works with the new boost return and traversal category -// types. The exact boost _types_ are required. No derived types -// will work. -// -// -template -struct minimum_category_impl -# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) -{ - template struct apply - { - typedef T2 type; - }; - typedef void type; -} -# endif -; - -template -struct error_not_related_by_convertibility; - -template <> -struct minimum_category_impl -{ - template struct apply - { - typedef T2 type; - }; -}; - -template <> -struct minimum_category_impl -{ - template struct apply - { - typedef T1 type; - }; -}; - -template <> -struct minimum_category_impl -{ - template struct apply - { - BOOST_STATIC_ASSERT((is_same::value)); - typedef T1 type; - }; -}; - -template <> -struct minimum_category_impl -{ - template struct apply - : error_not_related_by_convertibility - { - }; -}; - -template -struct minimum_category -{ - typedef minimum_category_impl< -# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) // ETI workaround - is_same::value || -# endif - ::boost::is_convertible::value - , ::boost::is_convertible::value -# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) // ETI workaround - || is_same::value -# endif - > outer; - - typedef typename outer::template apply inner; - typedef typename inner::type type; - - BOOST_MPL_AUX_LAMBDA_SUPPORT(2,minimum_category,(T1,T2)) -}; - -template <> -struct minimum_category -{ - template - struct apply : minimum_category - {}; - - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,minimum_category,(mpl::_1,mpl::_2)) -}; - -# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) // ETI workaround -template <> -struct minimum_category -{ - typedef int type; -}; -# endif - -}} // namespace boost::detail - -#endif // MINIMUM_CATEGORY_DWA20031119_HPP diff --git a/bundled/boost-1.56.0/include/boost/iterator/iterator_categories.hpp b/bundled/boost-1.56.0/include/boost/iterator/iterator_categories.hpp deleted file mode 100644 index 1740d9818a..0000000000 --- a/bundled/boost-1.56.0/include/boost/iterator/iterator_categories.hpp +++ /dev/null @@ -1,188 +0,0 @@ -// (C) Copyright Jeremy Siek 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) - -#ifndef BOOST_ITERATOR_CATEGORIES_HPP -# define BOOST_ITERATOR_CATEGORIES_HPP - -# include -# include -# include - -# include - -# include -# include -# include -# include - -# include - -# include - -namespace boost { - -// -// Traversal Categories -// - -struct no_traversal_tag {}; - -struct incrementable_traversal_tag - : no_traversal_tag -{ -// incrementable_traversal_tag() {} -// incrementable_traversal_tag(std::output_iterator_tag const&) {}; -}; - -struct single_pass_traversal_tag - : incrementable_traversal_tag -{ -// single_pass_traversal_tag() {} -// single_pass_traversal_tag(std::input_iterator_tag const&) {}; -}; - -struct forward_traversal_tag - : single_pass_traversal_tag -{ -// forward_traversal_tag() {} -// forward_traversal_tag(std::forward_iterator_tag const&) {}; -}; - -struct bidirectional_traversal_tag - : forward_traversal_tag -{ -// bidirectional_traversal_tag() {}; -// bidirectional_traversal_tag(std::bidirectional_iterator_tag const&) {}; -}; - -struct random_access_traversal_tag - : bidirectional_traversal_tag -{ -// random_access_traversal_tag() {}; -// random_access_traversal_tag(std::random_access_iterator_tag const&) {}; -}; - -namespace detail -{ - // - // Convert a "strictly old-style" iterator category to a traversal - // tag. This is broken out into a separate metafunction to reduce - // the cost of instantiating iterator_category_to_traversal, below, - // for new-style types. - // - template - struct old_category_to_traversal - : mpl::eval_if< - is_convertible - , mpl::identity - , mpl::eval_if< - is_convertible - , mpl::identity - , mpl::eval_if< - is_convertible - , mpl::identity - , mpl::eval_if< - is_convertible - , mpl::identity - , mpl::eval_if< - is_convertible - , mpl::identity - , void - > - > - > - > - > - {}; - -# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) - template <> - struct old_category_to_traversal - { - typedef int type; - }; -# endif - - template - struct pure_traversal_tag - : mpl::eval_if< - is_convertible - , mpl::identity - , mpl::eval_if< - is_convertible - , mpl::identity - , mpl::eval_if< - is_convertible - , mpl::identity - , mpl::eval_if< - is_convertible - , mpl::identity - , mpl::eval_if< - is_convertible - , mpl::identity - , void - > - > - > - > - > - { - }; - -# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) - template <> - struct pure_traversal_tag - { - typedef int type; - }; -# endif - -} // namespace detail - - -// -// Convert an iterator category into a traversal tag -// -template -struct iterator_category_to_traversal - : mpl::eval_if< // if already convertible to a traversal tag, we're done. - is_convertible - , mpl::identity - , boost::detail::old_category_to_traversal - > -{}; - -// Trait to get an iterator's traversal category -template -struct iterator_traversal - : iterator_category_to_traversal< - typename boost::detail::iterator_traits::iterator_category - > -{}; - -# ifdef BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT -// Hack because BOOST_MPL_AUX_LAMBDA_SUPPORT doesn't seem to work -// out well. Instantiating the nested apply template also -// requires instantiating iterator_traits on the -// placeholder. Instead we just specialize it as a metafunction -// class. -template <> -struct iterator_traversal -{ - template - struct apply : iterator_traversal - {}; -}; -template <> -struct iterator_traversal - : iterator_traversal -{}; -# endif - -} // namespace boost - -#include - -#endif // BOOST_ITERATOR_CATEGORIES_HPP diff --git a/bundled/boost-1.56.0/include/boost/iterator/iterator_facade.hpp b/bundled/boost-1.56.0/include/boost/iterator/iterator_facade.hpp deleted file mode 100644 index d84b402d59..0000000000 --- a/bundled/boost-1.56.0/include/boost/iterator/iterator_facade.hpp +++ /dev/null @@ -1,874 +0,0 @@ -// (C) Copyright David Abrahams 2002. -// (C) Copyright Jeremy Siek 2002. -// (C) Copyright Thomas Witt 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) -#ifndef BOOST_ITERATOR_FACADE_23022003THW_HPP -#define BOOST_ITERATOR_FACADE_23022003THW_HPP - -#include -#include -#include - -#include -#include - -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -#include // this goes last - -namespace boost -{ - // This forward declaration is required for the friend declaration - // in iterator_core_access - template class iterator_facade; - - namespace detail - { - // A binary metafunction class that always returns bool. VC6 - // ICEs on mpl::always, probably because of the default - // parameters. - struct always_bool2 - { - template - struct apply - { - typedef bool type; - }; - }; - - // - // enable if for use in operator implementation. - // - template < - class Facade1 - , class Facade2 - , class Return - > - struct enable_if_interoperable -#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) - { - typedef typename mpl::if_< - mpl::or_< - is_convertible - , is_convertible - > - , Return - , int[3] - >::type type; - }; -#else - : ::boost::iterators::enable_if< - mpl::or_< - is_convertible - , is_convertible - > - , Return - > - {}; -#endif - - // - // Generates associated types for an iterator_facade with the - // given parameters. - // - template < - class ValueParam - , class CategoryOrTraversal - , class Reference - , class Difference - > - struct iterator_facade_types - { - typedef typename facade_iterator_category< - CategoryOrTraversal, ValueParam, Reference - >::type iterator_category; - - typedef typename remove_const::type value_type; - - // Not the real associated pointer type - typedef typename mpl::eval_if< - boost::detail::iterator_writability_disabled - , add_pointer - , add_pointer - >::type pointer; - -# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ - && (BOOST_WORKAROUND(_STLPORT_VERSION, BOOST_TESTED_AT(0x452)) \ - || BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, BOOST_TESTED_AT(310))) \ - || BOOST_WORKAROUND(BOOST_RWSTD_VER, BOOST_TESTED_AT(0x20101)) \ - || BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, <= 310) - - // To interoperate with some broken library/compiler - // combinations, user-defined iterators must be derived from - // std::iterator. It is possible to implement a standard - // library for broken compilers without this limitation. -# define BOOST_ITERATOR_FACADE_NEEDS_ITERATOR_BASE 1 - - typedef - iterator - base; -# endif - }; - - // iterators whose dereference operators reference the same value - // for all iterators into the same sequence (like many input - // iterators) need help with their postfix ++: the referenced - // value must be read and stored away before the increment occurs - // so that *a++ yields the originally referenced element and not - // the next one. - template - class postfix_increment_proxy - { - typedef typename iterator_value::type value_type; - public: - explicit postfix_increment_proxy(Iterator const& x) - : stored_value(*x) - {} - - // Returning a mutable reference allows nonsense like - // (*r++).mutate(), but it imposes fewer assumptions about the - // behavior of the value_type. In particular, recall that - // (*r).mutate() is legal if operator* returns by value. - value_type& - operator*() const - { - return this->stored_value; - } - private: - mutable value_type stored_value; - }; - - // - // In general, we can't determine that such an iterator isn't - // writable -- we also need to store a copy of the old iterator so - // that it can be written into. - template - class writable_postfix_increment_proxy - { - typedef typename iterator_value::type value_type; - public: - explicit writable_postfix_increment_proxy(Iterator const& x) - : stored_value(*x) - , stored_iterator(x) - {} - - // Dereferencing must return a proxy so that both *r++ = o and - // value_type(*r++) can work. In this case, *r is the same as - // *r++, and the conversion operator below is used to ensure - // readability. - writable_postfix_increment_proxy const& - operator*() const - { - return *this; - } - - // Provides readability of *r++ - operator value_type&() const - { - return stored_value; - } - - // Provides writability of *r++ - template - T const& operator=(T const& x) const - { - *this->stored_iterator = x; - return x; - } - - // This overload just in case only non-const objects are writable - template - T& operator=(T& x) const - { - *this->stored_iterator = x; - return x; - } - - // Provides X(r++) - operator Iterator const&() const - { - return stored_iterator; - } - - private: - mutable value_type stored_value; - Iterator stored_iterator; - }; - -# ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - - template - struct is_non_proxy_reference_impl - { - static Reference r; - - template - static typename mpl::if_< - is_convertible< - R const volatile* - , Value const volatile* - > - , char[1] - , char[2] - >::type& helper(R const&); - - BOOST_STATIC_CONSTANT(bool, value = sizeof(helper(r)) == 1); - }; - - template - struct is_non_proxy_reference - : mpl::bool_< - is_non_proxy_reference_impl::value - > - {}; -# else - template - struct is_non_proxy_reference - : is_convertible< - typename remove_reference::type - const volatile* - , Value const volatile* - > - {}; -# endif - - // A metafunction to choose the result type of postfix ++ - // - // Because the C++98 input iterator requirements say that *r++ has - // type T (value_type), implementations of some standard - // algorithms like lexicographical_compare may use constructions - // like: - // - // *r++ < *s++ - // - // If *r++ returns a proxy (as required if r is writable but not - // multipass), this sort of expression will fail unless the proxy - // supports the operator<. Since there are any number of such - // operations, we're not going to try to support them. Therefore, - // even if r++ returns a proxy, *r++ will only return a proxy if - // *r also returns a proxy. - template - struct postfix_increment_result - : mpl::eval_if< - mpl::and_< - // A proxy is only needed for readable iterators - is_convertible - - // No multipass iterator can have values that disappear - // before positions can be re-visited - , mpl::not_< - is_convertible< - typename iterator_category_to_traversal::type - , forward_traversal_tag - > - > - > - , mpl::if_< - is_non_proxy_reference - , postfix_increment_proxy - , writable_postfix_increment_proxy - > - , mpl::identity - > - {}; - - // operator->() needs special support for input iterators to strictly meet the - // standard's requirements. If *i is not a reference type, we must still - // produce an lvalue to which a pointer can be formed. We do that by - // returning a proxy object containing an instance of the reference object. - template - struct operator_arrow_dispatch // proxy references - { - struct proxy - { - explicit proxy(Reference const & x) : m_ref(x) {} - Reference* operator->() { return boost::addressof(m_ref); } - // This function is needed for MWCW and BCC, which won't call - // operator-> again automatically per 13.3.1.2 para 8 - operator Reference*() { return boost::addressof(m_ref); } - Reference m_ref; - }; - typedef proxy result_type; - static result_type apply(Reference const & x) - { - return result_type(x); - } - }; - - template - struct operator_arrow_dispatch // "real" references - { - typedef Pointer result_type; - static result_type apply(T& x) - { - return boost::addressof(x); - } - }; - -# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) - // Deal with ETI - template<> - struct operator_arrow_dispatch - { - typedef int result_type; - }; -# endif - - // A proxy return type for operator[], needed to deal with - // iterators that may invalidate referents upon destruction. - // Consider the temporary iterator in *(a + n) - template - class operator_brackets_proxy - { - // Iterator is actually an iterator_facade, so we do not have to - // go through iterator_traits to access the traits. - typedef typename Iterator::reference reference; - typedef typename Iterator::value_type value_type; - - public: - operator_brackets_proxy(Iterator const& iter) - : m_iter(iter) - {} - - operator reference() const - { - return *m_iter; - } - - operator_brackets_proxy& operator=(value_type const& val) - { - *m_iter = val; - return *this; - } - - private: - Iterator m_iter; - }; - - // A metafunction that determines whether operator[] must return a - // proxy, or whether it can simply return a copy of the value_type. - template - struct use_operator_brackets_proxy - : mpl::not_< - mpl::and_< - // Really we want an is_copy_constructible trait here, - // but is_POD will have to suffice in the meantime. - boost::is_POD - , iterator_writability_disabled - > - > - {}; - - template - struct operator_brackets_result - { - typedef typename mpl::if_< - use_operator_brackets_proxy - , operator_brackets_proxy - , Value - >::type type; - }; - - template - operator_brackets_proxy make_operator_brackets_result(Iterator const& iter, mpl::true_) - { - return operator_brackets_proxy(iter); - } - - template - typename Iterator::value_type make_operator_brackets_result(Iterator const& iter, mpl::false_) - { - return *iter; - } - - struct choose_difference_type - { - template - struct apply - : -# ifdef BOOST_NO_ONE_WAY_ITERATOR_INTEROP - iterator_difference -# elif BOOST_WORKAROUND(BOOST_MSVC, < 1300) - mpl::if_< - is_convertible - , typename I1::difference_type - , typename I2::difference_type - > -# else - mpl::eval_if< - is_convertible - , iterator_difference - , iterator_difference - > -# endif - {}; - - }; - } // namespace detail - - - // Macros which describe the declarations of binary operators -# ifdef BOOST_NO_STRICT_ITERATOR_INTEROPERABILITY -# define BOOST_ITERATOR_FACADE_INTEROP_HEAD(prefix, op, result_type) \ - template < \ - class Derived1, class V1, class TC1, class Reference1, class Difference1 \ - , class Derived2, class V2, class TC2, class Reference2, class Difference2 \ - > \ - prefix typename mpl::apply2::type \ - operator op( \ - iterator_facade const& lhs \ - , iterator_facade const& rhs) -# else -# define BOOST_ITERATOR_FACADE_INTEROP_HEAD(prefix, op, result_type) \ - template < \ - class Derived1, class V1, class TC1, class Reference1, class Difference1 \ - , class Derived2, class V2, class TC2, class Reference2, class Difference2 \ - > \ - prefix typename boost::detail::enable_if_interoperable< \ - Derived1, Derived2 \ - , typename mpl::apply2::type \ - >::type \ - operator op( \ - iterator_facade const& lhs \ - , iterator_facade const& rhs) -# endif - -# define BOOST_ITERATOR_FACADE_PLUS_HEAD(prefix,args) \ - template \ - prefix Derived operator+ args - - // - // Helper class for granting access to the iterator core interface. - // - // The simple core interface is used by iterator_facade. The core - // interface of a user/library defined iterator type should not be made public - // so that it does not clutter the public interface. Instead iterator_core_access - // should be made friend so that iterator_facade can access the core - // interface through iterator_core_access. - // - class iterator_core_access - { -# if defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS) - // Tasteless as this may seem, making all members public allows member templates - // to work in the absence of member template friends. - public: -# else - - template friend class iterator_facade; - -# define BOOST_ITERATOR_FACADE_RELATION(op) \ - BOOST_ITERATOR_FACADE_INTEROP_HEAD(friend,op, boost::detail::always_bool2); - - BOOST_ITERATOR_FACADE_RELATION(==) - BOOST_ITERATOR_FACADE_RELATION(!=) - - BOOST_ITERATOR_FACADE_RELATION(<) - BOOST_ITERATOR_FACADE_RELATION(>) - BOOST_ITERATOR_FACADE_RELATION(<=) - BOOST_ITERATOR_FACADE_RELATION(>=) -# undef BOOST_ITERATOR_FACADE_RELATION - - BOOST_ITERATOR_FACADE_INTEROP_HEAD( - friend, -, boost::detail::choose_difference_type) - ; - - BOOST_ITERATOR_FACADE_PLUS_HEAD( - friend inline - , (iterator_facade const& - , typename Derived::difference_type) - ) - ; - - BOOST_ITERATOR_FACADE_PLUS_HEAD( - friend inline - , (typename Derived::difference_type - , iterator_facade const&) - ) - ; - -# endif - - template - static typename Facade::reference dereference(Facade const& f) - { - return f.dereference(); - } - - template - static void increment(Facade& f) - { - f.increment(); - } - - template - static void decrement(Facade& f) - { - f.decrement(); - } - - template - static bool equal(Facade1 const& f1, Facade2 const& f2, mpl::true_) - { - return f1.equal(f2); - } - - template - static bool equal(Facade1 const& f1, Facade2 const& f2, mpl::false_) - { - return f2.equal(f1); - } - - template - static void advance(Facade& f, typename Facade::difference_type n) - { - f.advance(n); - } - - template - static typename Facade1::difference_type distance_from( - Facade1 const& f1, Facade2 const& f2, mpl::true_) - { - return -f1.distance_to(f2); - } - - template - static typename Facade2::difference_type distance_from( - Facade1 const& f1, Facade2 const& f2, mpl::false_) - { - return f2.distance_to(f1); - } - - // - // Curiously Recurring Template interface. - // - template - static I& derived(iterator_facade& facade) - { - return *static_cast(&facade); - } - - template - static I const& derived(iterator_facade const& facade) - { - return *static_cast(&facade); - } - - private: - // objects of this class are useless - iterator_core_access(); //undefined - }; - - // - // iterator_facade - use as a public base class for defining new - // standard-conforming iterators. - // - template < - class Derived // The derived iterator type being constructed - , class Value - , class CategoryOrTraversal - , class Reference = Value& - , class Difference = std::ptrdiff_t - > - class iterator_facade -# ifdef BOOST_ITERATOR_FACADE_NEEDS_ITERATOR_BASE - : public boost::detail::iterator_facade_types< - Value, CategoryOrTraversal, Reference, Difference - >::base -# undef BOOST_ITERATOR_FACADE_NEEDS_ITERATOR_BASE -# endif - { - private: - // - // Curiously Recurring Template interface. - // - Derived& derived() - { - return *static_cast(this); - } - - Derived const& derived() const - { - return *static_cast(this); - } - - typedef boost::detail::iterator_facade_types< - Value, CategoryOrTraversal, Reference, Difference - > associated_types; - - typedef boost::detail::operator_arrow_dispatch< - Reference - , typename associated_types::pointer - > operator_arrow_dispatch_; - - protected: - // For use by derived classes - typedef iterator_facade iterator_facade_; - - public: - - typedef typename associated_types::value_type value_type; - typedef Reference reference; - typedef Difference difference_type; - - typedef typename operator_arrow_dispatch_::result_type pointer; - - typedef typename associated_types::iterator_category iterator_category; - - reference operator*() const - { - return iterator_core_access::dereference(this->derived()); - } - - pointer operator->() const - { - return operator_arrow_dispatch_::apply(*this->derived()); - } - - typename boost::detail::operator_brackets_result::type - operator[](difference_type n) const - { - typedef boost::detail::use_operator_brackets_proxy use_proxy; - - return boost::detail::make_operator_brackets_result( - this->derived() + n - , use_proxy() - ); - } - - Derived& operator++() - { - iterator_core_access::increment(this->derived()); - return this->derived(); - } - -# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) - typename boost::detail::postfix_increment_result::type - operator++(int) - { - typename boost::detail::postfix_increment_result::type - tmp(this->derived()); - ++*this; - return tmp; - } -# endif - - Derived& operator--() - { - iterator_core_access::decrement(this->derived()); - return this->derived(); - } - - Derived operator--(int) - { - Derived tmp(this->derived()); - --*this; - return tmp; - } - - Derived& operator+=(difference_type n) - { - iterator_core_access::advance(this->derived(), n); - return this->derived(); - } - - Derived& operator-=(difference_type n) - { - iterator_core_access::advance(this->derived(), -n); - return this->derived(); - } - - Derived operator-(difference_type x) const - { - Derived result(this->derived()); - return result -= x; - } - -# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) - // There appears to be a bug which trashes the data of classes - // derived from iterator_facade when they are assigned unless we - // define this assignment operator. This bug is only revealed - // (so far) in STLPort debug mode, but it's clearly a codegen - // problem so we apply the workaround for all MSVC6. - iterator_facade& operator=(iterator_facade const&) - { - return *this; - } -# endif - }; - -# if !BOOST_WORKAROUND(BOOST_MSVC, < 1300) - template - inline typename boost::detail::postfix_increment_result::type - operator++( - iterator_facade& i - , int - ) - { - typename boost::detail::postfix_increment_result::type - tmp(*static_cast(&i)); - - ++i; - - return tmp; - } -# endif - - - // - // Comparison operator implementation. The library supplied operators - // enables the user to provide fully interoperable constant/mutable - // iterator types. I.e. the library provides all operators - // for all mutable/constant iterator combinations. - // - // Note though that this kind of interoperability for constant/mutable - // iterators is not required by the standard for container iterators. - // All the standard asks for is a conversion mutable -> constant. - // Most standard library implementations nowadays provide fully interoperable - // iterator implementations, but there are still heavily used implementations - // that do not provide them. (Actually it's even worse, they do not provide - // them for only a few iterators.) - // - // ?? Maybe a BOOST_ITERATOR_NO_FULL_INTEROPERABILITY macro should - // enable the user to turn off mixed type operators - // - // The library takes care to provide only the right operator overloads. - // I.e. - // - // bool operator==(Iterator, Iterator); - // bool operator==(ConstIterator, Iterator); - // bool operator==(Iterator, ConstIterator); - // bool operator==(ConstIterator, ConstIterator); - // - // ... - // - // In order to do so it uses c++ idioms that are not yet widely supported - // by current compiler releases. The library is designed to degrade gracefully - // in the face of compiler deficiencies. In general compiler - // deficiencies result in less strict error checking and more obscure - // error messages, functionality is not affected. - // - // For full operation compiler support for "Substitution Failure Is Not An Error" - // (aka. enable_if) and boost::is_convertible is required. - // - // The following problems occur if support is lacking. - // - // Pseudo code - // - // --------------- - // AdaptorA a1; - // AdaptorA a2; - // - // // This will result in a no such overload error in full operation - // // If enable_if or is_convertible is not supported - // // The instantiation will fail with an error hopefully indicating that - // // there is no operator== for Iterator1, Iterator2 - // // The same will happen if no enable_if is used to remove - // // false overloads from the templated conversion constructor - // // of AdaptorA. - // - // a1 == a2; - // ---------------- - // - // AdaptorA a; - // AdaptorB b; - // - // // This will result in a no such overload error in full operation - // // If enable_if is not supported the static assert used - // // in the operator implementation will fail. - // // This will accidently work if is_convertible is not supported. - // - // a == b; - // ---------------- - // - -# ifdef BOOST_NO_ONE_WAY_ITERATOR_INTEROP -# define BOOST_ITERATOR_CONVERTIBLE(a,b) mpl::true_() -# else -# define BOOST_ITERATOR_CONVERTIBLE(a,b) is_convertible() -# endif - -# define BOOST_ITERATOR_FACADE_INTEROP(op, result_type, return_prefix, base_op) \ - BOOST_ITERATOR_FACADE_INTEROP_HEAD(inline, op, result_type) \ - { \ - /* For those compilers that do not support enable_if */ \ - BOOST_STATIC_ASSERT(( \ - is_interoperable< Derived1, Derived2 >::value \ - )); \ - return_prefix iterator_core_access::base_op( \ - *static_cast(&lhs) \ - , *static_cast(&rhs) \ - , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1) \ - ); \ - } - -# define BOOST_ITERATOR_FACADE_RELATION(op, return_prefix, base_op) \ - BOOST_ITERATOR_FACADE_INTEROP( \ - op \ - , boost::detail::always_bool2 \ - , return_prefix \ - , base_op \ - ) - - BOOST_ITERATOR_FACADE_RELATION(==, return, equal) - BOOST_ITERATOR_FACADE_RELATION(!=, return !, equal) - - BOOST_ITERATOR_FACADE_RELATION(<, return 0 >, distance_from) - BOOST_ITERATOR_FACADE_RELATION(>, return 0 <, distance_from) - BOOST_ITERATOR_FACADE_RELATION(<=, return 0 >=, distance_from) - BOOST_ITERATOR_FACADE_RELATION(>=, return 0 <=, distance_from) -# undef BOOST_ITERATOR_FACADE_RELATION - - // operator- requires an additional part in the static assertion - BOOST_ITERATOR_FACADE_INTEROP( - - - , boost::detail::choose_difference_type - , return - , distance_from - ) -# undef BOOST_ITERATOR_FACADE_INTEROP -# undef BOOST_ITERATOR_FACADE_INTEROP_HEAD - -# define BOOST_ITERATOR_FACADE_PLUS(args) \ - BOOST_ITERATOR_FACADE_PLUS_HEAD(inline, args) \ - { \ - Derived tmp(static_cast(i)); \ - return tmp += n; \ - } - -BOOST_ITERATOR_FACADE_PLUS(( - iterator_facade const& i - , typename Derived::difference_type n -)) - -BOOST_ITERATOR_FACADE_PLUS(( - typename Derived::difference_type n - , iterator_facade const& i -)) -# undef BOOST_ITERATOR_FACADE_PLUS -# undef BOOST_ITERATOR_FACADE_PLUS_HEAD - -} // namespace boost - -#include - -#endif // BOOST_ITERATOR_FACADE_23022003THW_HPP diff --git a/bundled/boost-1.56.0/include/boost/iterator/iterator_traits.hpp b/bundled/boost-1.56.0/include/boost/iterator/iterator_traits.hpp deleted file mode 100644 index 960970e8db..0000000000 --- a/bundled/boost-1.56.0/include/boost/iterator/iterator_traits.hpp +++ /dev/null @@ -1,92 +0,0 @@ -// Copyright David Abrahams 2003. -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -#ifndef ITERATOR_TRAITS_DWA200347_HPP -# define ITERATOR_TRAITS_DWA200347_HPP - -# include -# include - -namespace boost { - -// Unfortunately, g++ 2.95.x chokes when we define a class template -// iterator_category which has the same name as its -// std::iterator_category() function, probably due in part to the -// "std:: is visible globally" hack it uses. Use -// BOOST_ITERATOR_CATEGORY to write code that's portable to older -// GCCs. - -# if BOOST_WORKAROUND(__GNUC__, <= 2) -# define BOOST_ITERATOR_CATEGORY iterator_category_ -# else -# define BOOST_ITERATOR_CATEGORY iterator_category -# endif - - -template -struct iterator_value -{ - typedef typename boost::detail::iterator_traits::value_type type; -}; - -template -struct iterator_reference -{ - typedef typename boost::detail::iterator_traits::reference type; -}; - - -template -struct iterator_pointer -{ - typedef typename boost::detail::iterator_traits::pointer type; -}; - -template -struct iterator_difference -{ - typedef typename boost::detail::iterator_traits::difference_type type; -}; - -template -struct BOOST_ITERATOR_CATEGORY -{ - typedef typename boost::detail::iterator_traits::iterator_category type; -}; - -# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) -template <> -struct iterator_value -{ - typedef void type; -}; - -template <> -struct iterator_reference -{ - typedef void type; -}; - -template <> -struct iterator_pointer -{ - typedef void type; -}; - -template <> -struct iterator_difference -{ - typedef void type; -}; - -template <> -struct BOOST_ITERATOR_CATEGORY -{ - typedef void type; -}; -# endif - -} // namespace boost::iterator - -#endif // ITERATOR_TRAITS_DWA200347_HPP diff --git a/bundled/boost-1.56.0/include/boost/iterator/permutation_iterator.hpp b/bundled/boost-1.56.0/include/boost/iterator/permutation_iterator.hpp deleted file mode 100644 index 23d11986da..0000000000 --- a/bundled/boost-1.56.0/include/boost/iterator/permutation_iterator.hpp +++ /dev/null @@ -1,72 +0,0 @@ -// (C) Copyright Toon Knapen 2001. -// (C) Copyright David Abrahams 2003. -// (C) Copyright Roland Richter 2003. -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_PERMUTATION_ITERATOR_HPP -#define BOOST_PERMUTATION_ITERATOR_HPP - -#include - -#include - - -namespace boost -{ - -template< class ElementIterator - , class IndexIterator> -class permutation_iterator - : public iterator_adaptor< - permutation_iterator - , IndexIterator, typename detail::iterator_traits::value_type - , use_default, typename detail::iterator_traits::reference> -{ - typedef iterator_adaptor< - permutation_iterator - , IndexIterator, typename detail::iterator_traits::value_type - , use_default, typename detail::iterator_traits::reference> super_t; - - friend class iterator_core_access; - -public: - permutation_iterator() : m_elt_iter() {} - - explicit permutation_iterator(ElementIterator x, IndexIterator y) - : super_t(y), m_elt_iter(x) {} - - template - permutation_iterator( - permutation_iterator const& r - , typename enable_if_convertible::type* = 0 - , typename enable_if_convertible::type* = 0 - ) - : super_t(r.base()), m_elt_iter(r.m_elt_iter) - {} - -private: - typename super_t::reference dereference() const - { return *(m_elt_iter + *this->base()); } - -#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS - template friend class permutation_iterator; -#else - public: -#endif - ElementIterator m_elt_iter; -}; - - -template -permutation_iterator -make_permutation_iterator( ElementIterator e, IndexIterator i ) -{ - return permutation_iterator( e, i ); -} - - -} // namespace boost - -#endif diff --git a/bundled/boost-1.56.0/include/boost/iterator/reverse_iterator.hpp b/bundled/boost-1.56.0/include/boost/iterator/reverse_iterator.hpp deleted file mode 100644 index 79cc7f2ca5..0000000000 --- a/bundled/boost-1.56.0/include/boost/iterator/reverse_iterator.hpp +++ /dev/null @@ -1,69 +0,0 @@ -// (C) Copyright David Abrahams 2002. -// (C) Copyright Jeremy Siek 2002. -// (C) Copyright Thomas Witt 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) -#ifndef BOOST_REVERSE_ITERATOR_23022003THW_HPP -#define BOOST_REVERSE_ITERATOR_23022003THW_HPP - -#include -#include -#include - -namespace boost -{ - - // - // - // - template - class reverse_iterator - : public iterator_adaptor< reverse_iterator, Iterator > - { - typedef iterator_adaptor< reverse_iterator, Iterator > super_t; - - friend class iterator_core_access; - - public: - reverse_iterator() {} - - explicit reverse_iterator(Iterator x) - : super_t(x) {} - - template - reverse_iterator( - reverse_iterator const& r - , typename enable_if_convertible::type* = 0 - ) - : super_t(r.base()) - {} - - private: - typename super_t::reference dereference() const { return *boost::prior(this->base()); } - - void increment() { --this->base_reference(); } - void decrement() { ++this->base_reference(); } - - void advance(typename super_t::difference_type n) - { - this->base_reference() += -n; - } - - template - typename super_t::difference_type - distance_to(reverse_iterator const& y) const - { - return this->base_reference() - y.base(); - } - }; - - template - reverse_iterator make_reverse_iterator(BidirectionalIterator x) - { - return reverse_iterator(x); - } - -} // namespace boost - -#endif // BOOST_REVERSE_ITERATOR_23022003THW_HPP diff --git a/bundled/boost-1.56.0/include/boost/iterator/transform_iterator.hpp b/bundled/boost-1.56.0/include/boost/iterator/transform_iterator.hpp deleted file mode 100644 index b79a440c3a..0000000000 --- a/bundled/boost-1.56.0/include/boost/iterator/transform_iterator.hpp +++ /dev/null @@ -1,172 +0,0 @@ -// (C) Copyright David Abrahams 2002. -// (C) Copyright Jeremy Siek 2002. -// (C) Copyright Thomas Witt 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) -#ifndef BOOST_TRANSFORM_ITERATOR_23022003THW_HPP -#define BOOST_TRANSFORM_ITERATOR_23022003THW_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310)) -# include - -#endif -#include - - -namespace boost -{ - template - class transform_iterator; - - namespace detail - { - // Compute the iterator_adaptor instantiation to be used for transform_iterator - template - struct transform_iterator_base - { - private: - // By default, dereferencing the iterator yields the same as - // the function. - typedef typename ia_dflt_help< - Reference - , result_of::reference)> - >::type reference; - - // To get the default for Value: remove any reference on the - // result type, but retain any constness to signal - // non-writability. Note that if we adopt Thomas' suggestion - // to key non-writability *only* on the Reference argument, - // we'd need to strip constness here as well. - typedef typename ia_dflt_help< - Value - , remove_reference - >::type cv_value_type; - - public: - typedef iterator_adaptor< - transform_iterator - , Iterator - , cv_value_type - , use_default // Leave the traversal category alone - , reference - > type; - }; - } - - template - class transform_iterator - : public boost::detail::transform_iterator_base::type - { - typedef typename - boost::detail::transform_iterator_base::type - super_t; - - friend class iterator_core_access; - - public: - transform_iterator() { } - - transform_iterator(Iterator const& x, UnaryFunc f) - : super_t(x), m_f(f) { } - - explicit transform_iterator(Iterator const& x) - : super_t(x) - { - // Pro8 is a little too aggressive about instantiating the - // body of this function. -#if !BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003)) - // don't provide this constructor if UnaryFunc is a - // function pointer type, since it will be 0. Too dangerous. - BOOST_STATIC_ASSERT(is_class::value); -#endif - } - - template < - class OtherUnaryFunction - , class OtherIterator - , class OtherReference - , class OtherValue> - transform_iterator( - transform_iterator const& t - , typename enable_if_convertible::type* = 0 -#if !BOOST_WORKAROUND(BOOST_MSVC, == 1310) - , typename enable_if_convertible::type* = 0 -#endif - ) - : super_t(t.base()), m_f(t.functor()) - {} - - UnaryFunc functor() const - { return m_f; } - - private: - typename super_t::reference dereference() const - { return m_f(*this->base()); } - - // Probably should be the initial base class so it can be - // optimized away via EBO if it is an empty class. - UnaryFunc m_f; - }; - - template - transform_iterator - make_transform_iterator(Iterator it, UnaryFunc fun) - { - return transform_iterator(it, fun); - } - - // Version which allows explicit specification of the UnaryFunc - // type. - // - // This generator is not provided if UnaryFunc is a function - // pointer type, because it's too dangerous: the default-constructed - // function pointer in the iterator be 0, leading to a runtime - // crash. - template -#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) - typename mpl::if_< -#else - typename iterators::enable_if< -#endif - is_class // We should probably find a cheaper test than is_class<> - , transform_iterator -#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) - , int[3] -#endif - >::type - make_transform_iterator(Iterator it) - { - return transform_iterator(it, UnaryFunc()); - } - -#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) - template - transform_iterator< Return (*)(Argument), Iterator, Return> - make_transform_iterator(Iterator it, Return (*fun)(Argument)) - { - return transform_iterator(it, fun); - } -#endif - -} // namespace boost - -#include - -#endif // BOOST_TRANSFORM_ITERATOR_23022003THW_HPP diff --git a/bundled/boost-1.56.0/include/boost/iterator/zip_iterator.hpp b/bundled/boost-1.56.0/include/boost/iterator/zip_iterator.hpp deleted file mode 100644 index a46807012a..0000000000 --- a/bundled/boost-1.56.0/include/boost/iterator/zip_iterator.hpp +++ /dev/null @@ -1,585 +0,0 @@ -// Copyright David Abrahams and Thomas Becker 2000-2006. Distributed -// under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ZIP_ITERATOR_TMB_07_13_2003_HPP_ -# define BOOST_ZIP_ITERATOR_TMB_07_13_2003_HPP_ - -#include -#include -#include -#include -#include // for enable_if_convertible -#include -#include - -#include - -#include - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { - - // Zip iterator forward declaration for zip_iterator_base - template - class zip_iterator; - - // One important design goal of the zip_iterator is to isolate all - // functionality whose implementation relies on the current tuple - // implementation. This goal has been achieved as follows: Inside - // the namespace detail there is a namespace tuple_impl_specific. - // This namespace encapsulates all functionality that is specific - // to the current Boost tuple implementation. More precisely, the - // namespace tuple_impl_specific provides the following tuple - // algorithms and meta-algorithms for the current Boost tuple - // implementation: - // - // tuple_meta_transform - // tuple_meta_accumulate - // tuple_transform - // tuple_for_each - // - // If the tuple implementation changes, all that needs to be - // replaced is the implementation of these four (meta-)algorithms. - - namespace detail - { - - // Functors to be used with tuple algorithms - // - template - class advance_iterator - { - public: - advance_iterator(DiffType step) : m_step(step) {} - - template - void operator()(Iterator& it) const - { it += m_step; } - - private: - DiffType m_step; - }; - // - struct increment_iterator - { - template - void operator()(Iterator& it) - { ++it; } - }; - // - struct decrement_iterator - { - template - void operator()(Iterator& it) - { --it; } - }; - // - struct dereference_iterator - { - template - struct apply - { - typedef typename - iterator_traits::reference - type; - }; - - template - typename apply::type operator()(Iterator const& it) - { return *it; } - }; - - - // The namespace tuple_impl_specific provides two meta- - // algorithms and two algorithms for tuples. - // - namespace tuple_impl_specific - { - // Meta-transform algorithm for tuples - // - template - struct tuple_meta_transform; - - template - struct tuple_meta_transform_impl - { - typedef tuples::cons< - typename mpl::apply1< - typename mpl::lambda::type - , typename Tuple::head_type - >::type - , typename tuple_meta_transform< - typename Tuple::tail_type - , UnaryMetaFun - >::type - > type; - }; - - template - struct tuple_meta_transform - : mpl::eval_if< - boost::is_same - , mpl::identity - , tuple_meta_transform_impl - > - { - }; - - // Meta-accumulate algorithm for tuples. Note: The template - // parameter StartType corresponds to the initial value in - // ordinary accumulation. - // - template - struct tuple_meta_accumulate; - - template< - typename Tuple - , class BinaryMetaFun - , typename StartType - > - struct tuple_meta_accumulate_impl - { - typedef typename mpl::apply2< - typename mpl::lambda::type - , typename Tuple::head_type - , typename tuple_meta_accumulate< - typename Tuple::tail_type - , BinaryMetaFun - , StartType - >::type - >::type type; - }; - - template< - typename Tuple - , class BinaryMetaFun - , typename StartType - > - struct tuple_meta_accumulate - : mpl::eval_if< -#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) - mpl::or_< -#endif - boost::is_same -#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) - , boost::is_same - > -#endif - , mpl::identity - , tuple_meta_accumulate_impl< - Tuple - , BinaryMetaFun - , StartType - > - > - { - }; - -#if defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \ - || ( \ - BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, != 0) && defined(_MSC_VER) \ - ) -// Not sure why intel's partial ordering fails in this case, but I'm -// assuming int's an MSVC bug-compatibility feature. - -# define BOOST_TUPLE_ALGO_DISPATCH -# define BOOST_TUPLE_ALGO(algo) algo##_impl -# define BOOST_TUPLE_ALGO_TERMINATOR , int -# define BOOST_TUPLE_ALGO_RECURSE , ... -#else -# define BOOST_TUPLE_ALGO(algo) algo -# define BOOST_TUPLE_ALGO_TERMINATOR -# define BOOST_TUPLE_ALGO_RECURSE -#endif - - // transform algorithm for tuples. The template parameter Fun - // must be a unary functor which is also a unary metafunction - // class that computes its return type based on its argument - // type. For example: - // - // struct to_ptr - // { - // template - // struct apply - // { - // typedef Arg* type; - // } - // - // template - // Arg* operator()(Arg x); - // }; - template - tuples::null_type BOOST_TUPLE_ALGO(tuple_transform) - (tuples::null_type const&, Fun BOOST_TUPLE_ALGO_TERMINATOR) - { return tuples::null_type(); } - - template - typename tuple_meta_transform< - Tuple - , Fun - >::type - - BOOST_TUPLE_ALGO(tuple_transform)( - const Tuple& t, - Fun f - BOOST_TUPLE_ALGO_RECURSE - ) - { - typedef typename tuple_meta_transform< - BOOST_DEDUCED_TYPENAME Tuple::tail_type - , Fun - >::type transformed_tail_type; - - return tuples::cons< - BOOST_DEDUCED_TYPENAME mpl::apply1< - Fun, BOOST_DEDUCED_TYPENAME Tuple::head_type - >::type - , transformed_tail_type - >( - f(boost::tuples::get<0>(t)), tuple_transform(t.get_tail(), f) - ); - } - -#ifdef BOOST_TUPLE_ALGO_DISPATCH - template - typename tuple_meta_transform< - Tuple - , Fun - >::type - - tuple_transform( - const Tuple& t, - Fun f - ) - { - return tuple_transform_impl(t, f, 1); - } -#endif - - // for_each algorithm for tuples. - // - template - Fun BOOST_TUPLE_ALGO(tuple_for_each)( - tuples::null_type - , Fun f BOOST_TUPLE_ALGO_TERMINATOR - ) - { return f; } - - - template - Fun BOOST_TUPLE_ALGO(tuple_for_each)( - Tuple& t - , Fun f BOOST_TUPLE_ALGO_RECURSE) - { - f( t.get_head() ); - return tuple_for_each(t.get_tail(), f); - } - -#ifdef BOOST_TUPLE_ALGO_DISPATCH - template - Fun - tuple_for_each( - Tuple& t, - Fun f - ) - { - return tuple_for_each_impl(t, f, 1); - } -#endif - - // Equality of tuples. NOTE: "==" for tuples currently (7/2003) - // has problems under some compilers, so I just do my own. - // No point in bringing in a bunch of #ifdefs here. This is - // going to go away with the next tuple implementation anyway. - // - inline bool tuple_equal(tuples::null_type, tuples::null_type) - { return true; } - - template - bool tuple_equal( - Tuple1 const& t1, - Tuple2 const& t2 - ) - { - return t1.get_head() == t2.get_head() && - tuple_equal(t1.get_tail(), t2.get_tail()); - } - } - // - // end namespace tuple_impl_specific - - template - struct iterator_reference - { - typedef typename iterator_traits::reference type; - }; - -#ifdef BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT - // Hack because BOOST_MPL_AUX_LAMBDA_SUPPORT doesn't seem to work - // out well. Instantiating the nested apply template also - // requires instantiating iterator_traits on the - // placeholder. Instead we just specialize it as a metafunction - // class. - template<> - struct iterator_reference - { - template - struct apply : iterator_reference {}; - }; -#endif - - // Metafunction to obtain the type of the tuple whose element types - // are the reference types of an iterator tuple. - // - template - struct tuple_of_references - : tuple_impl_specific::tuple_meta_transform< - IteratorTuple, - iterator_reference - > - { - }; - - // Metafunction to obtain the minimal traversal tag in a tuple - // of iterators. - // - template - struct minimum_traversal_category_in_iterator_tuple - { - typedef typename tuple_impl_specific::tuple_meta_transform< - IteratorTuple - , pure_traversal_tag > - >::type tuple_of_traversal_tags; - - typedef typename tuple_impl_specific::tuple_meta_accumulate< - tuple_of_traversal_tags - , minimum_category<> - , random_access_traversal_tag - >::type type; - }; - -#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) // ETI workaround - template <> - struct minimum_traversal_category_in_iterator_tuple - { - typedef int type; - }; -#endif - - // We need to call tuple_meta_accumulate with mpl::and_ as the - // accumulating functor. To this end, we need to wrap it into - // a struct that has exactly two arguments (that is, template - // parameters) and not five, like mpl::and_ does. - // - template - struct and_with_two_args - : mpl::and_ - { - }; - -# ifdef BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT - // Hack because BOOST_MPL_AUX_LAMBDA_SUPPORT doesn't seem to work - // out well. In this case I think it's an MPL bug - template<> - struct and_with_two_args - { - template - struct apply : mpl::and_ - {}; - }; -# endif - - /////////////////////////////////////////////////////////////////// - // - // Class zip_iterator_base - // - // Builds and exposes the iterator facade type from which the zip - // iterator will be derived. - // - template - struct zip_iterator_base - { - private: - // Reference type is the type of the tuple obtained from the - // iterators' reference types. - typedef typename - detail::tuple_of_references::type reference; - - // Value type is the same as reference type. - typedef reference value_type; - - // Difference type is the first iterator's difference type - typedef typename iterator_traits< - typename tuples::element<0, IteratorTuple>::type - >::difference_type difference_type; - - // Traversal catetgory is the minimum traversal category in the - // iterator tuple. - typedef typename - detail::minimum_traversal_category_in_iterator_tuple< - IteratorTuple - >::type traversal_category; - public: - - // The iterator facade type from which the zip iterator will - // be derived. - typedef iterator_facade< - zip_iterator, - value_type, - traversal_category, - reference, - difference_type - > type; - }; - - template <> - struct zip_iterator_base - { - typedef int type; - }; - } - - ///////////////////////////////////////////////////////////////////// - // - // zip_iterator class definition - // - template - class zip_iterator : - public detail::zip_iterator_base::type - { - - // Typedef super_t as our base class. - typedef typename - detail::zip_iterator_base::type super_t; - - // iterator_core_access is the iterator's best friend. - friend class iterator_core_access; - - public: - - // Construction - // ============ - - // Default constructor - zip_iterator() { } - - // Constructor from iterator tuple - zip_iterator(IteratorTuple iterator_tuple) - : m_iterator_tuple(iterator_tuple) - { } - - // Copy constructor - template - zip_iterator( - const zip_iterator& other, - typename enable_if_convertible< - OtherIteratorTuple, - IteratorTuple - >::type* = 0 - ) : m_iterator_tuple(other.get_iterator_tuple()) - {} - - // Get method for the iterator tuple. - const IteratorTuple& get_iterator_tuple() const - { return m_iterator_tuple; } - - private: - - // Implementation of Iterator Operations - // ===================================== - - // Dereferencing returns a tuple built from the dereferenced - // iterators in the iterator tuple. - typename super_t::reference dereference() const - { - return detail::tuple_impl_specific::tuple_transform( - get_iterator_tuple(), - detail::dereference_iterator() - ); - } - - // Two zip iterators are equal if all iterators in the iterator - // tuple are equal. NOTE: It should be possible to implement this - // as - // - // return get_iterator_tuple() == other.get_iterator_tuple(); - // - // but equality of tuples currently (7/2003) does not compile - // under several compilers. No point in bringing in a bunch - // of #ifdefs here. - // - template - bool equal(const zip_iterator& other) const - { - return detail::tuple_impl_specific::tuple_equal( - get_iterator_tuple(), - other.get_iterator_tuple() - ); - } - - // Advancing a zip iterator means to advance all iterators in the - // iterator tuple. - void advance(typename super_t::difference_type n) - { - detail::tuple_impl_specific::tuple_for_each( - m_iterator_tuple, - detail::advance_iterator(n) - ); - } - // Incrementing a zip iterator means to increment all iterators in - // the iterator tuple. - void increment() - { - detail::tuple_impl_specific::tuple_for_each( - m_iterator_tuple, - detail::increment_iterator() - ); - } - - // Decrementing a zip iterator means to decrement all iterators in - // the iterator tuple. - void decrement() - { - detail::tuple_impl_specific::tuple_for_each( - m_iterator_tuple, - detail::decrement_iterator() - ); - } - - // Distance is calculated using the first iterator in the tuple. - template - typename super_t::difference_type distance_to( - const zip_iterator& other - ) const - { - return boost::tuples::get<0>(other.get_iterator_tuple()) - - boost::tuples::get<0>(this->get_iterator_tuple()); - } - - // Data Members - // ============ - - // The iterator tuple. - IteratorTuple m_iterator_tuple; - - }; - - // Make function for zip iterator - // - template - zip_iterator - make_zip_iterator(IteratorTuple t) - { return zip_iterator(t); } - -} - -#endif diff --git a/bundled/boost-1.56.0/include/boost/lambda/detail/operators.hpp b/bundled/boost-1.56.0/include/boost/lambda/detail/operators.hpp deleted file mode 100644 index 149e1eeaa4..0000000000 --- a/bundled/boost-1.56.0/include/boost/lambda/detail/operators.hpp +++ /dev/null @@ -1,370 +0,0 @@ -// Boost Lambda Library - operators.hpp -------------------------------------- - -// Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi@cs.utu.fi) -// -// Distributed under the 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 www.boost.org - -// --------------------------------------------------------------- - -#ifndef BOOST_LAMBDA_OPERATORS_HPP -#define BOOST_LAMBDA_OPERATORS_HPP - -#include "boost/lambda/detail/is_instance_of.hpp" - -namespace boost { -namespace lambda { - -#if defined BOOST_LAMBDA_BE1 -#error "Multiple defines of BOOST_LAMBDA_BE1" -#endif - - // For all BOOSTA_LAMBDA_BE* macros: - - // CONSTA must be either 'A' or 'const A' - // CONSTB must be either 'B' or 'const B' - - // It is stupid to have the names A and B as macro arguments, but it avoids - // the need to pass in emtpy macro arguments, which gives warnings on some - // compilers - -#define BOOST_LAMBDA_BE1(OPER_NAME, ACTION, CONSTA, CONSTB, CONVERSION) \ -template \ -inline const \ -lambda_functor< \ - lambda_functor_base< \ - ACTION, \ - tuple, typename const_copy_argument ::type> \ - > \ -> \ -OPER_NAME (const lambda_functor& a, CONSTB& b) { \ - return \ - lambda_functor_base< \ - ACTION, \ - tuple, typename const_copy_argument ::type>\ - > \ - (tuple, typename const_copy_argument ::type>(a, b)); \ -} - - -#if defined BOOST_LAMBDA_BE2 -#error "Multiple defines of BOOST_LAMBDA_BE2" -#endif - -#define BOOST_LAMBDA_BE2(OPER_NAME, ACTION, CONSTA, CONSTB, CONVERSION) \ -template \ -inline const \ -lambda_functor< \ - lambda_functor_base< \ - ACTION, \ - tuple::type, lambda_functor > \ - > \ -> \ -OPER_NAME (CONSTA& a, const lambda_functor& b) { \ - return \ - lambda_functor_base< \ - ACTION, \ - tuple::type, lambda_functor > \ - > \ - (tuple::type, lambda_functor >(a, b)); \ -} - - -#if defined BOOST_LAMBDA_BE3 -#error "Multiple defines of BOOST_LAMBDA_BE3" -#endif - -#define BOOST_LAMBDA_BE3(OPER_NAME, ACTION, CONSTA, CONSTB, CONVERSION) \ -template \ -inline const \ -lambda_functor< \ - lambda_functor_base< \ - ACTION, \ - tuple, lambda_functor > \ - > \ -> \ -OPER_NAME (const lambda_functor& a, const lambda_functor& b) { \ - return \ - lambda_functor_base< \ - ACTION, \ - tuple, lambda_functor > \ - > \ - (tuple, lambda_functor >(a, b)); \ -} - -#if defined BOOST_LAMBDA_BE -#error "Multiple defines of BOOST_LAMBDA_BE" -#endif - -#define BOOST_LAMBDA_BE(OPER_NAME, ACTION, CONSTA, CONSTB, CONST_CONVERSION) \ -BOOST_LAMBDA_BE1(OPER_NAME, ACTION, CONSTA, CONSTB, CONST_CONVERSION) \ -BOOST_LAMBDA_BE2(OPER_NAME, ACTION, CONSTA, CONSTB, CONST_CONVERSION) \ -BOOST_LAMBDA_BE3(OPER_NAME, ACTION, CONSTA, CONSTB, CONST_CONVERSION) - -#define BOOST_LAMBDA_EMPTY() - -BOOST_LAMBDA_BE(operator+, arithmetic_action, const A, const B, const_copy_argument) -BOOST_LAMBDA_BE(operator-, arithmetic_action, const A, const B, const_copy_argument) -BOOST_LAMBDA_BE(operator*, arithmetic_action, const A, const B, const_copy_argument) -BOOST_LAMBDA_BE(operator/, arithmetic_action, const A, const B, const_copy_argument) -BOOST_LAMBDA_BE(operator%, arithmetic_action, const A, const B, const_copy_argument) -BOOST_LAMBDA_BE(operator<<, bitwise_action, const A, const B, const_copy_argument) -BOOST_LAMBDA_BE(operator>>, bitwise_action, const A, const B, const_copy_argument) -BOOST_LAMBDA_BE(operator&, bitwise_action, const A, const B, const_copy_argument) -BOOST_LAMBDA_BE(operator|, bitwise_action, const A, const B, const_copy_argument) -BOOST_LAMBDA_BE(operator^, bitwise_action, const A, const B, const_copy_argument) -BOOST_LAMBDA_BE(operator&&, logical_action, const A, const B, const_copy_argument) -BOOST_LAMBDA_BE(operator||, logical_action, const A, const B, const_copy_argument) -BOOST_LAMBDA_BE(operator<, relational_action, const A, const B, const_copy_argument) -BOOST_LAMBDA_BE(operator>, relational_action, const A, const B, const_copy_argument) -BOOST_LAMBDA_BE(operator<=, relational_action, const A, const B, const_copy_argument) -BOOST_LAMBDA_BE(operator>=, relational_action, const A, const B, const_copy_argument) -BOOST_LAMBDA_BE(operator==, relational_action, const A, const B, const_copy_argument) -BOOST_LAMBDA_BE(operator!=, relational_action, const A, const B, const_copy_argument) - -BOOST_LAMBDA_BE(operator+=, arithmetic_assignment_action, A, const B, reference_argument) -BOOST_LAMBDA_BE(operator-=, arithmetic_assignment_action, A, const B, reference_argument) -BOOST_LAMBDA_BE(operator*=, arithmetic_assignment_action, A, const B, reference_argument) -BOOST_LAMBDA_BE(operator/=, arithmetic_assignment_action, A, const B, reference_argument) -BOOST_LAMBDA_BE(operator%=, arithmetic_assignment_action, A, const B, reference_argument) -BOOST_LAMBDA_BE(operator<<=, bitwise_assignment_action, A, const B, reference_argument) -BOOST_LAMBDA_BE(operator>>=, bitwise_assignment_action, A, const B, reference_argument) -BOOST_LAMBDA_BE(operator&=, bitwise_assignment_action, A, const B, reference_argument) -BOOST_LAMBDA_BE(operator|=, bitwise_assignment_action, A, const B, reference_argument) -BOOST_LAMBDA_BE(operator^=, bitwise_assignment_action, A, const B, reference_argument) - - -// A special trick for comma operator for correct preprocessing -#if defined BOOST_LAMBDA_COMMA_OPERATOR_NAME -#error "Multiple defines of BOOST_LAMBDA_COMMA_OPERATOR_NAME" -#endif - -#define BOOST_LAMBDA_COMMA_OPERATOR_NAME operator, - -BOOST_LAMBDA_BE1(BOOST_LAMBDA_COMMA_OPERATOR_NAME, other_action, const A, const B, const_copy_argument) -BOOST_LAMBDA_BE2(BOOST_LAMBDA_COMMA_OPERATOR_NAME, other_action, const A, const B, const_copy_argument) -BOOST_LAMBDA_BE3(BOOST_LAMBDA_COMMA_OPERATOR_NAME, other_action, const A, const B, const_copy_argument) - - - -namespace detail { - -// special cases for ostream& << Any and istream& >> Any --------------- -// the actual stream classes may vary and thus a specialisation for, -// say ostream& does not match (the general case above is chosen). -// Therefore we specialise for non-const reference: -// if the left argument is a stream, we store the stream as reference -// if it is something else, we store a const plain by default - -// Note that the overloading is const vs. non-const first argument - -#ifdef BOOST_NO_TEMPLATED_STREAMS -template struct convert_ostream_to_ref_others_to_c_plain_by_default { - typedef typename detail::IF< - boost::is_convertible::value, - T&, - typename const_copy_argument ::type - >::RET type; -}; - -template struct convert_istream_to_ref_others_to_c_plain_by_default { - typedef typename detail::IF< - boost::is_convertible::value, - T&, - typename const_copy_argument ::type - >::RET type; -}; -#else - -template struct convert_ostream_to_ref_others_to_c_plain_by_default { - typedef typename detail::IF< - is_instance_of_2< - T, std::basic_ostream - >::value, - T&, - typename const_copy_argument ::type - >::RET type; -}; - -template struct convert_istream_to_ref_others_to_c_plain_by_default { - typedef typename detail::IF< - is_instance_of_2< - T, std::basic_istream - >::value, - T&, - typename const_copy_argument ::type - >::RET type; -}; -#endif - -} // detail - -BOOST_LAMBDA_BE2(operator<<, bitwise_action< leftshift_action>, A, const B, detail::convert_ostream_to_ref_others_to_c_plain_by_default) -BOOST_LAMBDA_BE2(operator>>, bitwise_action< rightshift_action>, A, const B, detail::convert_istream_to_ref_others_to_c_plain_by_default) - - -// special case for io_manipulators. -// function references cannot be given as arguments to lambda operator -// expressions in general. With << and >> the use of manipulators is -// so common, that specializations are provided to make them work. - -template -inline const -lambda_functor< - lambda_functor_base< - bitwise_action, - tuple, Ret(&)(ManipArg)> - > -> -operator<<(const lambda_functor& a, Ret(&b)(ManipArg)) -{ - return - lambda_functor_base< - bitwise_action, - tuple, Ret(&)(ManipArg)> - > - ( tuple, Ret(&)(ManipArg)>(a, b) ); -} - -template -inline const -lambda_functor< - lambda_functor_base< - bitwise_action, - tuple, Ret(&)(ManipArg)> - > -> -operator>>(const lambda_functor& a, Ret(&b)(ManipArg)) -{ - return - lambda_functor_base< - bitwise_action, - tuple, Ret(&)(ManipArg)> - > - ( tuple, Ret(&)(ManipArg)>(a, b) ); -} - - -// (+ and -) take their arguments as const references. -// This has consquences with pointer artihmetic -// E.g int a[]; ... *a = 1 works but not *(a+1) = 1. -// the result of a+1 would be const -// To make the latter work too, -// non-const arrays are taken as non-const and stored as non-const as well. -#if defined BOOST_LAMBDA_PTR_ARITHMETIC_E1 -#error "Multiple defines of BOOST_LAMBDA_PTR_ARITHMETIC_E1" -#endif - -#define BOOST_LAMBDA_PTR_ARITHMETIC_E1(OPER_NAME, ACTION, CONSTB) \ -template \ -inline const \ -lambda_functor< \ - lambda_functor_base, CONSTB(&)[N]> > \ -> \ -OPER_NAME (const lambda_functor& a, CONSTB(&b)[N]) \ -{ \ - return \ - lambda_functor_base, CONSTB(&)[N]> > \ - (tuple, CONSTB(&)[N]>(a, b)); \ -} - - -#if defined BOOST_LAMBDA_PTR_ARITHMETIC_E2 -#error "Multiple defines of BOOST_LAMBDA_PTR_ARITHMETIC_E2" -#endif - -#define BOOST_LAMBDA_PTR_ARITHMETIC_E2(OPER_NAME, ACTION, CONSTA) \ -template \ -inline const \ -lambda_functor< \ - lambda_functor_base > > \ -> \ -OPER_NAME (CONSTA(&a)[N], const lambda_functor& b) \ -{ \ - return \ - lambda_functor_base > > \ - (tuple >(a, b)); \ -} - - -BOOST_LAMBDA_PTR_ARITHMETIC_E1(operator+, arithmetic_action, B) -BOOST_LAMBDA_PTR_ARITHMETIC_E2(operator+, arithmetic_action, A) -BOOST_LAMBDA_PTR_ARITHMETIC_E1(operator+, arithmetic_action,const B) -BOOST_LAMBDA_PTR_ARITHMETIC_E2(operator+, arithmetic_action,const A) - - -//BOOST_LAMBDA_PTR_ARITHMETIC_E1(operator-, arithmetic_action) -// This is not needed, since the result of ptr-ptr is an rvalue anyway - -BOOST_LAMBDA_PTR_ARITHMETIC_E2(operator-, arithmetic_action, A) -BOOST_LAMBDA_PTR_ARITHMETIC_E2(operator-, arithmetic_action, const A) - - -#undef BOOST_LAMBDA_BE1 -#undef BOOST_LAMBDA_BE2 -#undef BOOST_LAMBDA_BE3 -#undef BOOST_LAMBDA_BE -#undef BOOST_LAMBDA_COMMA_OPERATOR_NAME - -#undef BOOST_LAMBDA_PTR_ARITHMETIC_E1 -#undef BOOST_LAMBDA_PTR_ARITHMETIC_E2 - - -// --------------------------------------------------------------------- -// unary operators ----------------------------------------------------- -// --------------------------------------------------------------------- - -#if defined BOOST_LAMBDA_UE -#error "Multiple defines of BOOST_LAMBDA_UE" -#endif - -#define BOOST_LAMBDA_UE(OPER_NAME, ACTION) \ -template \ -inline const \ -lambda_functor > > > \ -OPER_NAME (const lambda_functor& a) \ -{ \ - return \ - lambda_functor_base > > \ - ( tuple >(a) ); \ -} - - -BOOST_LAMBDA_UE(operator+, unary_arithmetic_action) -BOOST_LAMBDA_UE(operator-, unary_arithmetic_action) -BOOST_LAMBDA_UE(operator~, bitwise_action) -BOOST_LAMBDA_UE(operator!, logical_action) -BOOST_LAMBDA_UE(operator++, pre_increment_decrement_action) -BOOST_LAMBDA_UE(operator--, pre_increment_decrement_action) -BOOST_LAMBDA_UE(operator*, other_action) -BOOST_LAMBDA_UE(operator&, other_action) - -#if defined BOOST_LAMBDA_POSTFIX_UE -#error "Multiple defines of BOOST_LAMBDA_POSTFIX_UE" -#endif - -#define BOOST_LAMBDA_POSTFIX_UE(OPER_NAME, ACTION) \ -template \ -inline const \ -lambda_functor > > > \ -OPER_NAME (const lambda_functor& a, int) \ -{ \ - return \ - lambda_functor_base > > \ - ( tuple >(a) ); \ -} - - -BOOST_LAMBDA_POSTFIX_UE(operator++, post_increment_decrement_action) -BOOST_LAMBDA_POSTFIX_UE(operator--, post_increment_decrement_action) - -#undef BOOST_LAMBDA_UE -#undef BOOST_LAMBDA_POSTFIX_UE - -} // namespace lambda -} // namespace boost - -#endif diff --git a/bundled/boost-1.56.0/include/boost/lexical_cast.hpp b/bundled/boost-1.56.0/include/boost/lexical_cast.hpp deleted file mode 100644 index 814b69e43a..0000000000 --- a/bundled/boost-1.56.0/include/boost/lexical_cast.hpp +++ /dev/null @@ -1,2514 +0,0 @@ -#ifndef BOOST_LEXICAL_CAST_INCLUDED -#define BOOST_LEXICAL_CAST_INCLUDED - -// MS compatible compilers support #pragma once - -#if defined(_MSC_VER) -# pragma once -#endif - -// Boost lexical_cast.hpp header -------------------------------------------// -// -// See http://www.boost.org/libs/conversion for documentation. -// See end of this header for rights and permissions. -// -// what: lexical_cast custom keyword cast -// who: contributed by Kevlin Henney, -// enhanced with contributions from Terje Slettebo, -// with additional fixes and suggestions from Gennaro Prota, -// Beman Dawes, Dave Abrahams, Daryle Walker, Peter Dimov, -// Alexander Nasonov, Antony Polukhin, Justin Viiret, Michael Hofmann, -// Cheng Yang, Matthew Bradbury, David W. Birdsall, Pavel Korzh and other Boosters -// when: November 2000, March 2003, June 2005, June 2006, March 2011 - 2014 - -#include -#if defined(BOOST_NO_STRINGSTREAM) || defined(BOOST_NO_STD_WSTRING) -#define BOOST_LCAST_NO_WCHAR_T -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#ifndef BOOST_NO_STD_LOCALE -# include -#else -# ifndef BOOST_LEXICAL_CAST_ASSUME_C_LOCALE - // Getting error at this point means, that your STL library is old/lame/misconfigured. - // If nothing can be done with STL library, define BOOST_LEXICAL_CAST_ASSUME_C_LOCALE, - // but beware: lexical_cast will understand only 'C' locale delimeters and thousands - // separators. -# error "Unable to use header. Define BOOST_LEXICAL_CAST_ASSUME_C_LOCALE to force " -# error "boost::lexical_cast to use only 'C' locale during conversions." -# endif -#endif - -#ifdef BOOST_NO_STRINGSTREAM -#include -#else -#include -#endif - -#ifdef BOOST_NO_TYPEID -#define BOOST_LCAST_THROW_BAD_CAST(S, T) throw_exception(bad_lexical_cast()) -#else -#define BOOST_LCAST_THROW_BAD_CAST(Source, Target) \ - throw_exception(bad_lexical_cast(typeid(Source), typeid(Target))) -#endif - -namespace boost -{ - // exception used to indicate runtime lexical_cast failure - class BOOST_SYMBOL_VISIBLE bad_lexical_cast : - // workaround MSVC bug with std::bad_cast when _HAS_EXCEPTIONS == 0 -#if defined(BOOST_MSVC) && defined(_HAS_EXCEPTIONS) && !_HAS_EXCEPTIONS - public std::exception -#else - public std::bad_cast -#endif - -#if defined(__BORLANDC__) && BOOST_WORKAROUND( __BORLANDC__, < 0x560 ) - // under bcc32 5.5.1 bad_cast doesn't derive from exception - , public std::exception -#endif - - { - public: - bad_lexical_cast() BOOST_NOEXCEPT -#ifndef BOOST_NO_TYPEID - : source(&typeid(void)), target(&typeid(void)) -#endif - {} - - virtual const char *what() const BOOST_NOEXCEPT_OR_NOTHROW { - return "bad lexical cast: " - "source type value could not be interpreted as target"; - } - - virtual ~bad_lexical_cast() BOOST_NOEXCEPT_OR_NOTHROW - {} - -#ifndef BOOST_NO_TYPEID - bad_lexical_cast( - const std::type_info &source_type_arg, - const std::type_info &target_type_arg) BOOST_NOEXCEPT - : source(&source_type_arg), target(&target_type_arg) - {} - - const std::type_info &source_type() const BOOST_NOEXCEPT { - return *source; - } - - const std::type_info &target_type() const BOOST_NOEXCEPT { - return *target; - } - - private: - const std::type_info *source; - const std::type_info *target; -#endif - }; - - namespace detail // widest_char - { - template - struct widest_char - { - typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_c< - (sizeof(TargetChar) > sizeof(SourceChar)) - , TargetChar - , SourceChar >::type type; - }; - } -} // namespace boost - -#if !defined(__SUNPRO_CC) && !defined(__PGIC__) - -#include -#include - -#ifndef BOOST_NO_CXX11_HDR_ARRAY -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifndef BOOST_NO_CWCHAR -# include -#endif - -namespace boost { - - namespace detail // is_character<...> - { - // returns true, if T is one of the character types - template < typename T > - struct is_character - { - typedef boost::type_traits::ice_or< - boost::is_same< T, char >::value, - #ifndef BOOST_LCAST_NO_WCHAR_T - boost::is_same< T, wchar_t >::value, - #endif - #ifndef BOOST_NO_CXX11_CHAR16_T - boost::is_same< T, char16_t >::value, - #endif - #ifndef BOOST_NO_CXX11_CHAR32_T - boost::is_same< T, char32_t >::value, - #endif - boost::is_same< T, unsigned char >::value, - boost::is_same< T, signed char >::value - > result_type; - - BOOST_STATIC_CONSTANT(bool, value = (result_type::value) ); - }; - } - - namespace detail // normalize_single_byte_char - { - // Converts signed/unsigned char to char - template < class Char > - struct normalize_single_byte_char - { - typedef Char type; - }; - - template <> - struct normalize_single_byte_char< signed char > - { - typedef char type; - }; - - template <> - struct normalize_single_byte_char< unsigned char > - { - typedef char type; - }; - } - - namespace detail // deduce_character_type_later - { - // Helper type, meaning that stram character for T must be deduced - // at Stage 2 (See deduce_source_char and deduce_target_char) - template < class T > struct deduce_character_type_later {}; - } - - namespace detail // stream_char_common - { - // Selectors to choose stream character type (common for Source and Target) - // Returns one of char, wchar_t, char16_t, char32_t or deduce_character_type_later types - // Executed on Stage 1 (See deduce_source_char and deduce_target_char) - template < typename Type > - struct stream_char_common: public boost::mpl::if_c< - boost::detail::is_character< Type >::value, - Type, - boost::detail::deduce_character_type_later< Type > - > {}; - - template < typename Char > - struct stream_char_common< Char* >: public boost::mpl::if_c< - boost::detail::is_character< Char >::value, - Char, - boost::detail::deduce_character_type_later< Char* > - > {}; - - template < typename Char > - struct stream_char_common< const Char* >: public boost::mpl::if_c< - boost::detail::is_character< Char >::value, - Char, - boost::detail::deduce_character_type_later< const Char* > - > {}; - - template < typename Char > - struct stream_char_common< boost::iterator_range< Char* > >: public boost::mpl::if_c< - boost::detail::is_character< Char >::value, - Char, - boost::detail::deduce_character_type_later< boost::iterator_range< Char* > > - > {}; - - template < typename Char > - struct stream_char_common< boost::iterator_range< const Char* > >: public boost::mpl::if_c< - boost::detail::is_character< Char >::value, - Char, - boost::detail::deduce_character_type_later< boost::iterator_range< const Char* > > - > {}; - - template < class Char, class Traits, class Alloc > - struct stream_char_common< std::basic_string< Char, Traits, Alloc > > - { - typedef Char type; - }; - - template < class Char, class Traits, class Alloc > - struct stream_char_common< boost::container::basic_string< Char, Traits, Alloc > > - { - typedef Char type; - }; - - template < typename Char, std::size_t N > - struct stream_char_common< boost::array< Char, N > >: public boost::mpl::if_c< - boost::detail::is_character< Char >::value, - Char, - boost::detail::deduce_character_type_later< boost::array< Char, N > > - > {}; - - template < typename Char, std::size_t N > - struct stream_char_common< boost::array< const Char, N > >: public boost::mpl::if_c< - boost::detail::is_character< Char >::value, - Char, - boost::detail::deduce_character_type_later< boost::array< const Char, N > > - > {}; - -#ifndef BOOST_NO_CXX11_HDR_ARRAY - template < typename Char, std::size_t N > - struct stream_char_common< std::array >: public boost::mpl::if_c< - boost::detail::is_character< Char >::value, - Char, - boost::detail::deduce_character_type_later< std::array< Char, N > > - > {}; - - template < typename Char, std::size_t N > - struct stream_char_common< std::array< const Char, N > >: public boost::mpl::if_c< - boost::detail::is_character< Char >::value, - Char, - boost::detail::deduce_character_type_later< std::array< const Char, N > > - > {}; -#endif - -#ifdef BOOST_HAS_INT128 - template <> struct stream_char_common< boost::int128_type >: public boost::mpl::identity< char > {}; - template <> struct stream_char_common< boost::uint128_type >: public boost::mpl::identity< char > {}; -#endif - -#if !defined(BOOST_LCAST_NO_WCHAR_T) && defined(BOOST_NO_INTRINSIC_WCHAR_T) - template <> - struct stream_char_common< wchar_t > - { - typedef char type; - }; -#endif - } - - namespace detail // deduce_source_char_impl - { - // If type T is `deduce_character_type_later` type, then tries to deduce - // character type using boost::has_left_shift metafunction. - // Otherwise supplied type T is a character type, that must be normalized - // using normalize_single_byte_char. - // Executed at Stage 2 (See deduce_source_char and deduce_target_char) - template < class Char > - struct deduce_source_char_impl - { - typedef BOOST_DEDUCED_TYPENAME boost::detail::normalize_single_byte_char< Char >::type type; - }; - - template < class T > - struct deduce_source_char_impl< deduce_character_type_later< T > > - { - typedef boost::has_left_shift< std::basic_ostream< char >, T > result_t; - -#if defined(BOOST_LCAST_NO_WCHAR_T) - BOOST_STATIC_ASSERT_MSG((result_t::value), - "Source type is not std::ostream`able and std::wostream`s are not supported by your STL implementation"); - typedef char type; -#else - typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_c< - result_t::value, char, wchar_t - >::type type; - - BOOST_STATIC_ASSERT_MSG((result_t::value || boost::has_left_shift< std::basic_ostream< type >, T >::value), - "Source type is neither std::ostream`able nor std::wostream`able"); -#endif - }; - } - - namespace detail // deduce_target_char_impl - { - // If type T is `deduce_character_type_later` type, then tries to deduce - // character type using boost::has_right_shift metafunction. - // Otherwise supplied type T is a character type, that must be normalized - // using normalize_single_byte_char. - // Executed at Stage 2 (See deduce_source_char and deduce_target_char) - template < class Char > - struct deduce_target_char_impl - { - typedef BOOST_DEDUCED_TYPENAME normalize_single_byte_char< Char >::type type; - }; - - template < class T > - struct deduce_target_char_impl< deduce_character_type_later > - { - typedef boost::has_right_shift, T > result_t; - -#if defined(BOOST_LCAST_NO_WCHAR_T) - BOOST_STATIC_ASSERT_MSG((result_t::value), - "Target type is not std::istream`able and std::wistream`s are not supported by your STL implementation"); - typedef char type; -#else - typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_c< - result_t::value, char, wchar_t - >::type type; - - BOOST_STATIC_ASSERT_MSG((result_t::value || boost::has_right_shift, T >::value), - "Target type is neither std::istream`able nor std::wistream`able"); -#endif - }; - } - - namespace detail // deduce_target_char and deduce_source_char - { - // We deduce stream character types in two stages. - // - // Stage 1 is common for Target and Source. At Stage 1 we get - // non normalized character type (may contain unsigned/signed char) - // or deduce_character_type_later where T is the original type. - // Stage 1 is executed by stream_char_common - // - // At Stage 2 we normalize character types or try to deduce character - // type using metafunctions. - // Stage 2 is executed by deduce_target_char_impl and - // deduce_source_char_impl - // - // deduce_target_char and deduce_source_char functions combine - // both stages - - template < class T > - struct deduce_target_char - { - typedef BOOST_DEDUCED_TYPENAME stream_char_common< T >::type stage1_type; - typedef BOOST_DEDUCED_TYPENAME deduce_target_char_impl< stage1_type >::type stage2_type; - - typedef stage2_type type; - }; - - template < class T > - struct deduce_source_char - { - typedef BOOST_DEDUCED_TYPENAME stream_char_common< T >::type stage1_type; - typedef BOOST_DEDUCED_TYPENAME deduce_source_char_impl< stage1_type >::type stage2_type; - - typedef stage2_type type; - }; - } - - namespace detail // extract_char_traits template - { - // We are attempting to get char_traits<> from T - // template parameter. Otherwise we'll be using std::char_traits - template < class Char, class T > - struct extract_char_traits - : boost::false_type - { - typedef std::char_traits< Char > trait_t; - }; - - template < class Char, class Traits, class Alloc > - struct extract_char_traits< Char, std::basic_string< Char, Traits, Alloc > > - : boost::true_type - { - typedef Traits trait_t; - }; - - template < class Char, class Traits, class Alloc> - struct extract_char_traits< Char, boost::container::basic_string< Char, Traits, Alloc > > - : boost::true_type - { - typedef Traits trait_t; - }; - } - - namespace detail // array_to_pointer_decay - { - template - struct array_to_pointer_decay - { - typedef T type; - }; - - template - struct array_to_pointer_decay - { - typedef const T * type; - }; - } - - namespace detail // is_this_float_conversion_optimized - { - // this metafunction evaluates to true, if we have optimized comnversion - // from Float type to Char array. - // Must be in sync with lexical_stream_limited_src::shl_real_type(...) - template - struct is_this_float_conversion_optimized - { - typedef boost::type_traits::ice_and< - boost::is_float::value, -#if !defined(BOOST_LCAST_NO_WCHAR_T) && !defined(BOOST_NO_SWPRINTF) && !defined(__MINGW32__) - boost::type_traits::ice_or< - boost::type_traits::ice_eq::value, - boost::is_same::value - >::value -#else - boost::type_traits::ice_eq::value -#endif - > result_type; - - BOOST_STATIC_CONSTANT(bool, value = (result_type::value) ); - }; - } - - namespace detail // lcast_src_length - { - // Return max. length of string representation of Source; - template< class Source, // Source type of lexical_cast. - class Enable = void // helper type - > - struct lcast_src_length - { - BOOST_STATIC_CONSTANT(std::size_t, value = 1); - }; - - // Helper for integral types. - // Notes on length calculation: - // Max length for 32bit int with grouping "\1" and thousands_sep ',': - // "-2,1,4,7,4,8,3,6,4,7" - // ^ - is_signed - // ^ - 1 digit not counted by digits10 - // ^^^^^^^^^^^^^^^^^^ - digits10 * 2 - // - // Constant is_specialized is used instead of constant 1 - // to prevent buffer overflow in a rare case when - // doesn't add missing specialization for - // numeric_limits for some integral type T. - // When is_specialized is false, the whole expression is 0. - template - struct lcast_src_length< - Source, BOOST_DEDUCED_TYPENAME boost::enable_if >::type - > - { -#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS - BOOST_STATIC_CONSTANT(std::size_t, value = - std::numeric_limits::is_signed + - std::numeric_limits::is_specialized + /* == 1 */ - std::numeric_limits::digits10 * 2 - ); -#else - BOOST_STATIC_CONSTANT(std::size_t, value = 156); - BOOST_STATIC_ASSERT(sizeof(Source) * CHAR_BIT <= 256); -#endif - }; - -#ifndef BOOST_LCAST_NO_COMPILE_TIME_PRECISION - // Helper for floating point types. - // -1.23456789e-123456 - // ^ sign - // ^ leading digit - // ^ decimal point - // ^^^^^^^^ lcast_precision::value - // ^ "e" - // ^ exponent sign - // ^^^^^^ exponent (assumed 6 or less digits) - // sign + leading digit + decimal point + "e" + exponent sign == 5 - template - struct lcast_src_length< - Source, BOOST_DEDUCED_TYPENAME boost::enable_if >::type - > - { - BOOST_STATIC_ASSERT( - std::numeric_limits::max_exponent10 <= 999999L && - std::numeric_limits::min_exponent10 >= -999999L - ); - - BOOST_STATIC_CONSTANT(std::size_t, value = - 5 + lcast_precision::value + 6 - ); - }; -#endif // #ifndef BOOST_LCAST_NO_COMPILE_TIME_PRECISION - } - - namespace detail // lexical_cast_stream_traits - { - template - struct lexical_cast_stream_traits { - typedef BOOST_DEDUCED_TYPENAME boost::detail::array_to_pointer_decay::type src; - typedef BOOST_DEDUCED_TYPENAME boost::remove_cv::type no_cv_src; - - typedef boost::detail::deduce_source_char deduce_src_char_metafunc; - typedef BOOST_DEDUCED_TYPENAME deduce_src_char_metafunc::type src_char_t; - typedef BOOST_DEDUCED_TYPENAME boost::detail::deduce_target_char::type target_char_t; - - typedef BOOST_DEDUCED_TYPENAME boost::detail::widest_char< - target_char_t, src_char_t - >::type char_type; - -#if !defined(BOOST_NO_CXX11_CHAR16_T) && defined(BOOST_NO_CXX11_UNICODE_LITERALS) - BOOST_STATIC_ASSERT_MSG(( !boost::is_same::value - && !boost::is_same::value), - "Your compiler does not have full support for char16_t" ); -#endif -#if !defined(BOOST_NO_CXX11_CHAR32_T) && defined(BOOST_NO_CXX11_UNICODE_LITERALS) - BOOST_STATIC_ASSERT_MSG(( !boost::is_same::value - && !boost::is_same::value), - "Your compiler does not have full support for char32_t" ); -#endif - - typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_c< - boost::detail::extract_char_traits::value, - BOOST_DEDUCED_TYPENAME boost::detail::extract_char_traits, - BOOST_DEDUCED_TYPENAME boost::detail::extract_char_traits - >::type::trait_t traits; - - typedef boost::type_traits::ice_and< - boost::is_same::value, // source is not a wide character based type - boost::type_traits::ice_ne::value, // target type is based on wide character - boost::type_traits::ice_not< - boost::detail::is_character::value // single character widening is optimized - >::value // and does not requires stringbuffer - > is_string_widening_required_t; - - typedef boost::type_traits::ice_not< boost::type_traits::ice_or< - boost::is_integral::value, - boost::detail::is_this_float_conversion_optimized::value, - boost::detail::is_character< - BOOST_DEDUCED_TYPENAME deduce_src_char_metafunc::stage1_type // if we did not get character type at stage1 - >::value // then we have no optimization for that type - >::value > is_source_input_not_optimized_t; - - // If we have an optimized conversion for - // Source, we do not need to construct stringbuf. - BOOST_STATIC_CONSTANT(bool, requires_stringbuf = - (boost::type_traits::ice_or< - is_string_widening_required_t::value, is_source_input_not_optimized_t::value - >::value) - ); - - typedef boost::detail::lcast_src_length len_t; - }; - } - - namespace detail // '0', '-', '+', 'e', 'E' and '.' constants - { - template < typename Char > - struct lcast_char_constants { - // We check in tests assumption that static casted character is - // equal to correctly written C++ literal: U'0' == static_cast('0') - BOOST_STATIC_CONSTANT(Char, zero = static_cast('0')); - BOOST_STATIC_CONSTANT(Char, minus = static_cast('-')); - BOOST_STATIC_CONSTANT(Char, plus = static_cast('+')); - BOOST_STATIC_CONSTANT(Char, lowercase_e = static_cast('e')); - BOOST_STATIC_CONSTANT(Char, capital_e = static_cast('E')); - BOOST_STATIC_CONSTANT(Char, c_decimal_separator = static_cast('.')); - }; - } - - namespace detail // lcast_to_unsigned - { - template - inline - BOOST_DEDUCED_TYPENAME boost::make_unsigned::type lcast_to_unsigned(const T value) BOOST_NOEXCEPT { - typedef BOOST_DEDUCED_TYPENAME boost::make_unsigned::type result_type; - return value < 0 - ? static_cast(0u - static_cast(value)) - : static_cast(value); - } - } - - namespace detail // lcast_put_unsigned - { - template - class lcast_put_unsigned: boost::noncopyable { - typedef BOOST_DEDUCED_TYPENAME Traits::int_type int_type; - BOOST_DEDUCED_TYPENAME boost::mpl::if_c< - (sizeof(int_type) > sizeof(T)) - , int_type - , T - >::type m_value; - CharT* m_finish; - CharT const m_czero; - int_type const m_zero; - - public: - lcast_put_unsigned(const T n_param, CharT* finish) BOOST_NOEXCEPT - : m_value(n_param), m_finish(finish) - , m_czero(lcast_char_constants::zero), m_zero(Traits::to_int_type(m_czero)) - { -#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS - BOOST_STATIC_ASSERT(!std::numeric_limits::is_signed); -#endif - } - - CharT* convert() { -#ifndef BOOST_LEXICAL_CAST_ASSUME_C_LOCALE - std::locale loc; - if (loc == std::locale::classic()) { - return main_convert_loop(); - } - - typedef std::numpunct numpunct; - numpunct const& np = BOOST_USE_FACET(numpunct, loc); - std::string const grouping = np.grouping(); - std::string::size_type const grouping_size = grouping.size(); - - if (!grouping_size || grouping[0] <= 0) { - return main_convert_loop(); - } - -#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS - // Check that ulimited group is unreachable: - BOOST_STATIC_ASSERT(std::numeric_limits::digits10 < CHAR_MAX); -#endif - CharT const thousands_sep = np.thousands_sep(); - std::string::size_type group = 0; // current group number - char last_grp_size = grouping[0]; - char left = last_grp_size; - - do { - if (left == 0) { - ++group; - if (group < grouping_size) { - char const grp_size = grouping[group]; - last_grp_size = (grp_size <= 0 ? static_cast(CHAR_MAX) : grp_size); - } - - left = last_grp_size; - --m_finish; - Traits::assign(*m_finish, thousands_sep); - } - - --left; - } while (main_convert_itaration()); - - return m_finish; -#else - return main_convert_loop(); -#endif - } - - private: - inline bool main_convert_itaration() BOOST_NOEXCEPT { - --m_finish; - int_type const digit = static_cast(m_value % 10U); - Traits::assign(*m_finish, Traits::to_char_type(m_zero + digit)); - m_value /= 10; - return !!m_value; // supressing warnings - } - - inline CharT* main_convert_loop() BOOST_NOEXCEPT { - while (main_convert_itaration()); - return m_finish; - } - }; - } - - namespace detail // lcast_ret_unsigned - { - template - class lcast_ret_unsigned: boost::noncopyable { - bool m_multiplier_overflowed; - T m_multiplier; - T& m_value; - const CharT* const m_begin; - const CharT* m_end; - - public: - lcast_ret_unsigned(T& value, const CharT* const begin, const CharT* end) BOOST_NOEXCEPT - : m_multiplier_overflowed(false), m_multiplier(1), m_value(value), m_begin(begin), m_end(end) - { -#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS - BOOST_STATIC_ASSERT(!std::numeric_limits::is_signed); - - // GCC when used with flag -std=c++0x may not have std::numeric_limits - // specializations for __int128 and unsigned __int128 types. - // Try compilation with -std=gnu++0x or -std=gnu++11. - // - // http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40856 - BOOST_STATIC_ASSERT_MSG(std::numeric_limits::is_specialized, - "std::numeric_limits are not specialized for integral type passed to boost::lexical_cast" - ); -#endif - } - - inline bool convert() { - CharT const czero = lcast_char_constants::zero; - --m_end; - m_value = static_cast(0); - - if (m_begin > m_end || *m_end < czero || *m_end >= czero + 10) - return false; - m_value = static_cast(*m_end - czero); - --m_end; - -#ifdef BOOST_LEXICAL_CAST_ASSUME_C_LOCALE - return main_convert_loop(); -#else - std::locale loc; - if (loc == std::locale::classic()) { - return main_convert_loop(); - } - - typedef std::numpunct numpunct; - numpunct const& np = BOOST_USE_FACET(numpunct, loc); - std::string const& grouping = np.grouping(); - std::string::size_type const grouping_size = grouping.size(); - - /* According to Programming languages - C++ - * we MUST check for correct grouping - */ - if (!grouping_size || grouping[0] <= 0) { - return main_convert_loop(); - } - - unsigned char current_grouping = 0; - CharT const thousands_sep = np.thousands_sep(); - char remained = static_cast(grouping[current_grouping] - 1); - - for (;m_end >= m_begin; --m_end) - { - if (remained) { - if (!main_convert_itaration()) { - return false; - } - --remained; - } else { - if ( !Traits::eq(*m_end, thousands_sep) ) //|| begin == end ) return false; - { - /* - * According to Programming languages - C++ - * Digit grouping is checked. That is, the positions of discarded - * separators is examined for consistency with - * use_facet >(loc ).grouping() - * - * BUT what if there is no separators at all and grouping() - * is not empty? Well, we have no extraced separators, so we - * won`t check them for consistency. This will allow us to - * work with "C" locale from other locales - */ - return main_convert_loop(); - } else { - if (m_begin == m_end) return false; - if (current_grouping < grouping_size - 1) ++current_grouping; - remained = grouping[current_grouping]; - } - } - } /*for*/ - - return true; -#endif - } - - private: - // Iteration that does not care about grouping/separators and assumes that all - // input characters are digits - inline bool main_convert_itaration() BOOST_NOEXCEPT { - CharT const czero = lcast_char_constants::zero; - T const maxv = (std::numeric_limits::max)(); - - m_multiplier_overflowed = m_multiplier_overflowed || (maxv/10 < m_multiplier); - m_multiplier = static_cast(m_multiplier * 10); - - T const dig_value = static_cast(*m_end - czero); - T const new_sub_value = static_cast(m_multiplier * dig_value); - - // We must correctly handle situations like `000000000000000000000000000001`. - // So we take care of overflow only if `dig_value` is not '0'. - if (*m_end < czero || *m_end >= czero + 10 // checking for correct digit - || (dig_value && ( // checking for overflow of ... - m_multiplier_overflowed // ... multiplier - || static_cast(maxv / dig_value) < m_multiplier // ... subvalue - || static_cast(maxv - new_sub_value) < m_value // ... whole expression - )) - ) return false; - - m_value = static_cast(m_value + new_sub_value); - - return true; - } - - bool main_convert_loop() BOOST_NOEXCEPT { - for ( ; m_end >= m_begin; --m_end) { - if (!main_convert_itaration()) { - return false; - } - } - - return true; - } - }; - } - - namespace detail - { - template - bool lc_iequal(const CharT* val, const CharT* lcase, const CharT* ucase, unsigned int len) BOOST_NOEXCEPT { - for( unsigned int i=0; i < len; ++i ) { - if ( val[i] != lcase[i] && val[i] != ucase[i] ) return false; - } - - return true; - } - - /* Returns true and sets the correct value if found NaN or Inf. */ - template - inline bool parse_inf_nan_impl(const CharT* begin, const CharT* end, T& value - , const CharT* lc_NAN, const CharT* lc_nan - , const CharT* lc_INFINITY, const CharT* lc_infinity - , const CharT opening_brace, const CharT closing_brace) BOOST_NOEXCEPT - { - using namespace std; - if (begin == end) return false; - const CharT minus = lcast_char_constants::minus; - const CharT plus = lcast_char_constants::plus; - const int inifinity_size = 8; // == sizeof("infinity") - 1 - - /* Parsing +/- */ - bool const has_minus = (*begin == minus); - if (has_minus || *begin == plus) { - ++ begin; - } - - if (end - begin < 3) return false; - if (lc_iequal(begin, lc_nan, lc_NAN, 3)) { - begin += 3; - if (end != begin) { - /* It is 'nan(...)' or some bad input*/ - - if (end - begin < 2) return false; // bad input - -- end; - if (*begin != opening_brace || *end != closing_brace) return false; // bad input - } - - if( !has_minus ) value = std::numeric_limits::quiet_NaN(); - else value = (boost::math::changesign) (std::numeric_limits::quiet_NaN()); - return true; - } else if ( - ( /* 'INF' or 'inf' */ - end - begin == 3 // 3 == sizeof('inf') - 1 - && lc_iequal(begin, lc_infinity, lc_INFINITY, 3) - ) - || - ( /* 'INFINITY' or 'infinity' */ - end - begin == inifinity_size - && lc_iequal(begin, lc_infinity, lc_INFINITY, inifinity_size) - ) - ) - { - if( !has_minus ) value = std::numeric_limits::infinity(); - else value = (boost::math::changesign) (std::numeric_limits::infinity()); - return true; - } - - return false; - } - - template - bool put_inf_nan_impl(CharT* begin, CharT*& end, const T& value - , const CharT* lc_nan - , const CharT* lc_infinity) BOOST_NOEXCEPT - { - using namespace std; - const CharT minus = lcast_char_constants::minus; - if ((boost::math::isnan)(value)) { - if ((boost::math::signbit)(value)) { - *begin = minus; - ++ begin; - } - - memcpy(begin, lc_nan, 3 * sizeof(CharT)); - end = begin + 3; - return true; - } else if ((boost::math::isinf)(value)) { - if ((boost::math::signbit)(value)) { - *begin = minus; - ++ begin; - } - - memcpy(begin, lc_infinity, 3 * sizeof(CharT)); - end = begin + 3; - return true; - } - - return false; - } - - -#ifndef BOOST_LCAST_NO_WCHAR_T - template - bool parse_inf_nan(const wchar_t* begin, const wchar_t* end, T& value) BOOST_NOEXCEPT { - return parse_inf_nan_impl(begin, end, value - , L"NAN", L"nan" - , L"INFINITY", L"infinity" - , L'(', L')'); - } - - template - bool put_inf_nan(wchar_t* begin, wchar_t*& end, const T& value) BOOST_NOEXCEPT { - return put_inf_nan_impl(begin, end, value, L"nan", L"infinity"); - } - -#endif -#if !defined(BOOST_NO_CXX11_CHAR16_T) && !defined(BOOST_NO_CXX11_UNICODE_LITERALS) - template - bool parse_inf_nan(const char16_t* begin, const char16_t* end, T& value) BOOST_NOEXCEPT { - return parse_inf_nan_impl(begin, end, value - , u"NAN", u"nan" - , u"INFINITY", u"infinity" - , u'(', u')'); - } - - template - bool put_inf_nan(char16_t* begin, char16_t*& end, const T& value) BOOST_NOEXCEPT { - return put_inf_nan_impl(begin, end, value, u"nan", u"infinity"); - } -#endif -#if !defined(BOOST_NO_CXX11_CHAR32_T) && !defined(BOOST_NO_CXX11_UNICODE_LITERALS) - template - bool parse_inf_nan(const char32_t* begin, const char32_t* end, T& value) BOOST_NOEXCEPT { - return parse_inf_nan_impl(begin, end, value - , U"NAN", U"nan" - , U"INFINITY", U"infinity" - , U'(', U')'); - } - - template - bool put_inf_nan(char32_t* begin, char32_t*& end, const T& value) BOOST_NOEXCEPT { - return put_inf_nan_impl(begin, end, value, U"nan", U"infinity"); - } -#endif - - template - bool parse_inf_nan(const CharT* begin, const CharT* end, T& value) BOOST_NOEXCEPT { - return parse_inf_nan_impl(begin, end, value - , "NAN", "nan" - , "INFINITY", "infinity" - , '(', ')'); - } - - template - bool put_inf_nan(CharT* begin, CharT*& end, const T& value) BOOST_NOEXCEPT { - return put_inf_nan_impl(begin, end, value, "nan", "infinity"); - } - } - - - namespace detail // lcast_ret_float - { - -// Silence buggy MS warnings like C4244: '+=' : conversion from 'int' to 'unsigned short', possible loss of data -#if defined(_MSC_VER) && (_MSC_VER == 1400) -# pragma warning(push) -# pragma warning(disable:4244) -#endif - template - struct mantissa_holder_type - { - /* Can not be used with this type */ - }; - - template <> - struct mantissa_holder_type - { - typedef unsigned int type; - typedef double wide_result_t; - }; - - template <> - struct mantissa_holder_type - { -#ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS - typedef long double wide_result_t; -#if defined(BOOST_HAS_LONG_LONG) - typedef boost::ulong_long_type type; -#elif defined(BOOST_HAS_MS_INT64) - typedef unsigned __int64 type; -#endif -#endif - }; - - template - inline bool lcast_ret_float(T& value, const CharT* begin, const CharT* const end) - { - value = static_cast(0); - if (begin == end) return false; - if (parse_inf_nan(begin, end, value)) return true; - - CharT const czero = lcast_char_constants::zero; - CharT const minus = lcast_char_constants::minus; - CharT const plus = lcast_char_constants::plus; - CharT const capital_e = lcast_char_constants::capital_e; - CharT const lowercase_e = lcast_char_constants::lowercase_e; - - /* Getting the plus/minus sign */ - bool const has_minus = Traits::eq(*begin, minus); - if (has_minus || Traits::eq(*begin, plus)) { - ++ begin; - if (begin == end) return false; - } - -#ifndef BOOST_LEXICAL_CAST_ASSUME_C_LOCALE - std::locale loc; - typedef std::numpunct numpunct; - numpunct const& np = BOOST_USE_FACET(numpunct, loc); - std::string const grouping( - (loc == std::locale::classic()) - ? std::string() - : np.grouping() - ); - std::string::size_type const grouping_size = grouping.size(); - CharT const thousands_sep = static_cast(grouping_size ? np.thousands_sep() : 0); - CharT const decimal_point = np.decimal_point(); - bool found_grouping = false; - std::string::size_type last_grouping_pos = grouping_size - 1; -#else - CharT const decimal_point = lcast_char_constants::c_decimal_separator; -#endif - - bool found_decimal = false; - bool found_number_before_exp = false; - typedef int pow_of_10_t; - pow_of_10_t pow_of_10 = 0; - - typedef BOOST_DEDUCED_TYPENAME mantissa_holder_type::type mantissa_type; - mantissa_type mantissa=0; - bool is_mantissa_full = false; - char length_since_last_delim = 0; - - while (begin != end) { - if (found_decimal) { - /* We allow no thousand_separators after decimal point */ - - const mantissa_type tmp_sub_value = static_cast(*begin - czero); - if (Traits::eq(*begin, lowercase_e) || Traits::eq(*begin, capital_e)) break; - if ( *begin < czero || *begin >= czero + 10 ) return false; - if ( is_mantissa_full - || ((std::numeric_limits::max)() - tmp_sub_value) / 10u < mantissa - ) { - is_mantissa_full = true; - ++ begin; - continue; - } - - -- pow_of_10; - mantissa = static_cast(mantissa * 10 + tmp_sub_value); - - found_number_before_exp = true; - } else { - - if (*begin >= czero && *begin < czero + 10) { - - /* Checking for mantissa overflow. If overflow will - * occur, them we only increase multiplyer - */ - const mantissa_type tmp_sub_value = static_cast(*begin - czero); - if( is_mantissa_full - || ((std::numeric_limits::max)() - tmp_sub_value) / 10u < mantissa - ) - { - is_mantissa_full = true; - ++ pow_of_10; - } else { - mantissa = static_cast(mantissa * 10 + tmp_sub_value); - } - - found_number_before_exp = true; - ++ length_since_last_delim; - } else if (Traits::eq(*begin, decimal_point) || Traits::eq(*begin, lowercase_e) || Traits::eq(*begin, capital_e)) { -#ifndef BOOST_LEXICAL_CAST_ASSUME_C_LOCALE - /* If ( we need to check grouping - * and ( grouping missmatches - * or grouping position is incorrect - * or we are using the grouping position 0 twice - * ) - * ) then return error - */ - if( grouping_size && found_grouping - && ( - length_since_last_delim != grouping[0] - || last_grouping_pos>1 - || (last_grouping_pos==0 && grouping_size>1) - ) - ) return false; -#endif - - if (Traits::eq(*begin, decimal_point)) { - ++ begin; - found_decimal = true; - if (!found_number_before_exp && begin==end) return false; - continue; - } else { - if (!found_number_before_exp) return false; - break; - } - } -#ifndef BOOST_LEXICAL_CAST_ASSUME_C_LOCALE - else if (grouping_size && Traits::eq(*begin, thousands_sep)){ - if(found_grouping) - { - /* It is not he first time, when we find thousands separator, - * so we need to chek, is the distance between two groupings - * equal to grouping[last_grouping_pos] */ - - if (length_since_last_delim != grouping[last_grouping_pos] ) - { - if (!last_grouping_pos) return false; - else - { - -- last_grouping_pos; - if (length_since_last_delim != grouping[last_grouping_pos]) return false; - } - } else - /* We are calling the grouping[0] twice, when grouping size is more than 1 */ - if (grouping_size>1u && last_grouping_pos+1 grouping[last_grouping_pos] ) return false; - } - - length_since_last_delim = 0; - ++ begin; - - /* Delimiter at the end '100,' */ - if (begin == end) return false; - continue; - } -#endif - else return false; - } - - ++begin; - } - - // Exponent found - if (begin != end && (Traits::eq(*begin, lowercase_e) || Traits::eq(*begin, capital_e))) { - ++ begin; - if (begin == end) return false; - - bool const exp_has_minus = Traits::eq(*begin, minus); - if (exp_has_minus || Traits::eq(*begin, plus)) { - ++ begin; - if (begin == end) return false; - } - - pow_of_10_t exp_pow_of_10 = 0; - while (begin != end) { - pow_of_10_t const sub_value = *begin - czero; - - if ( *begin < czero || *begin >= czero + 10 - || ((std::numeric_limits::max)() - sub_value) / 10 < exp_pow_of_10) - return false; - - exp_pow_of_10 *= 10; - exp_pow_of_10 += sub_value; - ++ begin; - }; - - if (exp_has_minus) { - if ((std::numeric_limits::min)() + exp_pow_of_10 > pow_of_10) - return false; // failed overflow check - pow_of_10 -= exp_pow_of_10; - } else { - if ((std::numeric_limits::max)() - exp_pow_of_10 < pow_of_10) - return false; // failed overflow check - pow_of_10 += exp_pow_of_10; - } - } - - /* We need a more accurate algorithm... We can not use current algorithm - * with long doubles (and with doubles if sizeof(double)==sizeof(long double)). - */ - typedef BOOST_DEDUCED_TYPENAME mantissa_holder_type::wide_result_t wide_result_t; - const wide_result_t result = std::pow(static_cast(10.0), pow_of_10) * mantissa; - value = static_cast( has_minus ? (boost::math::changesign)(result) : result); - - return !((boost::math::isinf)(value) || (boost::math::isnan)(value)); - } -// Unsilence buggy MS warnings like C4244: '+=' : conversion from 'int' to 'unsigned short', possible loss of data -#if defined(_MSC_VER) && (_MSC_VER == 1400) -# pragma warning(pop) -#endif - } - - namespace detail // basic_unlockedbuf - { - // acts as a stream buffer which wraps around a pair of pointers - // and gives acces to internals - template - class basic_unlockedbuf : public basic_pointerbuf { - public: - typedef basic_pointerbuf base_type; - typedef BOOST_DEDUCED_TYPENAME base_type::streamsize streamsize; - -#ifndef BOOST_NO_USING_TEMPLATE - using base_type::pptr; - using base_type::pbase; - using base_type::setbuf; -#else - charT* pptr() const { return base_type::pptr(); } - charT* pbase() const { return base_type::pbase(); } - BufferType* setbuf(char_type* s, streamsize n) { return base_type::setbuf(s, n); } -#endif - }; - } - - namespace detail - { - struct do_not_construct_out_stream_t{}; - - template - struct out_stream_helper_trait { -#if defined(BOOST_NO_STRINGSTREAM) - typedef std::ostrstream out_stream_t; - typedef void buffer_t; -#elif defined(BOOST_NO_STD_LOCALE) - typedef std::ostringstream out_stream_t; - typedef basic_unlockedbuf buffer_t; -#else - typedef std::basic_ostringstream - out_stream_t; - typedef basic_unlockedbuf, CharT> - buffer_t; -#endif - }; - } - - namespace detail // optimized stream wrappers - { - template< class CharT // a result of widest_char transformation - , class Traits - , bool RequiresStringbuffer - , std::size_t CharacterBufferSize - > - class lexical_istream_limited_src: boost::noncopyable { - typedef BOOST_DEDUCED_TYPENAME out_stream_helper_trait::buffer_t - buffer_t; - - typedef BOOST_DEDUCED_TYPENAME out_stream_helper_trait::out_stream_t - out_stream_t; - - typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_c< - RequiresStringbuffer, - out_stream_t, - do_not_construct_out_stream_t - >::type deduced_out_stream_t; - - // A string representation of Source is written to `buffer`. - deduced_out_stream_t out_stream; - CharT buffer[CharacterBufferSize]; - - // After the `operator <<` finishes, `[start, finish)` is - // the range to output by `operator >>` - const CharT* start; - const CharT* finish; - - public: - lexical_istream_limited_src() BOOST_NOEXCEPT - : start(buffer) - , finish(buffer + CharacterBufferSize) - {} - - const CharT* cbegin() const BOOST_NOEXCEPT { - return start; - } - - const CharT* cend() const BOOST_NOEXCEPT { - return finish; - } - - private: - // Undefined: - lexical_istream_limited_src(lexical_istream_limited_src const&); - void operator=(lexical_istream_limited_src const&); - -/************************************ HELPER FUNCTIONS FOR OPERATORS << ( ... ) ********************************/ - bool shl_char(CharT ch) BOOST_NOEXCEPT { - Traits::assign(buffer[0], ch); - finish = start + 1; - return true; - } - -#ifndef BOOST_LCAST_NO_WCHAR_T - template - bool shl_char(T ch) { - BOOST_STATIC_ASSERT_MSG(( sizeof(T) <= sizeof(CharT)) , - "boost::lexical_cast does not support narrowing of char types." - "Use boost::locale instead" ); -#ifndef BOOST_LEXICAL_CAST_ASSUME_C_LOCALE - std::locale loc; - CharT const w = BOOST_USE_FACET(std::ctype, loc).widen(ch); -#else - CharT const w = static_cast(ch); -#endif - Traits::assign(buffer[0], w); - finish = start + 1; - return true; - } -#endif - - bool shl_char_array(CharT const* str) BOOST_NOEXCEPT { - start = str; - finish = start + Traits::length(str); - return true; - } - - template - bool shl_char_array(T const* str) { - BOOST_STATIC_ASSERT_MSG(( sizeof(T) <= sizeof(CharT)), - "boost::lexical_cast does not support narrowing of char types." - "Use boost::locale instead" ); - return shl_input_streamable(str); - } - - bool shl_char_array_limited(CharT const* str, std::size_t max_size) BOOST_NOEXCEPT { - start = str; - finish = std::find(start, start + max_size, Traits::to_char_type(0)); - return true; - } - - template - bool shl_input_streamable(InputStreamable& input) { -#if defined(BOOST_NO_STRINGSTREAM) || defined(BOOST_NO_STD_LOCALE) - // If you have compilation error at this point, than your STL library - // does not support such conversions. Try updating it. - BOOST_STATIC_ASSERT((boost::is_same::value)); -#endif - -#ifndef BOOST_NO_EXCEPTIONS - out_stream.exceptions(std::ios::badbit); - try { -#endif - bool const result = !(out_stream << input).fail(); - const buffer_t* const p = static_cast( - static_cast*>(out_stream.rdbuf()) - ); - start = p->pbase(); - finish = p->pptr(); - return result; -#ifndef BOOST_NO_EXCEPTIONS - } catch (const ::std::ios_base::failure& /*f*/) { - return false; - } -#endif - } - - template - inline bool shl_unsigned(const T n) { - CharT* tmp_finish = buffer + CharacterBufferSize; - start = lcast_put_unsigned(n, tmp_finish).convert(); - finish = tmp_finish; - return true; - } - - template - inline bool shl_signed(const T n) { - CharT* tmp_finish = buffer + CharacterBufferSize; - typedef BOOST_DEDUCED_TYPENAME boost::make_unsigned::type utype; - CharT* tmp_start = lcast_put_unsigned(lcast_to_unsigned(n), tmp_finish).convert(); - if (n < 0) { - --tmp_start; - CharT const minus = lcast_char_constants::minus; - Traits::assign(*tmp_start, minus); - } - start = tmp_start; - finish = tmp_finish; - return true; - } - - template - bool shl_real_type(const T& val, SomeCharT* /*begin*/) { - lcast_set_precision(out_stream, &val); - return shl_input_streamable(val); - } - - bool shl_real_type(float val, char* begin) { - using namespace std; - const double val_as_double = val; - finish = start + -#if defined(_MSC_VER) && (_MSC_VER >= 1400) && !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION) - sprintf_s(begin, CharacterBufferSize, -#else - sprintf(begin, -#endif - "%.*g", static_cast(boost::detail::lcast_get_precision()), val_as_double); - return finish > start; - } - - bool shl_real_type(double val, char* begin) { - using namespace std; - finish = start + -#if defined(_MSC_VER) && (_MSC_VER >= 1400) && !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION) - sprintf_s(begin, CharacterBufferSize, -#else - sprintf(begin, -#endif - "%.*g", static_cast(boost::detail::lcast_get_precision()), val); - return finish > start; - } - -#ifndef __MINGW32__ - bool shl_real_type(long double val, char* begin) { - using namespace std; - finish = start + -#if defined(_MSC_VER) && (_MSC_VER >= 1400) && !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION) - sprintf_s(begin, CharacterBufferSize, -#else - sprintf(begin, -#endif - "%.*Lg", static_cast(boost::detail::lcast_get_precision()), val ); - return finish > start; - } -#endif - - -#if !defined(BOOST_LCAST_NO_WCHAR_T) && !defined(BOOST_NO_SWPRINTF) && !defined(__MINGW32__) - bool shl_real_type(float val, wchar_t* begin) { - using namespace std; - const double val_as_double = val; - finish = start + swprintf(begin, CharacterBufferSize, - L"%.*g", - static_cast(boost::detail::lcast_get_precision()), - val_as_double ); - return finish > start; - } - - bool shl_real_type(double val, wchar_t* begin) { - using namespace std; - finish = start + swprintf(begin, CharacterBufferSize, - L"%.*g", static_cast(boost::detail::lcast_get_precision()), val ); - return finish > start; - } - - bool shl_real_type(long double val, wchar_t* begin) { - using namespace std; - finish = start + swprintf(begin, CharacterBufferSize, - L"%.*Lg", static_cast(boost::detail::lcast_get_precision()), val ); - return finish > start; - } -#endif - template - bool shl_real(T val) { - CharT* tmp_finish = buffer + CharacterBufferSize; - if (put_inf_nan(buffer, tmp_finish, val)) { - finish = tmp_finish; - return true; - } - - return shl_real_type(val, static_cast(buffer)); - } - -/************************************ OPERATORS << ( ... ) ********************************/ - public: - template - bool operator<<(std::basic_string const& str) BOOST_NOEXCEPT { - start = str.data(); - finish = start + str.length(); - return true; - } - - template - bool operator<<(boost::container::basic_string const& str) BOOST_NOEXCEPT { - start = str.data(); - finish = start + str.length(); - return true; - } - - bool operator<<(bool value) BOOST_NOEXCEPT { - CharT const czero = lcast_char_constants::zero; - Traits::assign(buffer[0], Traits::to_char_type(czero + value)); - finish = start + 1; - return true; - } - - template - BOOST_DEDUCED_TYPENAME boost::disable_if, bool>::type - operator<<(const iterator_range& rng) BOOST_NOEXCEPT { - return (*this) << iterator_range(rng.begin(), rng.end()); - } - - bool operator<<(const iterator_range& rng) BOOST_NOEXCEPT { - start = rng.begin(); - finish = rng.end(); - return true; - } - - bool operator<<(const iterator_range& rng) BOOST_NOEXCEPT { - return (*this) << iterator_range( - reinterpret_cast(rng.begin()), - reinterpret_cast(rng.end()) - ); - } - - bool operator<<(const iterator_range& rng) BOOST_NOEXCEPT { - return (*this) << iterator_range( - reinterpret_cast(rng.begin()), - reinterpret_cast(rng.end()) - ); - } - - bool operator<<(char ch) { return shl_char(ch); } - bool operator<<(unsigned char ch) { return ((*this) << static_cast(ch)); } - bool operator<<(signed char ch) { return ((*this) << static_cast(ch)); } -#if !defined(BOOST_LCAST_NO_WCHAR_T) - bool operator<<(wchar_t const* str) { return shl_char_array(str); } - bool operator<<(wchar_t * str) { return shl_char_array(str); } -#ifndef BOOST_NO_INTRINSIC_WCHAR_T - bool operator<<(wchar_t ch) { return shl_char(ch); } -#endif -#endif -#if !defined(BOOST_NO_CXX11_CHAR16_T) && !defined(BOOST_NO_CXX11_UNICODE_LITERALS) - bool operator<<(char16_t ch) { return shl_char(ch); } - bool operator<<(char16_t * str) { return shl_char_array(str); } - bool operator<<(char16_t const * str) { return shl_char_array(str); } -#endif -#if !defined(BOOST_NO_CXX11_CHAR32_T) && !defined(BOOST_NO_CXX11_UNICODE_LITERALS) - bool operator<<(char32_t ch) { return shl_char(ch); } - bool operator<<(char32_t * str) { return shl_char_array(str); } - bool operator<<(char32_t const * str) { return shl_char_array(str); } -#endif - bool operator<<(unsigned char const* ch) { return ((*this) << reinterpret_cast(ch)); } - bool operator<<(unsigned char * ch) { return ((*this) << reinterpret_cast(ch)); } - bool operator<<(signed char const* ch) { return ((*this) << reinterpret_cast(ch)); } - bool operator<<(signed char * ch) { return ((*this) << reinterpret_cast(ch)); } - bool operator<<(char const* str) { return shl_char_array(str); } - bool operator<<(char* str) { return shl_char_array(str); } - bool operator<<(short n) { return shl_signed(n); } - bool operator<<(int n) { return shl_signed(n); } - bool operator<<(long n) { return shl_signed(n); } - bool operator<<(unsigned short n) { return shl_unsigned(n); } - bool operator<<(unsigned int n) { return shl_unsigned(n); } - bool operator<<(unsigned long n) { return shl_unsigned(n); } - -#if defined(BOOST_HAS_LONG_LONG) - bool operator<<(boost::ulong_long_type n) { return shl_unsigned(n); } - bool operator<<(boost::long_long_type n) { return shl_signed(n); } -#elif defined(BOOST_HAS_MS_INT64) - bool operator<<(unsigned __int64 n) { return shl_unsigned(n); } - bool operator<<( __int64 n) { return shl_signed(n); } -#endif - -#ifdef BOOST_HAS_INT128 - bool operator<<(const boost::uint128_type& n) { return shl_unsigned(n); } - bool operator<<(const boost::int128_type& n) { return shl_signed(n); } -#endif - bool operator<<(float val) { return shl_real(val); } - bool operator<<(double val) { return shl_real(val); } - bool operator<<(long double val) { -#ifndef __MINGW32__ - return shl_real(val); -#else - return shl_real(static_cast(val)); -#endif - } - - // Adding constness to characters. Constness does not change layout - template - BOOST_DEDUCED_TYPENAME boost::disable_if, bool>::type - operator<<(boost::array const& input) BOOST_NOEXCEPT { - BOOST_STATIC_ASSERT_MSG( - (sizeof(boost::array) == sizeof(boost::array)), - "boost::array and boost::array must have exactly the same layout." - ); - return ((*this) << reinterpret_cast const& >(input)); - } - - template - bool operator<<(boost::array const& input) BOOST_NOEXCEPT { - return shl_char_array_limited(input.begin(), N); - } - - template - bool operator<<(boost::array const& input) BOOST_NOEXCEPT { - return ((*this) << reinterpret_cast const& >(input)); - } - - template - bool operator<<(boost::array const& input) BOOST_NOEXCEPT { - return ((*this) << reinterpret_cast const& >(input)); - } - -#ifndef BOOST_NO_CXX11_HDR_ARRAY - // Making a Boost.Array from std::array - template - bool operator<<(std::array const& input) BOOST_NOEXCEPT { - BOOST_STATIC_ASSERT_MSG( - (sizeof(std::array) == sizeof(boost::array)), - "std::array and boost::array must have exactly the same layout. " - "Bug in implementation of std::array or boost::array." - ); - return ((*this) << reinterpret_cast const& >(input)); - } -#endif - template - bool operator<<(const InStreamable& input) { return shl_input_streamable(input); } - }; - - - template - class lexical_ostream_limited_src: boost::noncopyable { - //`[start, finish)` is the range to output by `operator >>` - const CharT* start; - const CharT* const finish; - - public: - lexical_ostream_limited_src(const CharT* begin, const CharT* end) BOOST_NOEXCEPT - : start(begin) - , finish(end) - {} - -/************************************ HELPER FUNCTIONS FOR OPERATORS >> ( ... ) ********************************/ - private: - template - bool shr_unsigned(Type& output) { - if (start == finish) return false; - CharT const minus = lcast_char_constants::minus; - CharT const plus = lcast_char_constants::plus; - bool const has_minus = Traits::eq(minus, *start); - - /* We won`t use `start' any more, so no need in decrementing it after */ - if (has_minus || Traits::eq(plus, *start)) { - ++start; - } - - bool const succeed = lcast_ret_unsigned(output, start, finish).convert(); - - if (has_minus) { - output = static_cast(0u - output); - } - - return succeed; - } - - template - bool shr_signed(Type& output) { - if (start == finish) return false; - CharT const minus = lcast_char_constants::minus; - CharT const plus = lcast_char_constants::plus; - typedef BOOST_DEDUCED_TYPENAME make_unsigned::type utype; - utype out_tmp = 0; - bool const has_minus = Traits::eq(minus, *start); - - /* We won`t use `start' any more, so no need in decrementing it after */ - if (has_minus || Traits::eq(plus, *start)) { - ++start; - } - - bool succeed = lcast_ret_unsigned(out_tmp, start, finish).convert(); - if (has_minus) { - utype const comp_val = (static_cast(1) << std::numeric_limits::digits); - succeed = succeed && out_tmp<=comp_val; - output = static_cast(0u - out_tmp); - } else { - utype const comp_val = static_cast((std::numeric_limits::max)()); - succeed = succeed && out_tmp<=comp_val; - output = static_cast(out_tmp); - } - return succeed; - } - - template - bool shr_using_base_class(InputStreamable& output) - { - BOOST_STATIC_ASSERT_MSG( - (!boost::is_pointer::value), - "boost::lexical_cast can not convert to pointers" - ); - -#if defined(BOOST_NO_STRINGSTREAM) || defined(BOOST_NO_STD_LOCALE) - BOOST_STATIC_ASSERT_MSG((boost::is_same::value), - "boost::lexical_cast can not convert, because your STL library does not " - "support such conversions. Try updating it." - ); -#endif - typedef BOOST_DEDUCED_TYPENAME out_stream_helper_trait::buffer_t - buffer_t; - -#if defined(BOOST_NO_STRINGSTREAM) - std::istrstream stream(start, finish - start); -#else - - buffer_t buf; - // Usually `istream` and `basic_istream` do not modify - // content of buffer; `buffer_t` assures that this is true - buf.setbuf(const_cast(start), finish - start); -#if defined(BOOST_NO_STD_LOCALE) - std::istream stream(&buf); -#else - std::basic_istream stream(&buf); -#endif // BOOST_NO_STD_LOCALE -#endif // BOOST_NO_STRINGSTREAM - -#ifndef BOOST_NO_EXCEPTIONS - stream.exceptions(std::ios::badbit); - try { -#endif - stream.unsetf(std::ios::skipws); - lcast_set_precision(stream, static_cast(0)); - - return (stream >> output) - && (stream.get() == Traits::eof()); - -#ifndef BOOST_NO_EXCEPTIONS - } catch (const ::std::ios_base::failure& /*f*/) { - return false; - } -#endif - } - - template - inline bool shr_xchar(T& output) BOOST_NOEXCEPT { - BOOST_STATIC_ASSERT_MSG(( sizeof(CharT) == sizeof(T) ), - "boost::lexical_cast does not support narrowing of character types." - "Use boost::locale instead" ); - bool const ok = (finish - start == 1); - if (ok) { - CharT out; - Traits::assign(out, *start); - output = static_cast(out); - } - return ok; - } - - template - bool shr_std_array(ArrayT& output) BOOST_NOEXCEPT { - using namespace std; - const std::size_t size = static_cast(finish - start); - if (size > N - 1) { // `-1` because we need to store \0 at the end - return false; - } - - memcpy(&output[0], start, size * sizeof(CharT)); - output[size] = Traits::to_char_type(0); - return true; - } - -/************************************ OPERATORS >> ( ... ) ********************************/ - public: - bool operator>>(unsigned short& output) { return shr_unsigned(output); } - bool operator>>(unsigned int& output) { return shr_unsigned(output); } - bool operator>>(unsigned long int& output) { return shr_unsigned(output); } - bool operator>>(short& output) { return shr_signed(output); } - bool operator>>(int& output) { return shr_signed(output); } - bool operator>>(long int& output) { return shr_signed(output); } -#if defined(BOOST_HAS_LONG_LONG) - bool operator>>(boost::ulong_long_type& output) { return shr_unsigned(output); } - bool operator>>(boost::long_long_type& output) { return shr_signed(output); } -#elif defined(BOOST_HAS_MS_INT64) - bool operator>>(unsigned __int64& output) { return shr_unsigned(output); } - bool operator>>(__int64& output) { return shr_signed(output); } -#endif - -#ifdef BOOST_HAS_INT128 - bool operator>>(boost::uint128_type& output) { return shr_unsigned(output); } - bool operator>>(boost::int128_type& output) { return shr_signed(output); } -#endif - - bool operator>>(char& output) { return shr_xchar(output); } - bool operator>>(unsigned char& output) { return shr_xchar(output); } - bool operator>>(signed char& output) { return shr_xchar(output); } -#if !defined(BOOST_LCAST_NO_WCHAR_T) && !defined(BOOST_NO_INTRINSIC_WCHAR_T) - bool operator>>(wchar_t& output) { return shr_xchar(output); } -#endif -#if !defined(BOOST_NO_CXX11_CHAR16_T) && !defined(BOOST_NO_CXX11_UNICODE_LITERALS) - bool operator>>(char16_t& output) { return shr_xchar(output); } -#endif -#if !defined(BOOST_NO_CXX11_CHAR32_T) && !defined(BOOST_NO_CXX11_UNICODE_LITERALS) - bool operator>>(char32_t& output) { return shr_xchar(output); } -#endif - template - bool operator>>(std::basic_string& str) { - str.assign(start, finish); return true; - } - - template - bool operator>>(boost::container::basic_string& str) { - str.assign(start, finish); return true; - } - - template - bool operator>>(boost::array& output) BOOST_NOEXCEPT { - return shr_std_array(output); - } - - template - bool operator>>(boost::array& output) BOOST_NOEXCEPT { - return ((*this) >> reinterpret_cast& >(output)); - } - - template - bool operator>>(boost::array& output) BOOST_NOEXCEPT { - return ((*this) >> reinterpret_cast& >(output)); - } - -#ifndef BOOST_NO_CXX11_HDR_ARRAY - template - bool operator>>(std::array& output) BOOST_NOEXCEPT { - BOOST_STATIC_ASSERT_MSG( - (sizeof(boost::array) == sizeof(boost::array)), - "std::array and boost::array must have exactly the same layout." - ); - return ((*this) >> reinterpret_cast& >(output)); - } -#endif - - bool operator>>(bool& output) BOOST_NOEXCEPT { - output = false; // Suppress warning about uninitalized variable - - if (start == finish) return false; - CharT const zero = lcast_char_constants::zero; - CharT const plus = lcast_char_constants::plus; - CharT const minus = lcast_char_constants::minus; - - const CharT* const dec_finish = finish - 1; - output = Traits::eq(*dec_finish, zero + 1); - if (!output && !Traits::eq(*dec_finish, zero)) { - return false; // Does not ends on '0' or '1' - } - - if (start == dec_finish) return true; - - // We may have sign at the beginning - if (Traits::eq(plus, *start) || (Traits::eq(minus, *start) && !output)) { - ++ start; - } - - // Skipping zeros - while (start != dec_finish) { - if (!Traits::eq(zero, *start)) { - return false; // Not a zero => error - } - - ++ start; - } - - return true; - } - - bool operator>>(float& output) { return lcast_ret_float(output,start,finish); } - - private: - // Not optimised converter - template - bool float_types_converter_internal(T& output, int /*tag*/) { - if (parse_inf_nan(start, finish, output)) return true; - bool const return_value = shr_using_base_class(output); - - /* Some compilers and libraries successfully - * parse 'inf', 'INFINITY', '1.0E', '1.0E-'... - * We are trying to provide a unified behaviour, - * so we just forbid such conversions (as some - * of the most popular compilers/libraries do) - * */ - CharT const minus = lcast_char_constants::minus; - CharT const plus = lcast_char_constants::plus; - CharT const capital_e = lcast_char_constants::capital_e; - CharT const lowercase_e = lcast_char_constants::lowercase_e; - if ( return_value && - ( - Traits::eq(*(finish-1), lowercase_e) // 1.0e - || Traits::eq(*(finish-1), capital_e) // 1.0E - || Traits::eq(*(finish-1), minus) // 1.0e- or 1.0E- - || Traits::eq(*(finish-1), plus) // 1.0e+ or 1.0E+ - ) - ) return false; - - return return_value; - } - - // Optimised converter - bool float_types_converter_internal(double& output, char /*tag*/) { - return lcast_ret_float(output, start, finish); - } - public: - - bool operator>>(double& output) { - /* - * Some compilers implement long double as double. In that case these types have - * same size, same precision, same max and min values... And it means, - * that current implementation of lcast_ret_float cannot be used for type - * double, because it will give a big precision loss. - * */ - boost::mpl::if_c< -#if (defined(BOOST_HAS_LONG_LONG) || defined(BOOST_HAS_MS_INT64)) && !defined(BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS) - boost::type_traits::ice_eq< sizeof(double), sizeof(long double) >::value, -#else - 1, -#endif - int, - char - >::type tag = 0; - - return float_types_converter_internal(output, tag); - } - - bool operator>>(long double& output) { - int tag = 0; - return float_types_converter_internal(output, tag); - } - - // Generic istream-based algorithm. - // lcast_streambuf_for_target::value is true. - template - bool operator>>(InputStreamable& output) { - return shr_using_base_class(output); - } - }; - } - - namespace detail - { - template - struct is_stdstring - : boost::false_type - {}; - - template - struct is_stdstring< std::basic_string > - : boost::true_type - {}; - - template - struct is_stdstring< boost::container::basic_string > - : boost::true_type - {}; - - template - struct is_arithmetic_and_not_xchars - { - BOOST_STATIC_CONSTANT(bool, value = ( - boost::type_traits::ice_and< - boost::type_traits::ice_not< - boost::detail::is_character::value - >::value, - boost::type_traits::ice_not< - boost::detail::is_character::value - >::value, - boost::is_arithmetic::value, - boost::is_arithmetic::value - >::value - )); - }; - - /* - * is_xchar_to_xchar::value is true, - * Target and Souce are char types of the same size 1 (char, signed char, unsigned char). - */ - template - struct is_xchar_to_xchar - { - BOOST_STATIC_CONSTANT(bool, value = ( - boost::type_traits::ice_and< - boost::type_traits::ice_eq::value, - boost::type_traits::ice_eq::value, - boost::detail::is_character::value, - boost::detail::is_character::value - >::value - )); - }; - - template - struct is_char_array_to_stdstring - : boost::false_type - {}; - - template - struct is_char_array_to_stdstring< std::basic_string, CharT* > - : boost::true_type - {}; - - template - struct is_char_array_to_stdstring< std::basic_string, const CharT* > - : boost::true_type - {}; - - template - struct is_char_array_to_stdstring< boost::container::basic_string, CharT* > - : boost::true_type - {}; - - template - struct is_char_array_to_stdstring< boost::container::basic_string, const CharT* > - : boost::true_type - {}; - - template - struct lexical_converter_impl - { - typedef lexical_cast_stream_traits stream_trait; - - typedef detail::lexical_istream_limited_src< - BOOST_DEDUCED_TYPENAME stream_trait::char_type, - BOOST_DEDUCED_TYPENAME stream_trait::traits, - stream_trait::requires_stringbuf, - stream_trait::len_t::value + 1 - > i_interpreter_type; - - typedef detail::lexical_ostream_limited_src< - BOOST_DEDUCED_TYPENAME stream_trait::char_type, - BOOST_DEDUCED_TYPENAME stream_trait::traits - > o_interpreter_type; - - static inline bool try_convert(const Source& arg, Target& result) { - i_interpreter_type i_interpreter; - - // Disabling ADL, by directly specifying operators. - if (!(i_interpreter.operator <<(arg))) - return false; - - o_interpreter_type out(i_interpreter.cbegin(), i_interpreter.cend()); - - // Disabling ADL, by directly specifying operators. - if(!(out.operator >>(result))) - return false; - - return true; - } - }; - - template - struct copy_converter_impl - { -// MSVC fail to forward an array (DevDiv#555157 "SILENT BAD CODEGEN triggered by perfect forwarding", -// fixed in 2013 RTM). -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && (!defined(BOOST_MSVC) || BOOST_MSVC >= 1800) - template - static inline bool try_convert(T&& arg, Target& result) { - result = static_cast(arg); // eqaul to `result = std::forward(arg);` - return true; - } -#else - static inline bool try_convert(const Source& arg, Target& result) { - result = arg; - return true; - } -#endif - }; - - template - struct detect_precision_loss - { - typedef Source source_type; - typedef boost::numeric::Trunc Rounder; - typedef BOOST_DEDUCED_TYPENAME mpl::if_< - boost::is_arithmetic, Source, Source const& - >::type argument_type ; - - static inline source_type nearbyint(argument_type s, bool& is_ok) BOOST_NOEXCEPT { - const source_type near_int = Rounder::nearbyint(s); - if (near_int && is_ok) { - const source_type orig_div_round = s / near_int; - const source_type eps = std::numeric_limits::epsilon(); - - is_ok = !((orig_div_round > 1 ? orig_div_round - 1 : 1 - orig_div_round) > eps); - } - - return s; - } - - typedef typename Rounder::round_style round_style; - }; - - template - struct fake_precision_loss: public Base - { - typedef Source source_type ; - typedef BOOST_DEDUCED_TYPENAME mpl::if_< - boost::is_arithmetic, Source, Source const& - >::type argument_type ; - - static inline source_type nearbyint(argument_type s, bool& /*is_ok*/) BOOST_NOEXCEPT { - return s; - } - }; - - struct nothrow_overflow_handler - { - inline bool operator() ( boost::numeric::range_check_result r ) const BOOST_NOEXCEPT { - return (r == boost::numeric::cInRange); - } - }; - - template - inline bool noexcept_numeric_convert(const Source& arg, Target& result) BOOST_NOEXCEPT { - typedef boost::numeric::converter< - Target, - Source, - boost::numeric::conversion_traits, - nothrow_overflow_handler, - detect_precision_loss - > converter_orig_t; - - typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_c< - boost::is_base_of< detect_precision_loss, converter_orig_t >::value, - converter_orig_t, - fake_precision_loss - >::type converter_t; - - bool res = nothrow_overflow_handler()(converter_t::out_of_range(arg)); - result = converter_t::low_level_convert(converter_t::nearbyint(arg, res)); - return res; - } - - template - struct lexical_cast_dynamic_num_not_ignoring_minus - { - static inline bool try_convert(const Source &arg, Target& result) BOOST_NOEXCEPT { - return noexcept_numeric_convert(arg, result); - } - }; - - template - struct lexical_cast_dynamic_num_ignoring_minus - { - static inline bool try_convert(const Source &arg, Target& result) BOOST_NOEXCEPT { - typedef BOOST_DEDUCED_TYPENAME boost::mpl::eval_if_c< - boost::is_float::value, - boost::mpl::identity, - boost::make_unsigned - >::type usource_t; - - if (arg < 0) { - const bool res = noexcept_numeric_convert(0u - arg, result); - result = static_cast(0u - result); - return res; - } else { - return noexcept_numeric_convert(arg, result); - } - } - }; - - /* - * lexical_cast_dynamic_num follows the rules: - * 1) If Source can be converted to Target without precision loss and - * without overflows, then assign Source to Target and return - * - * 2) If Source is less than 0 and Target is an unsigned integer, - * then negate Source, check the requirements of rule 1) and if - * successful, assign static_casted Source to Target and return - * - * 3) Otherwise throw a bad_lexical_cast exception - * - * - * Rule 2) required because boost::lexical_cast has the behavior of - * stringstream, which uses the rules of scanf for conversions. And - * in the C99 standard for unsigned input value minus sign is - * optional, so if a negative number is read, no errors will arise - * and the result will be the two's complement. - */ - template - struct dynamic_num_converter_impl - { - static inline bool try_convert(const Source &arg, Target& result) BOOST_NOEXCEPT { - typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_c< - boost::type_traits::ice_and< - boost::is_unsigned::value, - boost::type_traits::ice_or< - boost::is_signed::value, - boost::is_float::value - >::value, - boost::type_traits::ice_not< - boost::is_same::value - >::value, - boost::type_traits::ice_not< - boost::is_same::value - >::value - >::value, - lexical_cast_dynamic_num_ignoring_minus, - lexical_cast_dynamic_num_not_ignoring_minus - >::type caster_type; - - return caster_type::try_convert(arg, result); - } - }; - } - - namespace conversion { namespace detail { - - template - inline bool try_lexical_convert(const Source& arg, Target& result) - { - typedef BOOST_DEDUCED_TYPENAME boost::detail::array_to_pointer_decay::type src; - - typedef BOOST_DEDUCED_TYPENAME boost::type_traits::ice_or< - boost::detail::is_xchar_to_xchar::value, - boost::detail::is_char_array_to_stdstring::value, - boost::type_traits::ice_and< - boost::is_same::value, - boost::detail::is_stdstring::value - >::value, - boost::type_traits::ice_and< - boost::is_same::value, - boost::detail::is_character::value - >::value - > shall_we_copy_t; - - typedef boost::detail::is_arithmetic_and_not_xchars - shall_we_copy_with_dynamic_check_t; - - // We do evaluate second `if_` lazily to avoid unnecessary instantiations - // of `shall_we_copy_with_dynamic_check_t` and improve compilation times. - typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_c< - shall_we_copy_t::value, - boost::mpl::identity >, - boost::mpl::if_< - shall_we_copy_with_dynamic_check_t, - boost::detail::dynamic_num_converter_impl, - boost::detail::lexical_converter_impl - > - >::type caster_type_lazy; - - typedef BOOST_DEDUCED_TYPENAME caster_type_lazy::type caster_type; - - return caster_type::try_convert(arg, result); - } - - template - inline bool try_lexical_convert(const CharacterT* chars, std::size_t count, Target& result) - { - BOOST_STATIC_ASSERT_MSG( - boost::detail::is_character::value, - "This overload of try_lexical_convert is meant to be used only with arrays of characters." - ); - return ::boost::conversion::detail::try_lexical_convert( - ::boost::iterator_range(chars, chars + count), result - ); - } - - }} // namespace conversion::detail - - namespace conversion { - // ADL barrier - using ::boost::conversion::detail::try_lexical_convert; - } - - template - inline Target lexical_cast(const Source &arg) - { - Target result; - - if (!boost::conversion::detail::try_lexical_convert(arg, result)) - BOOST_LCAST_THROW_BAD_CAST(Source, Target); - - return result; - } - - template - inline Target lexical_cast(const char* chars, std::size_t count) - { - return ::boost::lexical_cast( - ::boost::iterator_range(chars, chars + count) - ); - } - - template - inline Target lexical_cast(const unsigned char* chars, std::size_t count) - { - return ::boost::lexical_cast( - ::boost::iterator_range(chars, chars + count) - ); - } - - template - inline Target lexical_cast(const signed char* chars, std::size_t count) - { - return ::boost::lexical_cast( - ::boost::iterator_range(chars, chars + count) - ); - } - -#ifndef BOOST_LCAST_NO_WCHAR_T - template - inline Target lexical_cast(const wchar_t* chars, std::size_t count) - { - return ::boost::lexical_cast( - ::boost::iterator_range(chars, chars + count) - ); - } -#endif -#ifndef BOOST_NO_CXX11_CHAR16_T - template - inline Target lexical_cast(const char16_t* chars, std::size_t count) - { - return ::boost::lexical_cast( - ::boost::iterator_range(chars, chars + count) - ); - } -#endif -#ifndef BOOST_NO_CXX11_CHAR32_T - template - inline Target lexical_cast(const char32_t* chars, std::size_t count) - { - return ::boost::lexical_cast( - ::boost::iterator_range(chars, chars + count) - ); - } -#endif - -} // namespace boost - -#else - -namespace boost { - namespace detail - { - - // selectors for choosing stream character type - template - struct stream_char - { - typedef char type; - }; - -#ifndef BOOST_LCAST_NO_WCHAR_T -#ifndef BOOST_NO_INTRINSIC_WCHAR_T - template<> - struct stream_char - { - typedef wchar_t type; - }; -#endif - - template<> - struct stream_char - { - typedef wchar_t type; - }; - - template<> - struct stream_char - { - typedef wchar_t type; - }; - - template<> - struct stream_char - { - typedef wchar_t type; - }; -#endif - - // stream wrapper for handling lexical conversions - template - class lexical_stream - { - private: - typedef typename widest_char< - typename stream_char::type, - typename stream_char::type>::type char_type; - - typedef Traits traits_type; - - public: - lexical_stream(char_type* = 0, char_type* = 0) - { - stream.unsetf(std::ios::skipws); - lcast_set_precision(stream, static_cast(0), static_cast(0) ); - } - ~lexical_stream() - { - #if defined(BOOST_NO_STRINGSTREAM) - stream.freeze(false); - #endif - } - bool operator<<(const Source &input) - { - return !(stream << input).fail(); - } - template - bool operator>>(InputStreamable &output) - { - return !is_pointer::value && - stream >> output && - stream.get() == traits_type::eof(); - } - - bool operator>>(std::string &output) - { - #if defined(BOOST_NO_STRINGSTREAM) - stream << '\0'; - #endif - stream.str().swap(output); - return true; - } - #ifndef BOOST_LCAST_NO_WCHAR_T - bool operator>>(std::wstring &output) - { - stream.str().swap(output); - return true; - } - #endif - - private: - #if defined(BOOST_NO_STRINGSTREAM) - std::strstream stream; - #elif defined(BOOST_NO_STD_LOCALE) - std::stringstream stream; - #else - std::basic_stringstream stream; - #endif - }; - } - - // call-by-value fallback version (deprecated) - - template - Target lexical_cast(Source arg) - { - typedef typename detail::widest_char< - BOOST_DEDUCED_TYPENAME detail::stream_char::type - , BOOST_DEDUCED_TYPENAME detail::stream_char::type - >::type char_type; - - typedef std::char_traits traits; - detail::lexical_stream interpreter; - Target result; - - if(!(interpreter << arg && interpreter >> result)) - BOOST_LCAST_THROW_BAD_CAST(Source, Target); - return result; - } - -} // namespace boost - -#endif - -// Copyright Kevlin Henney, 2000-2005. -// Copyright Alexander Nasonov, 2006-2010. -// Copyright Antony Polukhin, 2011-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) - -#undef BOOST_LCAST_THROW_BAD_CAST -#undef BOOST_LCAST_NO_WCHAR_T - -#endif // BOOST_LEXICAL_CAST_INCLUDED - diff --git a/bundled/boost-1.56.0/include/boost/math/common_factor_rt.hpp b/bundled/boost-1.56.0/include/boost/math/common_factor_rt.hpp deleted file mode 100644 index 10a92ebf56..0000000000 --- a/bundled/boost-1.56.0/include/boost/math/common_factor_rt.hpp +++ /dev/null @@ -1,460 +0,0 @@ -// Boost common_factor_rt.hpp header file ----------------------------------// - -// (C) Copyright Daryle Walker and Paul Moore 2001-2002. Permission to copy, -// use, modify, sell and distribute this software is granted provided this -// copyright notice appears in all copies. This software is provided "as is" -// without express or implied warranty, and with no claim as to its suitability -// for any purpose. - -// boostinspect:nolicense (don't complain about the lack of a Boost license) -// (Paul Moore hasn't been in contact for years, so there's no way to change the -// license.) - -// See http://www.boost.org for updates, documentation, and revision history. - -#ifndef BOOST_MATH_COMMON_FACTOR_RT_HPP -#define BOOST_MATH_COMMON_FACTOR_RT_HPP - -#include // self include - -#include // for BOOST_NESTED_TEMPLATE, etc. -#include // for std::numeric_limits -#include // for CHAR_MIN -#include - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable:4127 4244) // Conditional expression is constant -#endif - -namespace boost -{ -namespace math -{ - - -// Forward declarations for function templates -----------------------------// - -template < typename IntegerType > - IntegerType gcd( IntegerType const &a, IntegerType const &b ); - -template < typename IntegerType > - IntegerType lcm( IntegerType const &a, IntegerType const &b ); - - -// Greatest common divisor evaluator class declaration ---------------------// - -template < typename IntegerType > -class gcd_evaluator -{ -public: - // Types - typedef IntegerType result_type, first_argument_type, second_argument_type; - - // Function object interface - result_type operator ()( first_argument_type const &a, - second_argument_type const &b ) const; - -}; // boost::math::gcd_evaluator - - -// Least common multiple evaluator class declaration -----------------------// - -template < typename IntegerType > -class lcm_evaluator -{ -public: - // Types - typedef IntegerType result_type, first_argument_type, second_argument_type; - - // Function object interface - result_type operator ()( first_argument_type const &a, - second_argument_type const &b ) const; - -}; // boost::math::lcm_evaluator - - -// Implementation details --------------------------------------------------// - -namespace detail -{ - // Greatest common divisor for rings (including unsigned integers) - template < typename RingType > - RingType - gcd_euclidean - ( - RingType a, - RingType b - ) - { - // Avoid repeated construction - #ifndef __BORLANDC__ - RingType const zero = static_cast( 0 ); - #else - RingType zero = static_cast( 0 ); - #endif - - // Reduce by GCD-remainder property [GCD(a,b) == GCD(b,a MOD b)] - while ( true ) - { - if ( a == zero ) - return b; - b %= a; - - if ( b == zero ) - return a; - a %= b; - } - } - - // Greatest common divisor for (signed) integers - template < typename IntegerType > - inline - IntegerType - gcd_integer - ( - IntegerType const & a, - IntegerType const & b - ) - { - // Avoid repeated construction - IntegerType const zero = static_cast( 0 ); - IntegerType const result = gcd_euclidean( a, b ); - - return ( result < zero ) ? static_cast(-result) : result; - } - - // Greatest common divisor for unsigned binary integers - template < typename BuiltInUnsigned > - BuiltInUnsigned - gcd_binary - ( - BuiltInUnsigned u, - BuiltInUnsigned v - ) - { - if ( u && v ) - { - // Shift out common factors of 2 - unsigned shifts = 0; - - while ( !(u & 1u) && !(v & 1u) ) - { - ++shifts; - u >>= 1; - v >>= 1; - } - - // Start with the still-even one, if any - BuiltInUnsigned r[] = { u, v }; - unsigned which = static_cast( u & 1u ); - - // Whittle down the values via their differences - do - { -#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582)) - while ( !(r[ which ] & 1u) ) - { - r[ which ] = (r[which] >> 1); - } -#else - // Remove factors of two from the even one - while ( !(r[ which ] & 1u) ) - { - r[ which ] >>= 1; - } -#endif - - // Replace the larger of the two with their difference - if ( r[!which] > r[which] ) - { - which ^= 1u; - } - - r[ which ] -= r[ !which ]; - } - while ( r[which] ); - - // Shift-in the common factor of 2 to the residues' GCD - return r[ !which ] << shifts; - } - else - { - // At least one input is zero, return the other - // (adding since zero is the additive identity) - // or zero if both are zero. - return u + v; - } - } - - // Least common multiple for rings (including unsigned integers) - template < typename RingType > - inline - RingType - lcm_euclidean - ( - RingType const & a, - RingType const & b - ) - { - RingType const zero = static_cast( 0 ); - RingType const temp = gcd_euclidean( a, b ); - - return ( temp != zero ) ? ( a / temp * b ) : zero; - } - - // Least common multiple for (signed) integers - template < typename IntegerType > - inline - IntegerType - lcm_integer - ( - IntegerType const & a, - IntegerType const & b - ) - { - // Avoid repeated construction - IntegerType const zero = static_cast( 0 ); - IntegerType const result = lcm_euclidean( a, b ); - - return ( result < zero ) ? static_cast(-result) : result; - } - - // Function objects to find the best way of computing GCD or LCM -#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS - template < typename T, bool IsSpecialized, bool IsSigned > - struct gcd_optimal_evaluator_helper_t - { - T operator ()( T const &a, T const &b ) - { - return gcd_euclidean( a, b ); - } - }; - - template < typename T > - struct gcd_optimal_evaluator_helper_t< T, true, true > - { - T operator ()( T const &a, T const &b ) - { - return gcd_integer( a, b ); - } - }; - - template < typename T > - struct gcd_optimal_evaluator - { - T operator ()( T const &a, T const &b ) - { - typedef ::std::numeric_limits limits_type; - - typedef gcd_optimal_evaluator_helper_t helper_type; - - helper_type solver; - - return solver( a, b ); - } - }; -#else // BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS - template < typename T > - struct gcd_optimal_evaluator - { - T operator ()( T const &a, T const &b ) - { - return gcd_integer( a, b ); - } - }; -#endif - - // Specialize for the built-in integers -#define BOOST_PRIVATE_GCD_UF( Ut ) \ - template < > struct gcd_optimal_evaluator \ - { Ut operator ()( Ut a, Ut b ) const { return gcd_binary( a, b ); } } - - BOOST_PRIVATE_GCD_UF( unsigned char ); - BOOST_PRIVATE_GCD_UF( unsigned short ); - BOOST_PRIVATE_GCD_UF( unsigned ); - BOOST_PRIVATE_GCD_UF( unsigned long ); - -#ifdef BOOST_HAS_LONG_LONG - BOOST_PRIVATE_GCD_UF( boost::ulong_long_type ); -#elif defined(BOOST_HAS_MS_INT64) - BOOST_PRIVATE_GCD_UF( unsigned __int64 ); -#endif - -#if CHAR_MIN == 0 - BOOST_PRIVATE_GCD_UF( char ); // char is unsigned -#endif - -#undef BOOST_PRIVATE_GCD_UF - -#define BOOST_PRIVATE_GCD_SF( St, Ut ) \ - template < > struct gcd_optimal_evaluator \ - { St operator ()( St a, St b ) const { Ut const a_abs = \ - static_cast( a < 0 ? -a : +a ), b_abs = static_cast( \ - b < 0 ? -b : +b ); return static_cast( \ - gcd_optimal_evaluator()(a_abs, b_abs) ); } } - - BOOST_PRIVATE_GCD_SF( signed char, unsigned char ); - BOOST_PRIVATE_GCD_SF( short, unsigned short ); - BOOST_PRIVATE_GCD_SF( int, unsigned ); - BOOST_PRIVATE_GCD_SF( long, unsigned long ); - -#if CHAR_MIN < 0 - BOOST_PRIVATE_GCD_SF( char, unsigned char ); // char is signed -#endif - -#ifdef BOOST_HAS_LONG_LONG - BOOST_PRIVATE_GCD_SF( boost::long_long_type, boost::ulong_long_type ); -#elif defined(BOOST_HAS_MS_INT64) - BOOST_PRIVATE_GCD_SF( __int64, unsigned __int64 ); -#endif - -#undef BOOST_PRIVATE_GCD_SF - -#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS - template < typename T, bool IsSpecialized, bool IsSigned > - struct lcm_optimal_evaluator_helper_t - { - T operator ()( T const &a, T const &b ) - { - return lcm_euclidean( a, b ); - } - }; - - template < typename T > - struct lcm_optimal_evaluator_helper_t< T, true, true > - { - T operator ()( T const &a, T const &b ) - { - return lcm_integer( a, b ); - } - }; - - template < typename T > - struct lcm_optimal_evaluator - { - T operator ()( T const &a, T const &b ) - { - typedef ::std::numeric_limits limits_type; - - typedef lcm_optimal_evaluator_helper_t helper_type; - - helper_type solver; - - return solver( a, b ); - } - }; -#else // BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS - template < typename T > - struct lcm_optimal_evaluator - { - T operator ()( T const &a, T const &b ) - { - return lcm_integer( a, b ); - } - }; -#endif - - // Functions to find the GCD or LCM in the best way - template < typename T > - inline - T - gcd_optimal - ( - T const & a, - T const & b - ) - { - gcd_optimal_evaluator solver; - - return solver( a, b ); - } - - template < typename T > - inline - T - lcm_optimal - ( - T const & a, - T const & b - ) - { - lcm_optimal_evaluator solver; - - return solver( a, b ); - } - -} // namespace detail - - -// Greatest common divisor evaluator member function definition ------------// - -template < typename IntegerType > -inline -typename gcd_evaluator::result_type -gcd_evaluator::operator () -( - first_argument_type const & a, - second_argument_type const & b -) const -{ - return detail::gcd_optimal( a, b ); -} - - -// Least common multiple evaluator member function definition --------------// - -template < typename IntegerType > -inline -typename lcm_evaluator::result_type -lcm_evaluator::operator () -( - first_argument_type const & a, - second_argument_type const & b -) const -{ - return detail::lcm_optimal( a, b ); -} - - -// Greatest common divisor and least common multiple function definitions --// - -template < typename IntegerType > -inline -IntegerType -gcd -( - IntegerType const & a, - IntegerType const & b -) -{ - gcd_evaluator solver; - - return solver( a, b ); -} - -template < typename IntegerType > -inline -IntegerType -lcm -( - IntegerType const & a, - IntegerType const & b -) -{ - lcm_evaluator solver; - - return solver( a, b ); -} - - -} // namespace math -} // namespace boost - -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#endif // BOOST_MATH_COMMON_FACTOR_RT_HPP diff --git a/bundled/boost-1.56.0/include/boost/math/constants/constants.hpp b/bundled/boost-1.56.0/include/boost/math/constants/constants.hpp deleted file mode 100644 index e9381adeb6..0000000000 --- a/bundled/boost-1.56.0/include/boost/math/constants/constants.hpp +++ /dev/null @@ -1,359 +0,0 @@ -// Copyright John Maddock 2005-2006, 2011. -// Copyright Paul A. Bristow 2006-2011. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_MATH_CONSTANTS_CONSTANTS_INCLUDED -#define BOOST_MATH_CONSTANTS_CONSTANTS_INCLUDED - -#include -#include -#include -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4127 4701) -#endif -#ifndef BOOST_MATH_NO_LEXICAL_CAST -#include -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif -#include -#include -#include -#include -#include - - -namespace boost{ namespace math -{ - namespace constants - { - // To permit other calculations at about 100 decimal digits with some UDT, - // it is obviously necessary to define constants to this accuracy. - - // However, some compilers do not accept decimal digits strings as long as this. - // So the constant is split into two parts, with the 1st containing at least - // long double precision, and the 2nd zero if not needed or known. - // The 3rd part permits an exponent to be provided if necessary (use zero if none) - - // the other two parameters may only contain decimal digits (and sign and decimal point), - // and may NOT include an exponent like 1.234E99. - // The second digit string is only used if T is a User-Defined Type, - // when the constant is converted to a long string literal and lexical_casted to type T. - // (This is necessary because you can't use a numeric constant - // since even a long double might not have enough digits). - - enum construction_method - { - construct_from_float = 1, - construct_from_double = 2, - construct_from_long_double = 3, - construct_from_string = 4, - construct_from_float128 = 5, - // Must be the largest value above: - construct_max = construct_from_float128 - }; - - // - // Traits class determines how to convert from string based on whether T has a constructor - // from const char* or not: - // - template - struct dummy_size{}; - - template - struct is_explicitly_convertible_from_string - { -#ifndef BOOST_NO_SFINAE_EXPR - template - static type_traits::yes_type selector(dummy_size(declval()))>*); - - template - static type_traits::no_type selector(...); - - static const bool value = sizeof(selector(0)) == sizeof(type_traits::yes_type); -#else - static const bool value = false; -#endif - }; - - // - // Max number of binary digits in the string representations - // of our constants: - // - BOOST_STATIC_CONSTANT(int, max_string_digits = (101 * 1000L) / 301L); - - template - struct construction_traits - { - private: - typedef typename policies::precision::type t1; - typedef typename policies::precision::type t2; - typedef typename policies::precision::type t3; - typedef typename policies::precision::type t4; -#ifdef BOOST_MATH_USE_FLOAT128 - typedef mpl::int_<113> t5; -#endif - public: - typedef typename mpl::if_< - mpl::and_, mpl::bool_< t1::value <= t2::value>, mpl::bool_<0 != t1::value> >, - mpl::int_, - typename mpl::if_< - mpl::and_, mpl::bool_< t1::value <= t3::value>, mpl::bool_<0 != t1::value> >, - mpl::int_, - typename mpl::if_< - mpl::and_, mpl::bool_< t1::value <= t4::value>, mpl::bool_<0 != t1::value> >, - mpl::int_, -#ifdef BOOST_MATH_USE_FLOAT128 - typename mpl::if_< - mpl::and_, mpl::bool_< t1::value <= t5::value>, mpl::bool_<0 != t1::value> >, - mpl::int_, - typename mpl::if_< - mpl::and_, mpl::bool_<0 != t1::value> >, - mpl::int_, - mpl::int_ - >::type - >::type -#else - typename mpl::if_< - mpl::and_, mpl::bool_<0 != t1::value> >, - mpl::int_, - mpl::int_ - >::type -#endif - >::type - >::type - >::type type; - }; - -#ifdef BOOST_HAS_THREADS -#define BOOST_MATH_CONSTANT_THREAD_HELPER(name, prefix) \ - boost::once_flag f = BOOST_ONCE_INIT;\ - boost::call_once(f, &BOOST_JOIN(BOOST_JOIN(string_, get_), name)); -#else -#define BOOST_MATH_CONSTANT_THREAD_HELPER(name, prefix) -#endif - - namespace detail{ - - template > - struct constant_return - { - typedef typename construction_traits::type construct_type; - typedef typename mpl::if_c< - (construct_type::value == construct_from_string) || (construct_type::value > construct_max), - const Real&, Real>::type type; - }; - - template - Real convert_from_string(const char* p, const mpl::false_&) - { -#ifdef BOOST_MATH_NO_LEXICAL_CAST - // This function should not compile, we don't have the necesary functionality to support it: - BOOST_STATIC_ASSERT(sizeof(Real) == 0); -#else - return boost::lexical_cast(p); -#endif - } - template - const char* convert_from_string(const char* p, const mpl::true_&) - { - return p; - } - - template - struct constant_initializer - { - static void force_instantiate() - { - init.force_instantiate(); - } - private: - struct initializer - { - initializer() - { - F(); - } - void force_instantiate()const{} - }; - static const initializer init; - }; - - template - typename constant_initializer::initializer const constant_initializer::init; - - template ) BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(T))> - struct constant_initializer2 - { - static void force_instantiate() - { - init.force_instantiate(); - } - private: - struct initializer - { - initializer() - { - F(); - } - void force_instantiate()const{} - }; - static const initializer init; - }; - - template ) BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(T))> - typename constant_initializer2::initializer const constant_initializer2::init; - - } - -#ifdef BOOST_MATH_USE_FLOAT128 -# define BOOST_MATH_FLOAT128_CONSTANT_OVERLOAD(x) \ - static inline BOOST_CONSTEXPR T get(const mpl::int_&)\ - { return BOOST_JOIN(x, Q); } -#else -# define BOOST_MATH_FLOAT128_CONSTANT_OVERLOAD(x) -#endif - -#define BOOST_DEFINE_MATH_CONSTANT(name, x, y)\ - namespace detail{\ - template struct BOOST_JOIN(constant_, name){\ - private:\ - /* The default implementations come next: */ \ - static inline const T& get_from_string()\ - {\ - typedef mpl::bool_::value || boost::math::constants::is_explicitly_convertible_from_string::value> tag_type;\ - static const T result(convert_from_string(y, tag_type()));\ - return result;\ - }\ - /* This one is for very high precision that is none the less known at compile time: */ \ - template static T compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_));\ - template static inline const T& get_from_compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_))\ - {\ - static const T result = compute();\ - return result;\ - }\ - /* public getters come next */\ - public:\ - static inline const T& get(const mpl::int_&)\ - {\ - constant_initializer::get_from_string >::force_instantiate();\ - return get_from_string();\ - }\ - static inline BOOST_CONSTEXPR T get(const mpl::int_)\ - { return BOOST_JOIN(x, F); }\ - static inline BOOST_CONSTEXPR T get(const mpl::int_&)\ - { return x; }\ - static inline BOOST_CONSTEXPR T get(const mpl::int_&)\ - { return BOOST_JOIN(x, L); }\ - BOOST_MATH_FLOAT128_CONSTANT_OVERLOAD(x) \ - template static inline const T& get(const mpl::int_&)\ - {\ - constant_initializer2::template get_from_compute >::force_instantiate();\ - return get_from_compute(); \ - }\ - /* This one is for true arbitary precision, which may well vary at runtime: */ \ - static inline T get(const mpl::int_<0>&)\ - { return tools::digits() > max_string_digits ? compute<0>() : get(mpl::int_()); }\ - }; /* end of struct */\ - } /* namespace detail */ \ - \ - \ - /* The actual forwarding function: */ \ - template inline BOOST_CONSTEXPR typename detail::constant_return::type name(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(T) BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(Policy))\ - { return detail:: BOOST_JOIN(constant_, name)::get(typename construction_traits::type()); }\ - template inline BOOST_CONSTEXPR typename detail::constant_return::type name(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(T))\ - { return name >(); }\ - \ - \ - /* Now the namespace specific versions: */ \ - } namespace float_constants{ static const float name = BOOST_JOIN(x, F); }\ - namespace double_constants{ static const double name = x; } \ - namespace long_double_constants{ static const long double name = BOOST_JOIN(x, L); }\ - namespace constants{ - - BOOST_DEFINE_MATH_CONSTANT(half, 5.000000000000000000000000000000000000e-01, "5.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e-01") - BOOST_DEFINE_MATH_CONSTANT(third, 3.333333333333333333333333333333333333e-01, "3.33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333e-01") - BOOST_DEFINE_MATH_CONSTANT(twothirds, 6.666666666666666666666666666666666666e-01, "6.66666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666667e-01") - BOOST_DEFINE_MATH_CONSTANT(two_thirds, 6.666666666666666666666666666666666666e-01, "6.66666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666667e-01") - BOOST_DEFINE_MATH_CONSTANT(three_quarters, 7.500000000000000000000000000000000000e-01, "7.50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e-01") - BOOST_DEFINE_MATH_CONSTANT(root_two, 1.414213562373095048801688724209698078e+00, "1.41421356237309504880168872420969807856967187537694807317667973799073247846210703885038753432764157273501384623e+00") - BOOST_DEFINE_MATH_CONSTANT(root_three, 1.732050807568877293527446341505872366e+00, "1.73205080756887729352744634150587236694280525381038062805580697945193301690880003708114618675724857567562614142e+00") - BOOST_DEFINE_MATH_CONSTANT(half_root_two, 7.071067811865475244008443621048490392e-01, "7.07106781186547524400844362104849039284835937688474036588339868995366239231053519425193767163820786367506923115e-01") - BOOST_DEFINE_MATH_CONSTANT(ln_two, 6.931471805599453094172321214581765680e-01, "6.93147180559945309417232121458176568075500134360255254120680009493393621969694715605863326996418687542001481021e-01") - BOOST_DEFINE_MATH_CONSTANT(ln_ln_two, -3.665129205816643270124391582326694694e-01, "-3.66512920581664327012439158232669469454263447837105263053677713670561615319352738549455822856698908358302523045e-01") - BOOST_DEFINE_MATH_CONSTANT(root_ln_four, 1.177410022515474691011569326459699637e+00, "1.17741002251547469101156932645969963774738568938582053852252575650002658854698492680841813836877081106747157858e+00") - BOOST_DEFINE_MATH_CONSTANT(one_div_root_two, 7.071067811865475244008443621048490392e-01, "7.07106781186547524400844362104849039284835937688474036588339868995366239231053519425193767163820786367506923115e-01") - BOOST_DEFINE_MATH_CONSTANT(pi, 3.141592653589793238462643383279502884e+00, "3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651e+00") - BOOST_DEFINE_MATH_CONSTANT(half_pi, 1.570796326794896619231321691639751442e+00, "1.57079632679489661923132169163975144209858469968755291048747229615390820314310449931401741267105853399107404326e+00") - BOOST_DEFINE_MATH_CONSTANT(third_pi, 1.047197551196597746154214461093167628e+00, "1.04719755119659774615421446109316762806572313312503527365831486410260546876206966620934494178070568932738269550e+00") - BOOST_DEFINE_MATH_CONSTANT(sixth_pi, 5.235987755982988730771072305465838140e-01, "5.23598775598298873077107230546583814032861566562517636829157432051302734381034833104672470890352844663691347752e-01") - BOOST_DEFINE_MATH_CONSTANT(two_pi, 6.283185307179586476925286766559005768e+00, "6.28318530717958647692528676655900576839433879875021164194988918461563281257241799725606965068423413596429617303e+00") - BOOST_DEFINE_MATH_CONSTANT(two_thirds_pi, 2.094395102393195492308428922186335256e+00, "2.09439510239319549230842892218633525613144626625007054731662972820521093752413933241868988356141137865476539101e+00") - BOOST_DEFINE_MATH_CONSTANT(three_quarters_pi, 2.356194490192344928846982537459627163e+00, "2.35619449019234492884698253745962716314787704953132936573120844423086230471465674897102611900658780098661106488e+00") - BOOST_DEFINE_MATH_CONSTANT(four_thirds_pi, 4.188790204786390984616857844372670512e+00, "4.18879020478639098461685784437267051226289253250014109463325945641042187504827866483737976712282275730953078202e+00") - BOOST_DEFINE_MATH_CONSTANT(one_div_two_pi, 1.591549430918953357688837633725143620e-01, "1.59154943091895335768883763372514362034459645740456448747667344058896797634226535090113802766253085956072842727e-01") - BOOST_DEFINE_MATH_CONSTANT(one_div_root_two_pi, 3.989422804014326779399460599343818684e-01, "3.98942280401432677939946059934381868475858631164934657665925829670657925899301838501252333907306936430302558863e-01") - BOOST_DEFINE_MATH_CONSTANT(root_pi, 1.772453850905516027298167483341145182e+00, "1.77245385090551602729816748334114518279754945612238712821380778985291128459103218137495065673854466541622682362e+00") - BOOST_DEFINE_MATH_CONSTANT(root_half_pi, 1.253314137315500251207882642405522626e+00, "1.25331413731550025120788264240552262650349337030496915831496178817114682730392098747329791918902863305800498633e+00") - BOOST_DEFINE_MATH_CONSTANT(root_two_pi, 2.506628274631000502415765284811045253e+00, "2.50662827463100050241576528481104525300698674060993831662992357634229365460784197494659583837805726611600997267e+00") - BOOST_DEFINE_MATH_CONSTANT(log_root_two_pi, 9.189385332046727417803297364056176398e-01, "9.18938533204672741780329736405617639861397473637783412817151540482765695927260397694743298635954197622005646625e-01") - BOOST_DEFINE_MATH_CONSTANT(one_div_root_pi, 5.641895835477562869480794515607725858e-01, "5.64189583547756286948079451560772585844050629328998856844085721710642468441493414486743660202107363443028347906e-01") - BOOST_DEFINE_MATH_CONSTANT(root_one_div_pi, 5.641895835477562869480794515607725858e-01, "5.64189583547756286948079451560772585844050629328998856844085721710642468441493414486743660202107363443028347906e-01") - BOOST_DEFINE_MATH_CONSTANT(pi_minus_three, 1.415926535897932384626433832795028841e-01, "1.41592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513e-01") - BOOST_DEFINE_MATH_CONSTANT(four_minus_pi, 8.584073464102067615373566167204971158e-01, "8.58407346410206761537356616720497115802830600624894179025055407692183593713791001371965174657882932017851913487e-01") - //BOOST_DEFINE_MATH_CONSTANT(pow23_four_minus_pi, 7.953167673715975443483953350568065807e-01, "7.95316767371597544348395335056806580727639173327713205445302234388856268267518187590758006888600828436839800178e-01") - BOOST_DEFINE_MATH_CONSTANT(pi_pow_e, 2.245915771836104547342715220454373502e+01, "2.24591577183610454734271522045437350275893151339966922492030025540669260403991179123185197527271430315314500731e+01") - BOOST_DEFINE_MATH_CONSTANT(pi_sqr, 9.869604401089358618834490999876151135e+00, "9.86960440108935861883449099987615113531369940724079062641334937622004482241920524300177340371855223182402591377e+00") - BOOST_DEFINE_MATH_CONSTANT(pi_sqr_div_six, 1.644934066848226436472415166646025189e+00, "1.64493406684822643647241516664602518921894990120679843773555822937000747040320087383362890061975870530400431896e+00") - BOOST_DEFINE_MATH_CONSTANT(pi_cubed, 3.100627668029982017547631506710139520e+01, "3.10062766802998201754763150671013952022252885658851076941445381038063949174657060375667010326028861930301219616e+01") - BOOST_DEFINE_MATH_CONSTANT(cbrt_pi, 1.464591887561523263020142527263790391e+00, "1.46459188756152326302014252726379039173859685562793717435725593713839364979828626614568206782035382089750397002e+00") - BOOST_DEFINE_MATH_CONSTANT(one_div_cbrt_pi, 6.827840632552956814670208331581645981e-01, "6.82784063255295681467020833158164598108367515632448804042681583118899226433403918237673501922595519865685577274e-01") - BOOST_DEFINE_MATH_CONSTANT(e, 2.718281828459045235360287471352662497e+00, "2.71828182845904523536028747135266249775724709369995957496696762772407663035354759457138217852516642742746639193e+00") - BOOST_DEFINE_MATH_CONSTANT(exp_minus_half, 6.065306597126334236037995349911804534e-01, "6.06530659712633423603799534991180453441918135487186955682892158735056519413748423998647611507989456026423789794e-01") - BOOST_DEFINE_MATH_CONSTANT(e_pow_pi, 2.314069263277926900572908636794854738e+01, "2.31406926327792690057290863679485473802661062426002119934450464095243423506904527835169719970675492196759527048e+01") - BOOST_DEFINE_MATH_CONSTANT(root_e, 1.648721270700128146848650787814163571e+00, "1.64872127070012814684865078781416357165377610071014801157507931164066102119421560863277652005636664300286663776e+00") - BOOST_DEFINE_MATH_CONSTANT(log10_e, 4.342944819032518276511289189166050822e-01, "4.34294481903251827651128918916605082294397005803666566114453783165864649208870774729224949338431748318706106745e-01") - BOOST_DEFINE_MATH_CONSTANT(one_div_log10_e, 2.302585092994045684017991454684364207e+00, "2.30258509299404568401799145468436420760110148862877297603332790096757260967735248023599720508959829834196778404e+00") - BOOST_DEFINE_MATH_CONSTANT(ln_ten, 2.302585092994045684017991454684364207e+00, "2.30258509299404568401799145468436420760110148862877297603332790096757260967735248023599720508959829834196778404e+00") - BOOST_DEFINE_MATH_CONSTANT(degree, 1.745329251994329576923690768488612713e-02, "1.74532925199432957692369076848861271344287188854172545609719144017100911460344944368224156963450948221230449251e-02") - BOOST_DEFINE_MATH_CONSTANT(radian, 5.729577951308232087679815481410517033e+01, "5.72957795130823208767981548141051703324054724665643215491602438612028471483215526324409689958511109441862233816e+01") - BOOST_DEFINE_MATH_CONSTANT(sin_one, 8.414709848078965066525023216302989996e-01, "8.41470984807896506652502321630298999622563060798371065672751709991910404391239668948639743543052695854349037908e-01") - BOOST_DEFINE_MATH_CONSTANT(cos_one, 5.403023058681397174009366074429766037e-01, "5.40302305868139717400936607442976603732310420617922227670097255381100394774471764517951856087183089343571731160e-01") - BOOST_DEFINE_MATH_CONSTANT(sinh_one, 1.175201193643801456882381850595600815e+00, "1.17520119364380145688238185059560081515571798133409587022956541301330756730432389560711745208962339184041953333e+00") - BOOST_DEFINE_MATH_CONSTANT(cosh_one, 1.543080634815243778477905620757061682e+00, "1.54308063481524377847790562075706168260152911236586370473740221471076906304922369896426472643554303558704685860e+00") - BOOST_DEFINE_MATH_CONSTANT(phi, 1.618033988749894848204586834365638117e+00, "1.61803398874989484820458683436563811772030917980576286213544862270526046281890244970720720418939113748475408808e+00") - BOOST_DEFINE_MATH_CONSTANT(ln_phi, 4.812118250596034474977589134243684231e-01, "4.81211825059603447497758913424368423135184334385660519661018168840163867608221774412009429122723474997231839958e-01") - BOOST_DEFINE_MATH_CONSTANT(one_div_ln_phi, 2.078086921235027537601322606117795767e+00, "2.07808692123502753760132260611779576774219226778328348027813992191974386928553540901445615414453604821933918634e+00") - BOOST_DEFINE_MATH_CONSTANT(euler, 5.772156649015328606065120900824024310e-01, "5.77215664901532860606512090082402431042159335939923598805767234884867726777664670936947063291746749514631447250e-01") - BOOST_DEFINE_MATH_CONSTANT(one_div_euler, 1.732454714600633473583025315860829681e+00, "1.73245471460063347358302531586082968115577655226680502204843613287065531408655243008832840219409928068072365714e+00") - BOOST_DEFINE_MATH_CONSTANT(euler_sqr, 3.331779238077186743183761363552442266e-01, "3.33177923807718674318376136355244226659417140249629743150833338002265793695756669661263268631715977303039565603e-01") - BOOST_DEFINE_MATH_CONSTANT(zeta_two, 1.644934066848226436472415166646025189e+00, "1.64493406684822643647241516664602518921894990120679843773555822937000747040320087383362890061975870530400431896e+00") - BOOST_DEFINE_MATH_CONSTANT(zeta_three, 1.202056903159594285399738161511449990e+00, "1.20205690315959428539973816151144999076498629234049888179227155534183820578631309018645587360933525814619915780e+00") - BOOST_DEFINE_MATH_CONSTANT(catalan, 9.159655941772190150546035149323841107e-01, "9.15965594177219015054603514932384110774149374281672134266498119621763019776254769479356512926115106248574422619e-01") - BOOST_DEFINE_MATH_CONSTANT(glaisher, 1.282427129100622636875342568869791727e+00, "1.28242712910062263687534256886979172776768892732500119206374002174040630885882646112973649195820237439420646120e+00") - BOOST_DEFINE_MATH_CONSTANT(khinchin, 2.685452001065306445309714835481795693e+00, "2.68545200106530644530971483548179569382038229399446295305115234555721885953715200280114117493184769799515346591e+00") - BOOST_DEFINE_MATH_CONSTANT(extreme_value_skewness, 1.139547099404648657492793019389846112e+00, "1.13954709940464865749279301938984611208759979583655182472165571008524800770607068570718754688693851501894272049e+00") - BOOST_DEFINE_MATH_CONSTANT(rayleigh_skewness, 6.311106578189371381918993515442277798e-01, "6.31110657818937138191899351544227779844042203134719497658094585692926819617473725459905027032537306794400047264e-01") - BOOST_DEFINE_MATH_CONSTANT(rayleigh_kurtosis, 3.245089300687638062848660410619754415e+00, "3.24508930068763806284866041061975441541706673178920936177133764493367904540874159051490619368679348977426462633e+00") - BOOST_DEFINE_MATH_CONSTANT(rayleigh_kurtosis_excess, 2.450893006876380628486604106197544154e-01, "2.45089300687638062848660410619754415417066731789209361771337644933679045408741590514906193686793489774264626328e-01") - - BOOST_DEFINE_MATH_CONSTANT(two_div_pi, 6.366197723675813430755350534900574481e-01, "6.36619772367581343075535053490057448137838582961825794990669376235587190536906140360455211065012343824291370907e-01") - BOOST_DEFINE_MATH_CONSTANT(root_two_div_pi, 7.978845608028653558798921198687637369e-01, "7.97884560802865355879892119868763736951717262329869315331851659341315851798603677002504667814613872860605117725e-01") - - -} // namespace constants -} // namespace math -} // namespace boost - -// -// We deliberately include this *after* all the declarations above, -// that way the calculation routines can call on other constants above: -// -#include - -#endif // BOOST_MATH_CONSTANTS_CONSTANTS_INCLUDED - - diff --git a/bundled/boost-1.56.0/include/boost/math/distributions/bernoulli.hpp b/bundled/boost-1.56.0/include/boost/math/distributions/bernoulli.hpp deleted file mode 100644 index 1355eda229..0000000000 --- a/bundled/boost-1.56.0/include/boost/math/distributions/bernoulli.hpp +++ /dev/null @@ -1,336 +0,0 @@ -// boost\math\distributions\bernoulli.hpp - -// Copyright John Maddock 2006. -// Copyright Paul A. Bristow 2007. - -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt -// or copy at http://www.boost.org/LICENSE_1_0.txt) - -// http://en.wikipedia.org/wiki/bernoulli_distribution -// http://mathworld.wolfram.com/BernoulliDistribution.html - -// bernoulli distribution is the discrete probability distribution of -// the number (k) of successes, in a single Bernoulli trials. -// It is a version of the binomial distribution when n = 1. - -// But note that the bernoulli distribution -// (like others including the poisson, binomial & negative binomial) -// is strictly defined as a discrete function: only integral values of k are envisaged. -// However because of the method of calculation using a continuous gamma function, -// it is convenient to treat it as if a continous function, -// and permit non-integral values of k. -// To enforce the strict mathematical model, users should use floor or ceil functions -// on k outside this function to ensure that k is integral. - -#ifndef BOOST_MATH_SPECIAL_BERNOULLI_HPP -#define BOOST_MATH_SPECIAL_BERNOULLI_HPP - -#include -#include -#include // complements -#include // error checks -#include // isnan. - -#include - -namespace boost -{ - namespace math - { - namespace bernoulli_detail - { - // Common error checking routines for bernoulli distribution functions: - template - inline bool check_success_fraction(const char* function, const RealType& p, RealType* result, const Policy& /* pol */) - { - if(!(boost::math::isfinite)(p) || (p < 0) || (p > 1)) - { - *result = policies::raise_domain_error( - function, - "Success fraction argument is %1%, but must be >= 0 and <= 1 !", p, Policy()); - return false; - } - return true; - } - template - inline bool check_dist(const char* function, const RealType& p, RealType* result, const Policy& /* pol */, const mpl::true_&) - { - return check_success_fraction(function, p, result, Policy()); - } - template - inline bool check_dist(const char* , const RealType& , RealType* , const Policy& /* pol */, const mpl::false_&) - { - return true; - } - template - inline bool check_dist(const char* function, const RealType& p, RealType* result, const Policy& /* pol */) - { - return check_dist(function, p, result, Policy(), typename policies::constructor_error_check::type()); - } - - template - inline bool check_dist_and_k(const char* function, const RealType& p, RealType k, RealType* result, const Policy& pol) - { - if(check_dist(function, p, result, Policy(), typename policies::method_error_check::type()) == false) - { - return false; - } - if(!(boost::math::isfinite)(k) || !((k == 0) || (k == 1))) - { - *result = policies::raise_domain_error( - function, - "Number of successes argument is %1%, but must be 0 or 1 !", k, pol); - return false; - } - return true; - } - template - inline bool check_dist_and_prob(const char* function, RealType p, RealType prob, RealType* result, const Policy& /* pol */) - { - if(check_dist(function, p, result, Policy(), typename policies::method_error_check::type()) && detail::check_probability(function, prob, result, Policy()) == false) - { - return false; - } - return true; - } - } // namespace bernoulli_detail - - - template > - class bernoulli_distribution - { - public: - typedef RealType value_type; - typedef Policy policy_type; - - bernoulli_distribution(RealType p = 0.5) : m_p(p) - { // Default probability = half suits 'fair' coin tossing - // where probability of heads == probability of tails. - RealType result; // of checks. - bernoulli_detail::check_dist( - "boost::math::bernoulli_distribution<%1%>::bernoulli_distribution", - m_p, - &result, Policy()); - } // bernoulli_distribution constructor. - - RealType success_fraction() const - { // Probability. - return m_p; - } - - private: - RealType m_p; // success_fraction - }; // template class bernoulli_distribution - - typedef bernoulli_distribution bernoulli; - - template - inline const std::pair range(const bernoulli_distribution& /* dist */) - { // Range of permissible values for random variable k = {0, 1}. - using boost::math::tools::max_value; - return std::pair(static_cast(0), static_cast(1)); - } - - template - inline const std::pair support(const bernoulli_distribution& /* dist */) - { // Range of supported values for random variable k = {0, 1}. - // This is range where cdf rises from 0 to 1, and outside it, the pdf is zero. - return std::pair(static_cast(0), static_cast(1)); - } - - template - inline RealType mean(const bernoulli_distribution& dist) - { // Mean of bernoulli distribution = p (n = 1). - return dist.success_fraction(); - } // mean - - // Rely on dereived_accessors quantile(half) - //template - //inline RealType median(const bernoulli_distribution& dist) - //{ // Median of bernoulli distribution is not defined. - // return tools::domain_error(BOOST_CURRENT_FUNCTION, "Median is not implemented, result is %1%!", std::numeric_limits::quiet_NaN()); - //} // median - - template - inline RealType variance(const bernoulli_distribution& dist) - { // Variance of bernoulli distribution =p * q. - return dist.success_fraction() * (1 - dist.success_fraction()); - } // variance - - template - RealType pdf(const bernoulli_distribution& dist, const RealType& k) - { // Probability Density/Mass Function. - BOOST_FPU_EXCEPTION_GUARD - // Error check: - RealType result = 0; // of checks. - if(false == bernoulli_detail::check_dist_and_k( - "boost::math::pdf(bernoulli_distribution<%1%>, %1%)", - dist.success_fraction(), // 0 to 1 - k, // 0 or 1 - &result, Policy())) - { - return result; - } - // Assume k is integral. - if (k == 0) - { - return 1 - dist.success_fraction(); // 1 - p - } - else // k == 1 - { - return dist.success_fraction(); // p - } - } // pdf - - template - inline RealType cdf(const bernoulli_distribution& dist, const RealType& k) - { // Cumulative Distribution Function Bernoulli. - RealType p = dist.success_fraction(); - // Error check: - RealType result = 0; - if(false == bernoulli_detail::check_dist_and_k( - "boost::math::cdf(bernoulli_distribution<%1%>, %1%)", - p, - k, - &result, Policy())) - { - return result; - } - if (k == 0) - { - return 1 - p; - } - else - { // k == 1 - return 1; - } - } // bernoulli cdf - - template - inline RealType cdf(const complemented2_type, RealType>& c) - { // Complemented Cumulative Distribution Function bernoulli. - RealType const& k = c.param; - bernoulli_distribution const& dist = c.dist; - RealType p = dist.success_fraction(); - // Error checks: - RealType result = 0; - if(false == bernoulli_detail::check_dist_and_k( - "boost::math::cdf(bernoulli_distribution<%1%>, %1%)", - p, - k, - &result, Policy())) - { - return result; - } - if (k == 0) - { - return p; - } - else - { // k == 1 - return 0; - } - } // bernoulli cdf complement - - template - inline RealType quantile(const bernoulli_distribution& dist, const RealType& p) - { // Quantile or Percent Point Bernoulli function. - // Return the number of expected successes k either 0 or 1. - // for a given probability p. - - RealType result = 0; // of error checks: - if(false == bernoulli_detail::check_dist_and_prob( - "boost::math::quantile(bernoulli_distribution<%1%>, %1%)", - dist.success_fraction(), - p, - &result, Policy())) - { - return result; - } - if (p <= (1 - dist.success_fraction())) - { // p <= pdf(dist, 0) == cdf(dist, 0) - return 0; - } - else - { - return 1; - } - } // quantile - - template - inline RealType quantile(const complemented2_type, RealType>& c) - { // Quantile or Percent Point bernoulli function. - // Return the number of expected successes k for a given - // complement of the probability q. - // - // Error checks: - RealType q = c.param; - const bernoulli_distribution& dist = c.dist; - RealType result = 0; - if(false == bernoulli_detail::check_dist_and_prob( - "boost::math::quantile(bernoulli_distribution<%1%>, %1%)", - dist.success_fraction(), - q, - &result, Policy())) - { - return result; - } - - if (q <= 1 - dist.success_fraction()) - { // // q <= cdf(complement(dist, 0)) == pdf(dist, 0) - return 1; - } - else - { - return 0; - } - } // quantile complemented. - - template - inline RealType mode(const bernoulli_distribution& dist) - { - return static_cast((dist.success_fraction() <= 0.5) ? 0 : 1); // p = 0.5 can be 0 or 1 - } - - template - inline RealType skewness(const bernoulli_distribution& dist) - { - BOOST_MATH_STD_USING; // Aid ADL for sqrt. - RealType p = dist.success_fraction(); - return (1 - 2 * p) / sqrt(p * (1 - p)); - } - - template - inline RealType kurtosis_excess(const bernoulli_distribution& dist) - { - RealType p = dist.success_fraction(); - // Note Wolfram says this is kurtosis in text, but gamma2 is the kurtosis excess, - // and Wikipedia also says this is the kurtosis excess formula. - // return (6 * p * p - 6 * p + 1) / (p * (1 - p)); - // But Wolfram kurtosis article gives this simpler formula for kurtosis excess: - return 1 / (1 - p) + 1/p -6; - } - - template - inline RealType kurtosis(const bernoulli_distribution& dist) - { - RealType p = dist.success_fraction(); - return 1 / (1 - p) + 1/p -6 + 3; - // Simpler than: - // return (6 * p * p - 6 * p + 1) / (p * (1 - p)) + 3; - } - - } // namespace math -} // namespace boost - -// This include must be at the end, *after* the accessors -// for this distribution have been defined, in order to -// keep compilers that support two-phase lookup happy. -#include - -#endif // BOOST_MATH_SPECIAL_BERNOULLI_HPP - - - diff --git a/bundled/boost-1.56.0/include/boost/math/distributions/binomial.hpp b/bundled/boost-1.56.0/include/boost/math/distributions/binomial.hpp deleted file mode 100644 index a48c89c5b9..0000000000 --- a/bundled/boost-1.56.0/include/boost/math/distributions/binomial.hpp +++ /dev/null @@ -1,728 +0,0 @@ -// boost\math\distributions\binomial.hpp - -// Copyright John Maddock 2006. -// Copyright Paul A. Bristow 2007. - -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt -// or copy at http://www.boost.org/LICENSE_1_0.txt) - -// http://en.wikipedia.org/wiki/binomial_distribution - -// Binomial distribution is the discrete probability distribution of -// the number (k) of successes, in a sequence of -// n independent (yes or no, success or failure) Bernoulli trials. - -// It expresses the probability of a number of events occurring in a fixed time -// if these events occur with a known average rate (probability of success), -// and are independent of the time since the last event. - -// The number of cars that pass through a certain point on a road during a given period of time. -// The number of spelling mistakes a secretary makes while typing a single page. -// The number of phone calls at a call center per minute. -// The number of times a web server is accessed per minute. -// The number of light bulbs that burn out in a certain amount of time. -// The number of roadkill found per unit length of road - -// http://en.wikipedia.org/wiki/binomial_distribution - -// Given a sample of N measured values k[i], -// we wish to estimate the value of the parameter x (mean) -// of the binomial population from which the sample was drawn. -// To calculate the maximum likelihood value = 1/N sum i = 1 to N of k[i] - -// Also may want a function for EXACTLY k. - -// And probability that there are EXACTLY k occurrences is -// exp(-x) * pow(x, k) / factorial(k) -// where x is expected occurrences (mean) during the given interval. -// For example, if events occur, on average, every 4 min, -// and we are interested in number of events occurring in 10 min, -// then x = 10/4 = 2.5 - -// http://www.itl.nist.gov/div898/handbook/eda/section3/eda366i.htm - -// The binomial distribution is used when there are -// exactly two mutually exclusive outcomes of a trial. -// These outcomes are appropriately labeled "success" and "failure". -// The binomial distribution is used to obtain -// the probability of observing x successes in N trials, -// with the probability of success on a single trial denoted by p. -// The binomial distribution assumes that p is fixed for all trials. - -// P(x, p, n) = n!/(x! * (n-x)!) * p^x * (1-p)^(n-x) - -// http://mathworld.wolfram.com/BinomialCoefficient.html - -// The binomial coefficient (n; k) is the number of ways of picking -// k unordered outcomes from n possibilities, -// also known as a combination or combinatorial number. -// The symbols _nC_k and (n; k) are used to denote a binomial coefficient, -// and are sometimes read as "n choose k." -// (n; k) therefore gives the number of k-subsets possible out of a set of n distinct items. - -// For example: -// The 2-subsets of {1,2,3,4} are the six pairs {1,2}, {1,3}, {1,4}, {2,3}, {2,4}, and {3,4}, so (4; 2)==6. - -// http://functions.wolfram.com/GammaBetaErf/Binomial/ for evaluation. - -// But note that the binomial distribution -// (like others including the poisson, negative binomial & Bernoulli) -// is strictly defined as a discrete function: only integral values of k are envisaged. -// However because of the method of calculation using a continuous gamma function, -// it is convenient to treat it as if a continous function, -// and permit non-integral values of k. -// To enforce the strict mathematical model, users should use floor or ceil functions -// on k outside this function to ensure that k is integral. - -#ifndef BOOST_MATH_SPECIAL_BINOMIAL_HPP -#define BOOST_MATH_SPECIAL_BINOMIAL_HPP - -#include -#include // for incomplete beta. -#include // complements -#include // error checks -#include // error checks -#include // isnan. -#include // for root finding. - -#include - -namespace boost -{ - namespace math - { - - template - class binomial_distribution; - - namespace binomial_detail{ - // common error checking routines for binomial distribution functions: - template - inline bool check_N(const char* function, const RealType& N, RealType* result, const Policy& pol) - { - if((N < 0) || !(boost::math::isfinite)(N)) - { - *result = policies::raise_domain_error( - function, - "Number of Trials argument is %1%, but must be >= 0 !", N, pol); - return false; - } - return true; - } - template - inline bool check_success_fraction(const char* function, const RealType& p, RealType* result, const Policy& pol) - { - if((p < 0) || (p > 1) || !(boost::math::isfinite)(p)) - { - *result = policies::raise_domain_error( - function, - "Success fraction argument is %1%, but must be >= 0 and <= 1 !", p, pol); - return false; - } - return true; - } - template - inline bool check_dist(const char* function, const RealType& N, const RealType& p, RealType* result, const Policy& pol) - { - return check_success_fraction( - function, p, result, pol) - && check_N( - function, N, result, pol); - } - template - inline bool check_dist_and_k(const char* function, const RealType& N, const RealType& p, RealType k, RealType* result, const Policy& pol) - { - if(check_dist(function, N, p, result, pol) == false) - return false; - if((k < 0) || !(boost::math::isfinite)(k)) - { - *result = policies::raise_domain_error( - function, - "Number of Successes argument is %1%, but must be >= 0 !", k, pol); - return false; - } - if(k > N) - { - *result = policies::raise_domain_error( - function, - "Number of Successes argument is %1%, but must be <= Number of Trials !", k, pol); - return false; - } - return true; - } - template - inline bool check_dist_and_prob(const char* function, const RealType& N, RealType p, RealType prob, RealType* result, const Policy& pol) - { - if(check_dist(function, N, p, result, pol) && detail::check_probability(function, prob, result, pol) == false) - return false; - return true; - } - - template - T inverse_binomial_cornish_fisher(T n, T sf, T p, T q, const Policy& pol) - { - BOOST_MATH_STD_USING - // mean: - T m = n * sf; - // standard deviation: - T sigma = sqrt(n * sf * (1 - sf)); - // skewness - T sk = (1 - 2 * sf) / sigma; - // kurtosis: - // T k = (1 - 6 * sf * (1 - sf) ) / (n * sf * (1 - sf)); - // Get the inverse of a std normal distribution: - T x = boost::math::erfc_inv(p > q ? 2 * q : 2 * p, pol) * constants::root_two(); - // Set the sign: - if(p < 0.5) - x = -x; - T x2 = x * x; - // w is correction term due to skewness - T w = x + sk * (x2 - 1) / 6; - /* - // Add on correction due to kurtosis. - // Disabled for now, seems to make things worse? - // - if(n >= 10) - w += k * x * (x2 - 3) / 24 + sk * sk * x * (2 * x2 - 5) / -36; - */ - w = m + sigma * w; - if(w < tools::min_value()) - return sqrt(tools::min_value()); - if(w > n) - return n; - return w; - } - - template - RealType quantile_imp(const binomial_distribution& dist, const RealType& p, const RealType& q, bool comp) - { // Quantile or Percent Point Binomial function. - // Return the number of expected successes k, - // for a given probability p. - // - // Error checks: - BOOST_MATH_STD_USING // ADL of std names - RealType result = 0; - RealType trials = dist.trials(); - RealType success_fraction = dist.success_fraction(); - if(false == binomial_detail::check_dist_and_prob( - "boost::math::quantile(binomial_distribution<%1%> const&, %1%)", - trials, - success_fraction, - p, - &result, Policy())) - { - return result; - } - - // Special cases: - // - if(p == 0) - { // There may actually be no answer to this question, - // since the probability of zero successes may be non-zero, - // but zero is the best we can do: - return 0; - } - if(p == 1) - { // Probability of n or fewer successes is always one, - // so n is the most sensible answer here: - return trials; - } - if (p <= pow(1 - success_fraction, trials)) - { // p <= pdf(dist, 0) == cdf(dist, 0) - return 0; // So the only reasonable result is zero. - } // And root finder would fail otherwise. - if(success_fraction == 1) - { // our formulae break down in this case: - return p > 0.5f ? trials : 0; - } - - // Solve for quantile numerically: - // - RealType guess = binomial_detail::inverse_binomial_cornish_fisher(trials, success_fraction, p, q, Policy()); - RealType factor = 8; - if(trials > 100) - factor = 1.01f; // guess is pretty accurate - else if((trials > 10) && (trials - 1 > guess) && (guess > 3)) - factor = 1.15f; // less accurate but OK. - else if(trials < 10) - { - // pretty inaccurate guess in this area: - if(guess > trials / 64) - { - guess = trials / 4; - factor = 2; - } - else - guess = trials / 1024; - } - else - factor = 2; // trials largish, but in far tails. - - typedef typename Policy::discrete_quantile_type discrete_quantile_type; - boost::uintmax_t max_iter = policies::get_max_root_iterations(); - return detail::inverse_discrete_quantile( - dist, - comp ? q : p, - comp, - guess, - factor, - RealType(1), - discrete_quantile_type(), - max_iter); - } // quantile - - } - - template > - class binomial_distribution - { - public: - typedef RealType value_type; - typedef Policy policy_type; - - binomial_distribution(RealType n = 1, RealType p = 0.5) : m_n(n), m_p(p) - { // Default n = 1 is the Bernoulli distribution - // with equal probability of 'heads' or 'tails. - RealType r; - binomial_detail::check_dist( - "boost::math::binomial_distribution<%1%>::binomial_distribution", - m_n, - m_p, - &r, Policy()); - } // binomial_distribution constructor. - - RealType success_fraction() const - { // Probability. - return m_p; - } - RealType trials() const - { // Total number of trials. - return m_n; - } - - enum interval_type{ - clopper_pearson_exact_interval, - jeffreys_prior_interval - }; - - // - // Estimation of the success fraction parameter. - // The best estimate is actually simply successes/trials, - // these functions are used - // to obtain confidence intervals for the success fraction. - // - static RealType find_lower_bound_on_p( - RealType trials, - RealType successes, - RealType probability, - interval_type t = clopper_pearson_exact_interval) - { - static const char* function = "boost::math::binomial_distribution<%1%>::find_lower_bound_on_p"; - // Error checks: - RealType result = 0; - if(false == binomial_detail::check_dist_and_k( - function, trials, RealType(0), successes, &result, Policy()) - && - binomial_detail::check_dist_and_prob( - function, trials, RealType(0), probability, &result, Policy())) - { return result; } - - if(successes == 0) - return 0; - - // NOTE!!! The Clopper Pearson formula uses "successes" not - // "successes+1" as usual to get the lower bound, - // see http://www.itl.nist.gov/div898/handbook/prc/section2/prc241.htm - return (t == clopper_pearson_exact_interval) ? ibeta_inv(successes, trials - successes + 1, probability, static_cast(0), Policy()) - : ibeta_inv(successes + 0.5f, trials - successes + 0.5f, probability, static_cast(0), Policy()); - } - static RealType find_upper_bound_on_p( - RealType trials, - RealType successes, - RealType probability, - interval_type t = clopper_pearson_exact_interval) - { - static const char* function = "boost::math::binomial_distribution<%1%>::find_upper_bound_on_p"; - // Error checks: - RealType result = 0; - if(false == binomial_detail::check_dist_and_k( - function, trials, RealType(0), successes, &result, Policy()) - && - binomial_detail::check_dist_and_prob( - function, trials, RealType(0), probability, &result, Policy())) - { return result; } - - if(trials == successes) - return 1; - - return (t == clopper_pearson_exact_interval) ? ibetac_inv(successes + 1, trials - successes, probability, static_cast(0), Policy()) - : ibetac_inv(successes + 0.5f, trials - successes + 0.5f, probability, static_cast(0), Policy()); - } - // Estimate number of trials parameter: - // - // "How many trials do I need to be P% sure of seeing k events?" - // or - // "How many trials can I have to be P% sure of seeing fewer than k events?" - // - static RealType find_minimum_number_of_trials( - RealType k, // number of events - RealType p, // success fraction - RealType alpha) // risk level - { - static const char* function = "boost::math::binomial_distribution<%1%>::find_minimum_number_of_trials"; - // Error checks: - RealType result = 0; - if(false == binomial_detail::check_dist_and_k( - function, k, p, k, &result, Policy()) - && - binomial_detail::check_dist_and_prob( - function, k, p, alpha, &result, Policy())) - { return result; } - - result = ibetac_invb(k + 1, p, alpha, Policy()); // returns n - k - return result + k; - } - - static RealType find_maximum_number_of_trials( - RealType k, // number of events - RealType p, // success fraction - RealType alpha) // risk level - { - static const char* function = "boost::math::binomial_distribution<%1%>::find_maximum_number_of_trials"; - // Error checks: - RealType result = 0; - if(false == binomial_detail::check_dist_and_k( - function, k, p, k, &result, Policy()) - && - binomial_detail::check_dist_and_prob( - function, k, p, alpha, &result, Policy())) - { return result; } - - result = ibeta_invb(k + 1, p, alpha, Policy()); // returns n - k - return result + k; - } - - private: - RealType m_n; // Not sure if this shouldn't be an int? - RealType m_p; // success_fraction - }; // template class binomial_distribution - - typedef binomial_distribution<> binomial; - // typedef binomial_distribution binomial; - // IS now included since no longer a name clash with function binomial. - //typedef binomial_distribution binomial; // Reserved name of type double. - - template - const std::pair range(const binomial_distribution& dist) - { // Range of permissible values for random variable k. - using boost::math::tools::max_value; - return std::pair(static_cast(0), dist.trials()); - } - - template - const std::pair support(const binomial_distribution& dist) - { // Range of supported values for random variable k. - // This is range where cdf rises from 0 to 1, and outside it, the pdf is zero. - return std::pair(static_cast(0), dist.trials()); - } - - template - inline RealType mean(const binomial_distribution& dist) - { // Mean of Binomial distribution = np. - return dist.trials() * dist.success_fraction(); - } // mean - - template - inline RealType variance(const binomial_distribution& dist) - { // Variance of Binomial distribution = np(1-p). - return dist.trials() * dist.success_fraction() * (1 - dist.success_fraction()); - } // variance - - template - RealType pdf(const binomial_distribution& dist, const RealType& k) - { // Probability Density/Mass Function. - BOOST_FPU_EXCEPTION_GUARD - - BOOST_MATH_STD_USING // for ADL of std functions - - RealType n = dist.trials(); - - // Error check: - RealType result = 0; // initialization silences some compiler warnings - if(false == binomial_detail::check_dist_and_k( - "boost::math::pdf(binomial_distribution<%1%> const&, %1%)", - n, - dist.success_fraction(), - k, - &result, Policy())) - { - return result; - } - - // Special cases of success_fraction, regardless of k successes and regardless of n trials. - if (dist.success_fraction() == 0) - { // probability of zero successes is 1: - return static_cast(k == 0 ? 1 : 0); - } - if (dist.success_fraction() == 1) - { // probability of n successes is 1: - return static_cast(k == n ? 1 : 0); - } - // k argument may be integral, signed, or unsigned, or floating point. - // If necessary, it has already been promoted from an integral type. - if (n == 0) - { - return 1; // Probability = 1 = certainty. - } - if (k == 0) - { // binomial coeffic (n 0) = 1, - // n ^ 0 = 1 - return pow(1 - dist.success_fraction(), n); - } - if (k == n) - { // binomial coeffic (n n) = 1, - // n ^ 0 = 1 - return pow(dist.success_fraction(), k); // * pow((1 - dist.success_fraction()), (n - k)) = 1 - } - - // Probability of getting exactly k successes - // if C(n, k) is the binomial coefficient then: - // - // f(k; n,p) = C(n, k) * p^k * (1-p)^(n-k) - // = (n!/(k!(n-k)!)) * p^k * (1-p)^(n-k) - // = (tgamma(n+1) / (tgamma(k+1)*tgamma(n-k+1))) * p^k * (1-p)^(n-k) - // = p^k (1-p)^(n-k) / (beta(k+1, n-k+1) * (n+1)) - // = ibeta_derivative(k+1, n-k+1, p) / (n+1) - // - using boost::math::ibeta_derivative; // a, b, x - return ibeta_derivative(k+1, n-k+1, dist.success_fraction(), Policy()) / (n+1); - - } // pdf - - template - inline RealType cdf(const binomial_distribution& dist, const RealType& k) - { // Cumulative Distribution Function Binomial. - // The random variate k is the number of successes in n trials. - // k argument may be integral, signed, or unsigned, or floating point. - // If necessary, it has already been promoted from an integral type. - - // Returns the sum of the terms 0 through k of the Binomial Probability Density/Mass: - // - // i=k - // -- ( n ) i n-i - // > | | p (1-p) - // -- ( i ) - // i=0 - - // The terms are not summed directly instead - // the incomplete beta integral is employed, - // according to the formula: - // P = I[1-p]( n-k, k+1). - // = 1 - I[p](k + 1, n - k) - - BOOST_MATH_STD_USING // for ADL of std functions - - RealType n = dist.trials(); - RealType p = dist.success_fraction(); - - // Error check: - RealType result = 0; - if(false == binomial_detail::check_dist_and_k( - "boost::math::cdf(binomial_distribution<%1%> const&, %1%)", - n, - p, - k, - &result, Policy())) - { - return result; - } - if (k == n) - { - return 1; - } - - // Special cases, regardless of k. - if (p == 0) - { // This need explanation: - // the pdf is zero for all cases except when k == 0. - // For zero p the probability of zero successes is one. - // Therefore the cdf is always 1: - // the probability of k or *fewer* successes is always 1 - // if there are never any successes! - return 1; - } - if (p == 1) - { // This is correct but needs explanation: - // when k = 1 - // all the cdf and pdf values are zero *except* when k == n, - // and that case has been handled above already. - return 0; - } - // - // P = I[1-p](n - k, k + 1) - // = 1 - I[p](k + 1, n - k) - // Use of ibetac here prevents cancellation errors in calculating - // 1-p if p is very small, perhaps smaller than machine epsilon. - // - // Note that we do not use a finite sum here, since the incomplete - // beta uses a finite sum internally for integer arguments, so - // we'll just let it take care of the necessary logic. - // - return ibetac(k + 1, n - k, p, Policy()); - } // binomial cdf - - template - inline RealType cdf(const complemented2_type, RealType>& c) - { // Complemented Cumulative Distribution Function Binomial. - // The random variate k is the number of successes in n trials. - // k argument may be integral, signed, or unsigned, or floating point. - // If necessary, it has already been promoted from an integral type. - - // Returns the sum of the terms k+1 through n of the Binomial Probability Density/Mass: - // - // i=n - // -- ( n ) i n-i - // > | | p (1-p) - // -- ( i ) - // i=k+1 - - // The terms are not summed directly instead - // the incomplete beta integral is employed, - // according to the formula: - // Q = 1 -I[1-p]( n-k, k+1). - // = I[p](k + 1, n - k) - - BOOST_MATH_STD_USING // for ADL of std functions - - RealType const& k = c.param; - binomial_distribution const& dist = c.dist; - RealType n = dist.trials(); - RealType p = dist.success_fraction(); - - // Error checks: - RealType result = 0; - if(false == binomial_detail::check_dist_and_k( - "boost::math::cdf(binomial_distribution<%1%> const&, %1%)", - n, - p, - k, - &result, Policy())) - { - return result; - } - - if (k == n) - { // Probability of greater than n successes is necessarily zero: - return 0; - } - - // Special cases, regardless of k. - if (p == 0) - { - // This need explanation: the pdf is zero for all - // cases except when k == 0. For zero p the probability - // of zero successes is one. Therefore the cdf is always - // 1: the probability of *more than* k successes is always 0 - // if there are never any successes! - return 0; - } - if (p == 1) - { - // This needs explanation, when p = 1 - // we always have n successes, so the probability - // of more than k successes is 1 as long as k < n. - // The k == n case has already been handled above. - return 1; - } - // - // Calculate cdf binomial using the incomplete beta function. - // Q = 1 -I[1-p](n - k, k + 1) - // = I[p](k + 1, n - k) - // Use of ibeta here prevents cancellation errors in calculating - // 1-p if p is very small, perhaps smaller than machine epsilon. - // - // Note that we do not use a finite sum here, since the incomplete - // beta uses a finite sum internally for integer arguments, so - // we'll just let it take care of the necessary logic. - // - return ibeta(k + 1, n - k, p, Policy()); - } // binomial cdf - - template - inline RealType quantile(const binomial_distribution& dist, const RealType& p) - { - return binomial_detail::quantile_imp(dist, p, RealType(1-p), false); - } // quantile - - template - RealType quantile(const complemented2_type, RealType>& c) - { - return binomial_detail::quantile_imp(c.dist, RealType(1-c.param), c.param, true); - } // quantile - - template - inline RealType mode(const binomial_distribution& dist) - { - BOOST_MATH_STD_USING // ADL of std functions. - RealType p = dist.success_fraction(); - RealType n = dist.trials(); - return floor(p * (n + 1)); - } - - template - inline RealType median(const binomial_distribution& dist) - { // Bounds for the median of the negative binomial distribution - // VAN DE VEN R. ; WEBER N. C. ; - // Univ. Sydney, school mathematics statistics, Sydney N.S.W. 2006, AUSTRALIE - // Metrika (Metrika) ISSN 0026-1335 CODEN MTRKA8 - // 1993, vol. 40, no3-4, pp. 185-189 (4 ref.) - - // Bounds for median and 50 percetage point of binomial and negative binomial distribution - // Metrika, ISSN 0026-1335 (Print) 1435-926X (Online) - // Volume 41, Number 1 / December, 1994, DOI 10.1007/BF01895303 - BOOST_MATH_STD_USING // ADL of std functions. - RealType p = dist.success_fraction(); - RealType n = dist.trials(); - // Wikipedia says one of floor(np) -1, floor (np), floor(np) +1 - return floor(p * n); // Chose the middle value. - } - - template - inline RealType skewness(const binomial_distribution& dist) - { - BOOST_MATH_STD_USING // ADL of std functions. - RealType p = dist.success_fraction(); - RealType n = dist.trials(); - return (1 - 2 * p) / sqrt(n * p * (1 - p)); - } - - template - inline RealType kurtosis(const binomial_distribution& dist) - { - RealType p = dist.success_fraction(); - RealType n = dist.trials(); - return 3 - 6 / n + 1 / (n * p * (1 - p)); - } - - template - inline RealType kurtosis_excess(const binomial_distribution& dist) - { - RealType p = dist.success_fraction(); - RealType q = 1 - p; - RealType n = dist.trials(); - return (1 - 6 * p * q) / (n * p * q); - } - - } // namespace math - } // namespace boost - -// This include must be at the end, *after* the accessors -// for this distribution have been defined, in order to -// keep compilers that support two-phase lookup happy. -#include - -#endif // BOOST_MATH_SPECIAL_BINOMIAL_HPP - - diff --git a/bundled/boost-1.56.0/include/boost/math/distributions/detail/hypergeometric_quantile.hpp b/bundled/boost-1.56.0/include/boost/math/distributions/detail/hypergeometric_quantile.hpp deleted file mode 100644 index a855a4a777..0000000000 --- a/bundled/boost-1.56.0/include/boost/math/distributions/detail/hypergeometric_quantile.hpp +++ /dev/null @@ -1,199 +0,0 @@ -// Copyright 2008 John Maddock -// -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt -// or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_MATH_DISTRIBUTIONS_DETAIL_HG_QUANTILE_HPP -#define BOOST_MATH_DISTRIBUTIONS_DETAIL_HG_QUANTILE_HPP - -#include -#include - -namespace boost{ namespace math{ namespace detail{ - -template -inline unsigned round_x_from_p(unsigned x, T p, T cum, T fudge_factor, unsigned lbound, unsigned /*ubound*/, const policies::discrete_quantile&) -{ - if((p < cum * fudge_factor) && (x != lbound)) - { - BOOST_MATH_INSTRUMENT_VARIABLE(x-1); - return --x; - } - return x; -} - -template -inline unsigned round_x_from_p(unsigned x, T p, T cum, T fudge_factor, unsigned /*lbound*/, unsigned ubound, const policies::discrete_quantile&) -{ - if((cum < p * fudge_factor) && (x != ubound)) - { - BOOST_MATH_INSTRUMENT_VARIABLE(x+1); - return ++x; - } - return x; -} - -template -inline unsigned round_x_from_p(unsigned x, T p, T cum, T fudge_factor, unsigned lbound, unsigned ubound, const policies::discrete_quantile&) -{ - if(p >= 0.5) - return round_x_from_p(x, p, cum, fudge_factor, lbound, ubound, policies::discrete_quantile()); - return round_x_from_p(x, p, cum, fudge_factor, lbound, ubound, policies::discrete_quantile()); -} - -template -inline unsigned round_x_from_p(unsigned x, T p, T cum, T fudge_factor, unsigned lbound, unsigned ubound, const policies::discrete_quantile&) -{ - if(p >= 0.5) - return round_x_from_p(x, p, cum, fudge_factor, lbound, ubound, policies::discrete_quantile()); - return round_x_from_p(x, p, cum, fudge_factor, lbound, ubound, policies::discrete_quantile()); -} - -template -inline unsigned round_x_from_p(unsigned x, T /*p*/, T /*cum*/, T /*fudge_factor*/, unsigned /*lbound*/, unsigned /*ubound*/, const policies::discrete_quantile&) -{ - return x; -} - -template -inline unsigned round_x_from_q(unsigned x, T q, T cum, T fudge_factor, unsigned lbound, unsigned /*ubound*/, const policies::discrete_quantile&) -{ - if((q * fudge_factor > cum) && (x != lbound)) - { - BOOST_MATH_INSTRUMENT_VARIABLE(x-1); - return --x; - } - return x; -} - -template -inline unsigned round_x_from_q(unsigned x, T q, T cum, T fudge_factor, unsigned /*lbound*/, unsigned ubound, const policies::discrete_quantile&) -{ - if((q < cum * fudge_factor) && (x != ubound)) - { - BOOST_MATH_INSTRUMENT_VARIABLE(x+1); - return ++x; - } - return x; -} - -template -inline unsigned round_x_from_q(unsigned x, T q, T cum, T fudge_factor, unsigned lbound, unsigned ubound, const policies::discrete_quantile&) -{ - if(q < 0.5) - return round_x_from_q(x, q, cum, fudge_factor, lbound, ubound, policies::discrete_quantile()); - return round_x_from_q(x, q, cum, fudge_factor, lbound, ubound, policies::discrete_quantile()); -} - -template -inline unsigned round_x_from_q(unsigned x, T q, T cum, T fudge_factor, unsigned lbound, unsigned ubound, const policies::discrete_quantile&) -{ - if(q >= 0.5) - return round_x_from_q(x, q, cum, fudge_factor, lbound, ubound, policies::discrete_quantile()); - return round_x_from_q(x, q, cum, fudge_factor, lbound, ubound, policies::discrete_quantile()); -} - -template -inline unsigned round_x_from_q(unsigned x, T /*q*/, T /*cum*/, T /*fudge_factor*/, unsigned /*lbound*/, unsigned /*ubound*/, const policies::discrete_quantile&) -{ - return x; -} - -template -unsigned hypergeometric_quantile_imp(T p, T q, unsigned r, unsigned n, unsigned N, const Policy& pol) -{ -#ifdef BOOST_MSVC -# pragma warning(push) -# pragma warning(disable:4267) -#endif - typedef typename Policy::discrete_quantile_type discrete_quantile_type; - BOOST_MATH_STD_USING - BOOST_FPU_EXCEPTION_GUARD - T result; - T fudge_factor = 1 + tools::epsilon() * ((N <= boost::math::prime(boost::math::max_prime - 1)) ? 50 : 2 * N); - unsigned base = static_cast((std::max)(0, (int)(n + r) - (int)(N))); - unsigned lim = (std::min)(r, n); - - BOOST_MATH_INSTRUMENT_VARIABLE(p); - BOOST_MATH_INSTRUMENT_VARIABLE(q); - BOOST_MATH_INSTRUMENT_VARIABLE(r); - BOOST_MATH_INSTRUMENT_VARIABLE(n); - BOOST_MATH_INSTRUMENT_VARIABLE(N); - BOOST_MATH_INSTRUMENT_VARIABLE(fudge_factor); - BOOST_MATH_INSTRUMENT_VARIABLE(base); - BOOST_MATH_INSTRUMENT_VARIABLE(lim); - - if(p <= 0.5) - { - unsigned x = base; - result = hypergeometric_pdf(x, r, n, N, pol); - T diff = result; - while(result < p) - { - diff = (diff > tools::min_value() * 8) - ? T(n - x) * T(r - x) * diff / (T(x + 1) * T(N + x + 1 - n - r)) - : hypergeometric_pdf(x + 1, r, n, N, pol); - if(result + diff / 2 > p) - break; - ++x; - result += diff; -#ifdef BOOST_MATH_INSTRUMENT - if(diff != 0) - { - BOOST_MATH_INSTRUMENT_VARIABLE(x); - BOOST_MATH_INSTRUMENT_VARIABLE(diff); - BOOST_MATH_INSTRUMENT_VARIABLE(result); - } -#endif - } - return round_x_from_p(x, p, result, fudge_factor, base, lim, discrete_quantile_type()); - } - else - { - unsigned x = lim; - result = 0; - T diff = hypergeometric_pdf(x, r, n, N, pol); - while(result + diff / 2 < q) - { - result += diff; - diff = (diff > tools::min_value() * 8) - ? x * T(N + x - n - r) * diff / (T(1 + n - x) * T(1 + r - x)) - : hypergeometric_pdf(x - 1, r, n, N, pol); - --x; -#ifdef BOOST_MATH_INSTRUMENT - if(diff != 0) - { - BOOST_MATH_INSTRUMENT_VARIABLE(x); - BOOST_MATH_INSTRUMENT_VARIABLE(diff); - BOOST_MATH_INSTRUMENT_VARIABLE(result); - } -#endif - } - return round_x_from_q(x, q, result, fudge_factor, base, lim, discrete_quantile_type()); - } -#ifdef BOOST_MSVC -# pragma warning(pop) -#endif -} - -template -inline unsigned hypergeometric_quantile(T p, T q, unsigned r, unsigned n, unsigned N, const Policy&) -{ - BOOST_FPU_EXCEPTION_GUARD - typedef typename tools::promote_args::type result_type; - typedef typename policies::evaluation::type value_type; - typedef typename policies::normalise< - Policy, - policies::promote_float, - policies::promote_double, - policies::assert_undefined<> >::type forwarding_policy; - - return detail::hypergeometric_quantile_imp(p, q, r, n, N, forwarding_policy()); -} - -}}} // namespaces - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/math/distributions/fwd.hpp b/bundled/boost-1.56.0/include/boost/math/distributions/fwd.hpp deleted file mode 100644 index 609dc3b563..0000000000 --- a/bundled/boost-1.56.0/include/boost/math/distributions/fwd.hpp +++ /dev/null @@ -1,146 +0,0 @@ -// fwd.hpp Forward declarations of Boost.Math distributions. - -// Copyright Paul A. Bristow 2007, 2010, 2012. -// Copyright John Maddock 2007. - -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt -// or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_MATH_DISTRIBUTIONS_FWD_HPP -#define BOOST_MATH_DISTRIBUTIONS_FWD_HPP - -// 31 distributions at Boost 1.52 - -namespace boost{ namespace math{ - -template -class bernoulli_distribution; - -template -class beta_distribution; - -template -class binomial_distribution; - -template -class cauchy_distribution; - -template -class chi_squared_distribution; - -template -class exponential_distribution; - -template -class extreme_value_distribution; - -template -class fisher_f_distribution; - -template -class gamma_distribution; - -template -class geometric_distribution; - -template -class hypergeometric_distribution; - -template -class inverse_chi_squared_distribution; - -template -class inverse_gamma_distribution; - -template -class inverse_gaussian_distribution; - -template -class laplace_distribution; - -template -class logistic_distribution; - -template -class lognormal_distribution; - -template -class negative_binomial_distribution; - -template -class non_central_beta_distribution; - -template -class non_central_chi_squared_distribution; - -template -class non_central_f_distribution; - -template -class non_central_t_distribution; - -template -class normal_distribution; - -template -class pareto_distribution; - -template -class poisson_distribution; - -template -class rayleigh_distribution; - -template -class skew_normal_distribution; - -template -class students_t_distribution; - -template -class triangular_distribution; - -template -class uniform_distribution; - -template -class weibull_distribution; - -}} // namespaces - -#define BOOST_MATH_DECLARE_DISTRIBUTIONS(Type, Policy)\ - typedef boost::math::bernoulli_distribution bernoulli;\ - typedef boost::math::beta_distribution beta;\ - typedef boost::math::binomial_distribution binomial;\ - typedef boost::math::cauchy_distribution cauchy;\ - typedef boost::math::chi_squared_distribution chi_squared;\ - typedef boost::math::exponential_distribution exponential;\ - typedef boost::math::extreme_value_distribution extreme_value;\ - typedef boost::math::fisher_f_distribution fisher_f;\ - typedef boost::math::gamma_distribution gamma;\ - typedef boost::math::geometric_distribution geometric;\ - typedef boost::math::hypergeometric_distribution hypergeometric;\ - typedef boost::math::inverse_chi_squared_distribution inverse_chi_squared;\ - typedef boost::math::inverse_gaussian_distribution inverse_gaussian;\ - typedef boost::math::inverse_gamma_distribution inverse_gamma;\ - typedef boost::math::laplace_distribution laplace;\ - typedef boost::math::logistic_distribution logistic;\ - typedef boost::math::lognormal_distribution lognormal;\ - typedef boost::math::negative_binomial_distribution negative_binomial;\ - typedef boost::math::non_central_beta_distribution non_central_beta;\ - typedef boost::math::non_central_chi_squared_distribution non_central_chi_squared;\ - typedef boost::math::non_central_f_distribution non_central_f;\ - typedef boost::math::non_central_t_distribution non_central_t;\ - typedef boost::math::normal_distribution normal;\ - typedef boost::math::pareto_distribution pareto;\ - typedef boost::math::poisson_distribution poisson;\ - typedef boost::math::rayleigh_distribution rayleigh;\ - typedef boost::math::skew_normal_distribution skew_normal;\ - typedef boost::math::students_t_distribution students_t;\ - typedef boost::math::triangular_distribution triangular;\ - typedef boost::math::uniform_distribution uniform;\ - typedef boost::math::weibull_distribution weibull; - -#endif // BOOST_MATH_DISTRIBUTIONS_FWD_HPP diff --git a/bundled/boost-1.56.0/include/boost/math/distributions/triangular.hpp b/bundled/boost-1.56.0/include/boost/math/distributions/triangular.hpp deleted file mode 100644 index 78ef0df744..0000000000 --- a/bundled/boost-1.56.0/include/boost/math/distributions/triangular.hpp +++ /dev/null @@ -1,523 +0,0 @@ -// Copyright John Maddock 2006, 2007. -// Copyright Paul A. Bristow 2006, 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_STATS_TRIANGULAR_HPP -#define BOOST_STATS_TRIANGULAR_HPP - -// http://mathworld.wolfram.com/TriangularDistribution.html -// http://en.wikipedia.org/wiki/Triangular_distribution - -#include -#include -#include -#include -#include - -#include - -namespace boost{ namespace math -{ - namespace detail - { - template - inline bool check_triangular_lower( - const char* function, - RealType lower, - RealType* result, const Policy& pol) - { - if((boost::math::isfinite)(lower)) - { // Any finite value is OK. - return true; - } - else - { // Not finite: infinity or NaN. - *result = policies::raise_domain_error( - function, - "Lower parameter is %1%, but must be finite!", lower, pol); - return false; - } - } // bool check_triangular_lower( - - template - inline bool check_triangular_mode( - const char* function, - RealType mode, - RealType* result, const Policy& pol) - { - if((boost::math::isfinite)(mode)) - { // any finite value is OK. - return true; - } - else - { // Not finite: infinity or NaN. - *result = policies::raise_domain_error( - function, - "Mode parameter is %1%, but must be finite!", mode, pol); - return false; - } - } // bool check_triangular_mode( - - template - inline bool check_triangular_upper( - const char* function, - RealType upper, - RealType* result, const Policy& pol) - { - if((boost::math::isfinite)(upper)) - { // any finite value is OK. - return true; - } - else - { // Not finite: infinity or NaN. - *result = policies::raise_domain_error( - function, - "Upper parameter is %1%, but must be finite!", upper, pol); - return false; - } - } // bool check_triangular_upper( - - template - inline bool check_triangular_x( - const char* function, - RealType const& x, - RealType* result, const Policy& pol) - { - if((boost::math::isfinite)(x)) - { // Any finite value is OK - return true; - } - else - { // Not finite: infinity or NaN. - *result = policies::raise_domain_error( - function, - "x parameter is %1%, but must be finite!", x, pol); - return false; - } - } // bool check_triangular_x - - template - inline bool check_triangular( - const char* function, - RealType lower, - RealType mode, - RealType upper, - RealType* result, const Policy& pol) - { - if ((check_triangular_lower(function, lower, result, pol) == false) - || (check_triangular_mode(function, mode, result, pol) == false) - || (check_triangular_upper(function, upper, result, pol) == false)) - { // Some parameter not finite. - return false; - } - else if (lower >= upper) // lower == upper NOT useful. - { // lower >= upper. - *result = policies::raise_domain_error( - function, - "lower parameter is %1%, but must be less than upper!", lower, pol); - return false; - } - else - { // Check lower <= mode <= upper. - if (mode < lower) - { - *result = policies::raise_domain_error( - function, - "mode parameter is %1%, but must be >= than lower!", lower, pol); - return false; - } - if (mode > upper) - { - *result = policies::raise_domain_error( - function, - "mode parameter is %1%, but must be <= than upper!", upper, pol); - return false; - } - return true; // All OK. - } - } // bool check_triangular - } // namespace detail - - template > - class triangular_distribution - { - public: - typedef RealType value_type; - typedef Policy policy_type; - - triangular_distribution(RealType l_lower = -1, RealType l_mode = 0, RealType l_upper = 1) - : m_lower(l_lower), m_mode(l_mode), m_upper(l_upper) // Constructor. - { // Evans says 'standard triangular' is lower 0, mode 1/2, upper 1, - // has median sqrt(c/2) for c <=1/2 and 1 - sqrt(1-c)/2 for c >= 1/2 - // But this -1, 0, 1 is more useful in most applications to approximate normal distribution, - // where the central value is the most likely and deviations either side equally likely. - RealType result; - detail::check_triangular("boost::math::triangular_distribution<%1%>::triangular_distribution",l_lower, l_mode, l_upper, &result, Policy()); - } - // Accessor functions. - RealType lower()const - { - return m_lower; - } - RealType mode()const - { - return m_mode; - } - RealType upper()const - { - return m_upper; - } - private: - // Data members: - RealType m_lower; // distribution lower aka a - RealType m_mode; // distribution mode aka c - RealType m_upper; // distribution upper aka b - }; // class triangular_distribution - - typedef triangular_distribution triangular; - - template - inline const std::pair range(const triangular_distribution& /* dist */) - { // Range of permissible values for random variable x. - using boost::math::tools::max_value; - return std::pair(-max_value(), max_value()); - } - - template - inline const std::pair support(const triangular_distribution& dist) - { // Range of supported values for random variable x. - // This is range where cdf rises from 0 to 1, and outside it, the pdf is zero. - return std::pair(dist.lower(), dist.upper()); - } - - template - RealType pdf(const triangular_distribution& dist, const RealType& x) - { - static const char* function = "boost::math::pdf(const triangular_distribution<%1%>&, %1%)"; - RealType lower = dist.lower(); - RealType mode = dist.mode(); - RealType upper = dist.upper(); - RealType result = 0; // of checks. - if(false == detail::check_triangular(function, lower, mode, upper, &result, Policy())) - { - return result; - } - if(false == detail::check_triangular_x(function, x, &result, Policy())) - { - return result; - } - if((x < lower) || (x > upper)) - { - return 0; - } - if (x == lower) - { // (mode - lower) == 0 which would lead to divide by zero! - return (mode == lower) ? 2 / (upper - lower) : RealType(0); - } - else if (x == upper) - { - return (mode == upper) ? 2 / (upper - lower) : RealType(0); - } - else if (x <= mode) - { - return 2 * (x - lower) / ((upper - lower) * (mode - lower)); - } - else - { // (x > mode) - return 2 * (upper - x) / ((upper - lower) * (upper - mode)); - } - } // RealType pdf(const triangular_distribution& dist, const RealType& x) - - template - inline RealType cdf(const triangular_distribution& dist, const RealType& x) - { - static const char* function = "boost::math::cdf(const triangular_distribution<%1%>&, %1%)"; - RealType lower = dist.lower(); - RealType mode = dist.mode(); - RealType upper = dist.upper(); - RealType result = 0; // of checks. - if(false == detail::check_triangular(function, lower, mode, upper, &result, Policy())) - { - return result; - } - if(false == detail::check_triangular_x(function, x, &result, Policy())) - { - return result; - } - if((x <= lower)) - { - return 0; - } - if (x >= upper) - { - return 1; - } - // else lower < x < upper - if (x <= mode) - { - return ((x - lower) * (x - lower)) / ((upper - lower) * (mode - lower)); - } - else - { - return 1 - (upper - x) * (upper - x) / ((upper - lower) * (upper - mode)); - } - } // RealType cdf(const triangular_distribution& dist, const RealType& x) - - template - RealType quantile(const triangular_distribution& dist, const RealType& p) - { - BOOST_MATH_STD_USING // for ADL of std functions (sqrt). - static const char* function = "boost::math::quantile(const triangular_distribution<%1%>&, %1%)"; - RealType lower = dist.lower(); - RealType mode = dist.mode(); - RealType upper = dist.upper(); - RealType result = 0; // of checks - if(false == detail::check_triangular(function,lower, mode, upper, &result, Policy())) - { - return result; - } - if(false == detail::check_probability(function, p, &result, Policy())) - { - return result; - } - if(p == 0) - { - return lower; - } - if(p == 1) - { - return upper; - } - RealType p0 = (mode - lower) / (upper - lower); - RealType q = 1 - p; - if (p < p0) - { - result = sqrt((upper - lower) * (mode - lower) * p) + lower; - } - else if (p == p0) - { - result = mode; - } - else // p > p0 - { - result = upper - sqrt((upper - lower) * (upper - mode) * q); - } - return result; - - } // RealType quantile(const triangular_distribution& dist, const RealType& q) - - template - RealType cdf(const complemented2_type, RealType>& c) - { - static const char* function = "boost::math::cdf(const triangular_distribution<%1%>&, %1%)"; - RealType lower = c.dist.lower(); - RealType mode = c.dist.mode(); - RealType upper = c.dist.upper(); - RealType x = c.param; - RealType result = 0; // of checks. - if(false == detail::check_triangular(function, lower, mode, upper, &result, Policy())) - { - return result; - } - if(false == detail::check_triangular_x(function, x, &result, Policy())) - { - return result; - } - if (x <= lower) - { - return 1; - } - if (x >= upper) - { - return 0; - } - if (x <= mode) - { - return 1 - ((x - lower) * (x - lower)) / ((upper - lower) * (mode - lower)); - } - else - { - return (upper - x) * (upper - x) / ((upper - lower) * (upper - mode)); - } - } // RealType cdf(const complemented2_type, RealType>& c) - - template - RealType quantile(const complemented2_type, RealType>& c) - { - BOOST_MATH_STD_USING // Aid ADL for sqrt. - static const char* function = "boost::math::quantile(const triangular_distribution<%1%>&, %1%)"; - RealType l = c.dist.lower(); - RealType m = c.dist.mode(); - RealType u = c.dist.upper(); - RealType q = c.param; // probability 0 to 1. - RealType result = 0; // of checks. - if(false == detail::check_triangular(function, l, m, u, &result, Policy())) - { - return result; - } - if(false == detail::check_probability(function, q, &result, Policy())) - { - return result; - } - if(q == 0) - { - return u; - } - if(q == 1) - { - return l; - } - RealType lower = c.dist.lower(); - RealType mode = c.dist.mode(); - RealType upper = c.dist.upper(); - - RealType p = 1 - q; - RealType p0 = (mode - lower) / (upper - lower); - if(p < p0) - { - RealType s = (upper - lower) * (mode - lower); - s *= p; - result = sqrt((upper - lower) * (mode - lower) * p) + lower; - } - else if (p == p0) - { - result = mode; - } - else // p > p0 - { - result = upper - sqrt((upper - lower) * (upper - mode) * q); - } - return result; - } // RealType quantile(const complemented2_type, RealType>& c) - - template - inline RealType mean(const triangular_distribution& dist) - { - static const char* function = "boost::math::mean(const triangular_distribution<%1%>&)"; - RealType lower = dist.lower(); - RealType mode = dist.mode(); - RealType upper = dist.upper(); - RealType result = 0; // of checks. - if(false == detail::check_triangular(function, lower, mode, upper, &result, Policy())) - { - return result; - } - return (lower + upper + mode) / 3; - } // RealType mean(const triangular_distribution& dist) - - - template - inline RealType variance(const triangular_distribution& dist) - { - static const char* function = "boost::math::mean(const triangular_distribution<%1%>&)"; - RealType lower = dist.lower(); - RealType mode = dist.mode(); - RealType upper = dist.upper(); - RealType result = 0; // of checks. - if(false == detail::check_triangular(function, lower, mode, upper, &result, Policy())) - { - return result; - } - return (lower * lower + upper * upper + mode * mode - lower * upper - lower * mode - upper * mode) / 18; - } // RealType variance(const triangular_distribution& dist) - - template - inline RealType mode(const triangular_distribution& dist) - { - static const char* function = "boost::math::mode(const triangular_distribution<%1%>&)"; - RealType mode = dist.mode(); - RealType result = 0; // of checks. - if(false == detail::check_triangular_mode(function, mode, &result, Policy())) - { // This should never happen! - return result; - } - return mode; - } // RealType mode - - template - inline RealType median(const triangular_distribution& dist) - { - BOOST_MATH_STD_USING // ADL of std functions. - static const char* function = "boost::math::median(const triangular_distribution<%1%>&)"; - RealType mode = dist.mode(); - RealType result = 0; // of checks. - if(false == detail::check_triangular_mode(function, mode, &result, Policy())) - { // This should never happen! - return result; - } - RealType lower = dist.lower(); - RealType upper = dist.upper(); - if (mode < (upper - lower) / 2) - { - return lower + sqrt((upper - lower) * (mode - lower)) / constants::root_two(); - } - else - { - return upper - sqrt((upper - lower) * (upper - mode)) / constants::root_two(); - } - } // RealType mode - - template - inline RealType skewness(const triangular_distribution& dist) - { - BOOST_MATH_STD_USING // for ADL of std functions - using namespace boost::math::constants; // for root_two - static const char* function = "boost::math::skewness(const triangular_distribution<%1%>&)"; - - RealType lower = dist.lower(); - RealType mode = dist.mode(); - RealType upper = dist.upper(); - RealType result = 0; // of checks. - if(false == boost::math::detail::check_triangular(function,lower, mode, upper, &result, Policy())) - { - return result; - } - return root_two() * (lower + upper - 2 * mode) * (2 * lower - upper - mode) * (lower - 2 * upper + mode) / - (5 * pow((lower * lower + upper + upper + mode * mode - lower * upper - lower * mode - upper * mode), RealType(3)/RealType(2))); - } // RealType skewness(const triangular_distribution& dist) - - template - inline RealType kurtosis(const triangular_distribution& dist) - { // These checks may be belt and braces as should have been checked on construction? - static const char* function = "boost::math::kurtosis(const triangular_distribution<%1%>&)"; - RealType lower = dist.lower(); - RealType upper = dist.upper(); - RealType mode = dist.mode(); - RealType result = 0; // of checks. - if(false == detail::check_triangular(function,lower, mode, upper, &result, Policy())) - { - return result; - } - return static_cast(12)/5; // 12/5 = 2.4; - } // RealType kurtosis_excess(const triangular_distribution& dist) - - template - inline RealType kurtosis_excess(const triangular_distribution& dist) - { // These checks may be belt and braces as should have been checked on construction? - static const char* function = "boost::math::kurtosis_excess(const triangular_distribution<%1%>&)"; - RealType lower = dist.lower(); - RealType upper = dist.upper(); - RealType mode = dist.mode(); - RealType result = 0; // of checks. - if(false == detail::check_triangular(function,lower, mode, upper, &result, Policy())) - { - return result; - } - return static_cast(-3)/5; // - 3/5 = -0.6 - // Assuming mathworld really means kurtosis excess? Wikipedia now corrected to match this. - } - -} // namespace math -} // namespace boost - -// This include must be at the end, *after* the accessors -// for this distribution have been defined, in order to -// keep compilers that support two-phase lookup happy. -#include - -#endif // BOOST_STATS_TRIANGULAR_HPP - - - diff --git a/bundled/boost-1.56.0/include/boost/math/policies/error_handling.hpp b/bundled/boost-1.56.0/include/boost/math/policies/error_handling.hpp deleted file mode 100644 index 674759006e..0000000000 --- a/bundled/boost-1.56.0/include/boost/math/policies/error_handling.hpp +++ /dev/null @@ -1,805 +0,0 @@ -// Copyright John Maddock 2007. -// Copyright Paul A. Bristow 2007. - -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_MATH_POLICY_ERROR_HANDLING_HPP -#define BOOST_MATH_POLICY_ERROR_HANDLING_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifdef BOOST_MSVC -# pragma warning(push) // Quiet warnings in boost/format.hpp -# pragma warning(disable: 4996) // _SCL_SECURE_NO_DEPRECATE -# pragma warning(disable: 4512) // assignment operator could not be generated. -// And warnings in error handling: -# pragma warning(disable: 4702) // unreachable code. -// Note that this only occurs when the compiler can deduce code is unreachable, -// for example when policy macros are used to ignore errors rather than throw. -#endif -#include - -namespace boost{ namespace math{ - -class evaluation_error : public std::runtime_error -{ -public: - evaluation_error(const std::string& s) : std::runtime_error(s){} -}; - -class rounding_error : public std::runtime_error -{ -public: - rounding_error(const std::string& s) : std::runtime_error(s){} -}; - -namespace policies{ -// -// Forward declarations of user error handlers, -// it's up to the user to provide the definition of these: -// -template -T user_domain_error(const char* function, const char* message, const T& val); -template -T user_pole_error(const char* function, const char* message, const T& val); -template -T user_overflow_error(const char* function, const char* message, const T& val); -template -T user_underflow_error(const char* function, const char* message, const T& val); -template -T user_denorm_error(const char* function, const char* message, const T& val); -template -T user_evaluation_error(const char* function, const char* message, const T& val); -template -T user_rounding_error(const char* function, const char* message, const T& val, const TargetType& t); -template -T user_indeterminate_result_error(const char* function, const char* message, const T& val); - -namespace detail -{ -// -// Helper function to avoid binding rvalue to non-const-reference, -// in other words a warning suppression mechanism: -// -template -inline std::string do_format(Formatter f, const Group& g) -{ - return (f % g).str(); -} - -template -inline const char* name_of() -{ -#ifndef BOOST_NO_RTTI - return typeid(T).name(); -#else - return "unknown"; -#endif -} -template <> inline const char* name_of(){ return "float"; } -template <> inline const char* name_of(){ return "double"; } -template <> inline const char* name_of(){ return "long double"; } - -#ifdef BOOST_MATH_USE_FLOAT128 -template <> -inline const char* name_of() -{ - return "__float128"; -} -#endif - -template -void raise_error(const char* function, const char* message) -{ - if(function == 0) - function = "Unknown function operating on type %1%"; - if(message == 0) - message = "Cause unknown"; - - std::string msg("Error in function "); -#ifndef BOOST_NO_RTTI - msg += (boost::format(function) % boost::math::policies::detail::name_of()).str(); -#else - msg += function; -#endif - msg += ": "; - msg += message; - - E e(msg); - boost::throw_exception(e); -} - -template -void raise_error(const char* function, const char* message, const T& val) -{ - if(function == 0) - function = "Unknown function operating on type %1%"; - if(message == 0) - message = "Cause unknown: error caused by bad argument with value %1%"; - - std::string msg("Error in function "); -#ifndef BOOST_NO_RTTI - msg += (boost::format(function) % boost::math::policies::detail::name_of()).str(); -#else - msg += function; -#endif - msg += ": "; - msg += message; - - int prec = 2 + (boost::math::policies::digits >() * 30103UL) / 100000UL; - msg = do_format(boost::format(msg), boost::io::group(std::setprecision(prec), val)); - - E e(msg); - boost::throw_exception(e); -} - -template -inline T raise_domain_error( - const char* function, - const char* message, - const T& val, - const ::boost::math::policies::domain_error< ::boost::math::policies::throw_on_error>&) -{ - raise_error(function, message, val); - // we never get here: - return std::numeric_limits::quiet_NaN(); -} - -template -inline T raise_domain_error( - const char* , - const char* , - const T& , - const ::boost::math::policies::domain_error< ::boost::math::policies::ignore_error>&) -{ - // This may or may not do the right thing, but the user asked for the error - // to be ignored so here we go anyway: - return std::numeric_limits::quiet_NaN(); -} - -template -inline T raise_domain_error( - const char* , - const char* , - const T& , - const ::boost::math::policies::domain_error< ::boost::math::policies::errno_on_error>&) -{ - errno = EDOM; - // This may or may not do the right thing, but the user asked for the error - // to be silent so here we go anyway: - return std::numeric_limits::quiet_NaN(); -} - -template -inline T raise_domain_error( - const char* function, - const char* message, - const T& val, - const ::boost::math::policies::domain_error< ::boost::math::policies::user_error>&) -{ - return user_domain_error(function, message, val); -} - -template -inline T raise_pole_error( - const char* function, - const char* message, - const T& val, - const ::boost::math::policies::pole_error< ::boost::math::policies::throw_on_error>&) -{ - return boost::math::policies::detail::raise_domain_error(function, message, val, ::boost::math::policies::domain_error< ::boost::math::policies::throw_on_error>()); -} - -template -inline T raise_pole_error( - const char* function, - const char* message, - const T& val, - const ::boost::math::policies::pole_error< ::boost::math::policies::ignore_error>&) -{ - return ::boost::math::policies::detail::raise_domain_error(function, message, val, ::boost::math::policies::domain_error< ::boost::math::policies::ignore_error>()); -} - -template -inline T raise_pole_error( - const char* function, - const char* message, - const T& val, - const ::boost::math::policies::pole_error< ::boost::math::policies::errno_on_error>&) -{ - return ::boost::math::policies::detail::raise_domain_error(function, message, val, ::boost::math::policies::domain_error< ::boost::math::policies::errno_on_error>()); -} - -template -inline T raise_pole_error( - const char* function, - const char* message, - const T& val, - const ::boost::math::policies::pole_error< ::boost::math::policies::user_error>&) -{ - return user_pole_error(function, message, val); -} - - -template -inline T raise_overflow_error( - const char* function, - const char* message, - const ::boost::math::policies::overflow_error< ::boost::math::policies::throw_on_error>&) -{ - raise_error(function, message ? message : "numeric overflow"); - // We should never get here: - return std::numeric_limits::has_infinity ? std::numeric_limits::infinity() : boost::math::tools::max_value(); -} - -template -inline T raise_overflow_error( - const char* function, - const char* message, - const T& val, - const ::boost::math::policies::overflow_error< ::boost::math::policies::throw_on_error>&) -{ - raise_error(function, message ? message : "numeric overflow", val); - // We should never get here: - return std::numeric_limits::has_infinity ? std::numeric_limits::infinity() : boost::math::tools::max_value(); -} - -template -inline T raise_overflow_error( - const char* , - const char* , - const ::boost::math::policies::overflow_error< ::boost::math::policies::ignore_error>&) -{ - // This may or may not do the right thing, but the user asked for the error - // to be ignored so here we go anyway: - return std::numeric_limits::has_infinity ? std::numeric_limits::infinity() : boost::math::tools::max_value(); -} - -template -inline T raise_overflow_error( - const char* , - const char* , - const T&, - const ::boost::math::policies::overflow_error< ::boost::math::policies::ignore_error>&) -{ - // This may or may not do the right thing, but the user asked for the error - // to be ignored so here we go anyway: - return std::numeric_limits::has_infinity ? std::numeric_limits::infinity() : boost::math::tools::max_value(); -} - -template -inline T raise_overflow_error( - const char* , - const char* , - const ::boost::math::policies::overflow_error< ::boost::math::policies::errno_on_error>&) -{ - errno = ERANGE; - // This may or may not do the right thing, but the user asked for the error - // to be silent so here we go anyway: - return std::numeric_limits::has_infinity ? std::numeric_limits::infinity() : boost::math::tools::max_value(); -} - -template -inline T raise_overflow_error( - const char* , - const char* , - const T&, - const ::boost::math::policies::overflow_error< ::boost::math::policies::errno_on_error>&) -{ - errno = ERANGE; - // This may or may not do the right thing, but the user asked for the error - // to be silent so here we go anyway: - return std::numeric_limits::has_infinity ? std::numeric_limits::infinity() : boost::math::tools::max_value(); -} - -template -inline T raise_overflow_error( - const char* function, - const char* message, - const ::boost::math::policies::overflow_error< ::boost::math::policies::user_error>&) -{ - return user_overflow_error(function, message, std::numeric_limits::infinity()); -} - -template -inline T raise_overflow_error( - const char* function, - const char* message, - const T& val, - const ::boost::math::policies::overflow_error< ::boost::math::policies::user_error>&) -{ - std::string fmsg("Error in function "); -#ifndef BOOST_NO_RTTI - fmsg += (boost::format(function) % boost::math::policies::detail::name_of()).str(); -#else - fmsg += function; -#endif - int prec = 2 + (boost::math::policies::digits >() * 30103UL) / 100000UL; - std::string msg = do_format(boost::format(message), boost::io::group(std::setprecision(prec), val)); - return user_overflow_error(fmsg.c_str(), msg.c_str(), std::numeric_limits::infinity()); -} - -template -inline T raise_underflow_error( - const char* function, - const char* message, - const ::boost::math::policies::underflow_error< ::boost::math::policies::throw_on_error>&) -{ - raise_error(function, message ? message : "numeric underflow"); - // We should never get here: - return 0; -} - -template -inline T raise_underflow_error( - const char* , - const char* , - const ::boost::math::policies::underflow_error< ::boost::math::policies::ignore_error>&) -{ - // This may or may not do the right thing, but the user asked for the error - // to be ignored so here we go anyway: - return T(0); -} - -template -inline T raise_underflow_error( - const char* /* function */, - const char* /* message */, - const ::boost::math::policies::underflow_error< ::boost::math::policies::errno_on_error>&) -{ - errno = ERANGE; - // This may or may not do the right thing, but the user asked for the error - // to be silent so here we go anyway: - return T(0); -} - -template -inline T raise_underflow_error( - const char* function, - const char* message, - const ::boost::math::policies::underflow_error< ::boost::math::policies::user_error>&) -{ - return user_underflow_error(function, message, T(0)); -} - -template -inline T raise_denorm_error( - const char* function, - const char* message, - const T& /* val */, - const ::boost::math::policies::denorm_error< ::boost::math::policies::throw_on_error>&) -{ - raise_error(function, message ? message : "denormalised result"); - // we never get here: - return T(0); -} - -template -inline T raise_denorm_error( - const char* , - const char* , - const T& val, - const ::boost::math::policies::denorm_error< ::boost::math::policies::ignore_error>&) -{ - // This may or may not do the right thing, but the user asked for the error - // to be ignored so here we go anyway: - return val; -} - -template -inline T raise_denorm_error( - const char* , - const char* , - const T& val, - const ::boost::math::policies::denorm_error< ::boost::math::policies::errno_on_error>&) -{ - errno = ERANGE; - // This may or may not do the right thing, but the user asked for the error - // to be silent so here we go anyway: - return val; -} - -template -inline T raise_denorm_error( - const char* function, - const char* message, - const T& val, - const ::boost::math::policies::denorm_error< ::boost::math::policies::user_error>&) -{ - return user_denorm_error(function, message, val); -} - -template -inline T raise_evaluation_error( - const char* function, - const char* message, - const T& val, - const ::boost::math::policies::evaluation_error< ::boost::math::policies::throw_on_error>&) -{ - raise_error(function, message, val); - // we never get here: - return T(0); -} - -template -inline T raise_evaluation_error( - const char* , - const char* , - const T& val, - const ::boost::math::policies::evaluation_error< ::boost::math::policies::ignore_error>&) -{ - // This may or may not do the right thing, but the user asked for the error - // to be ignored so here we go anyway: - return val; -} - -template -inline T raise_evaluation_error( - const char* , - const char* , - const T& val, - const ::boost::math::policies::evaluation_error< ::boost::math::policies::errno_on_error>&) -{ - errno = EDOM; - // This may or may not do the right thing, but the user asked for the error - // to be silent so here we go anyway: - return val; -} - -template -inline T raise_evaluation_error( - const char* function, - const char* message, - const T& val, - const ::boost::math::policies::evaluation_error< ::boost::math::policies::user_error>&) -{ - return user_evaluation_error(function, message, val); -} - -template -inline TargetType raise_rounding_error( - const char* function, - const char* message, - const T& val, - const TargetType&, - const ::boost::math::policies::rounding_error< ::boost::math::policies::throw_on_error>&) -{ - raise_error(function, message, val); - // we never get here: - return TargetType(0); -} - -template -inline TargetType raise_rounding_error( - const char* , - const char* , - const T& val, - const TargetType&, - const ::boost::math::policies::rounding_error< ::boost::math::policies::ignore_error>&) -{ - // This may or may not do the right thing, but the user asked for the error - // to be ignored so here we go anyway: - BOOST_STATIC_ASSERT(std::numeric_limits::is_specialized); - return val > 0 ? (std::numeric_limits::max)() : (std::numeric_limits::is_integer ? (std::numeric_limits::min)() : -(std::numeric_limits::max)()); -} - -template -inline TargetType raise_rounding_error( - const char* , - const char* , - const T& val, - const TargetType&, - const ::boost::math::policies::rounding_error< ::boost::math::policies::errno_on_error>&) -{ - errno = ERANGE; - // This may or may not do the right thing, but the user asked for the error - // to be silent so here we go anyway: - BOOST_STATIC_ASSERT(std::numeric_limits::is_specialized); - return val > 0 ? (std::numeric_limits::max)() : (std::numeric_limits::is_integer ? (std::numeric_limits::min)() : -(std::numeric_limits::max)()); -} - -template -inline TargetType raise_rounding_error( - const char* function, - const char* message, - const T& val, - const TargetType& t, - const ::boost::math::policies::rounding_error< ::boost::math::policies::user_error>&) -{ - return user_rounding_error(function, message, val, t); -} - -template -inline T raise_indeterminate_result_error( - const char* function, - const char* message, - const T& val, - const R& , - const ::boost::math::policies::indeterminate_result_error< ::boost::math::policies::throw_on_error>&) -{ - raise_error(function, message, val); - // we never get here: - return std::numeric_limits::quiet_NaN(); -} - -template -inline T raise_indeterminate_result_error( - const char* , - const char* , - const T& , - const R& result, - const ::boost::math::policies::indeterminate_result_error< ::boost::math::policies::ignore_error>&) -{ - // This may or may not do the right thing, but the user asked for the error - // to be ignored so here we go anyway: - return result; -} - -template -inline T raise_indeterminate_result_error( - const char* , - const char* , - const T& , - const R& result, - const ::boost::math::policies::indeterminate_result_error< ::boost::math::policies::errno_on_error>&) -{ - errno = EDOM; - // This may or may not do the right thing, but the user asked for the error - // to be silent so here we go anyway: - return result; -} - -template -inline T raise_indeterminate_result_error( - const char* function, - const char* message, - const T& val, - const R& , - const ::boost::math::policies::indeterminate_result_error< ::boost::math::policies::user_error>&) -{ - return user_indeterminate_result_error(function, message, val); -} - -} // namespace detail - -template -inline T raise_domain_error(const char* function, const char* message, const T& val, const Policy&) -{ - typedef typename Policy::domain_error_type policy_type; - return detail::raise_domain_error( - function, message ? message : "Domain Error evaluating function at %1%", - val, policy_type()); -} - -template -inline T raise_pole_error(const char* function, const char* message, const T& val, const Policy&) -{ - typedef typename Policy::pole_error_type policy_type; - return detail::raise_pole_error( - function, message ? message : "Evaluation of function at pole %1%", - val, policy_type()); -} - -template -inline T raise_overflow_error(const char* function, const char* message, const Policy&) -{ - typedef typename Policy::overflow_error_type policy_type; - return detail::raise_overflow_error( - function, message ? message : "Overflow Error", - policy_type()); -} - -template -inline T raise_overflow_error(const char* function, const char* message, const T& val, const Policy&) -{ - typedef typename Policy::overflow_error_type policy_type; - return detail::raise_overflow_error( - function, message ? message : "Overflow evaluating function at %1%", - val, policy_type()); -} - -template -inline T raise_underflow_error(const char* function, const char* message, const Policy&) -{ - typedef typename Policy::underflow_error_type policy_type; - return detail::raise_underflow_error( - function, message ? message : "Underflow Error", - policy_type()); -} - -template -inline T raise_denorm_error(const char* function, const char* message, const T& val, const Policy&) -{ - typedef typename Policy::denorm_error_type policy_type; - return detail::raise_denorm_error( - function, message ? message : "Denorm Error", - val, - policy_type()); -} - -template -inline T raise_evaluation_error(const char* function, const char* message, const T& val, const Policy&) -{ - typedef typename Policy::evaluation_error_type policy_type; - return detail::raise_evaluation_error( - function, message ? message : "Internal Evaluation Error, best value so far was %1%", - val, policy_type()); -} - -template -inline TargetType raise_rounding_error(const char* function, const char* message, const T& val, const TargetType& t, const Policy&) -{ - typedef typename Policy::rounding_error_type policy_type; - return detail::raise_rounding_error( - function, message ? message : "Value %1% can not be represented in the target integer type.", - val, t, policy_type()); -} - -template -inline T raise_indeterminate_result_error(const char* function, const char* message, const T& val, const R& result, const Policy&) -{ - typedef typename Policy::indeterminate_result_error_type policy_type; - return detail::raise_indeterminate_result_error( - function, message ? message : "Indeterminate result with value %1%", - val, result, policy_type()); -} - -// -// checked_narrowing_cast: -// -namespace detail -{ - -template -inline bool check_overflow(T val, R* result, const char* function, const Policy& pol) -{ - BOOST_MATH_STD_USING - if(fabs(val) > tools::max_value()) - { - boost::math::policies::detail::raise_overflow_error(function, 0, pol); - *result = static_cast(val); - return true; - } - return false; -} -template -inline bool check_overflow(std::complex val, R* result, const char* function, const Policy& pol) -{ - typedef typename R::value_type r_type; - r_type re, im; - bool r = check_overflow(val.real(), &re, function, pol); - r = check_overflow(val.imag(), &im, function, pol) || r; - *result = R(re, im); - return r; -} -template -inline bool check_underflow(T val, R* result, const char* function, const Policy& pol) -{ - if((val != 0) && (static_cast(val) == 0)) - { - *result = static_cast(boost::math::policies::detail::raise_underflow_error(function, 0, pol)); - return true; - } - return false; -} -template -inline bool check_underflow(std::complex val, R* result, const char* function, const Policy& pol) -{ - typedef typename R::value_type r_type; - r_type re, im; - bool r = check_underflow(val.real(), &re, function, pol); - r = check_underflow(val.imag(), &im, function, pol) || r; - *result = R(re, im); - return r; -} -template -inline bool check_denorm(T val, R* result, const char* function, const Policy& pol) -{ - BOOST_MATH_STD_USING - if((fabs(val) < static_cast(tools::min_value())) && (static_cast(val) != 0)) - { - *result = static_cast(boost::math::policies::detail::raise_denorm_error(function, 0, static_cast(val), pol)); - return true; - } - return false; -} -template -inline bool check_denorm(std::complex val, R* result, const char* function, const Policy& pol) -{ - typedef typename R::value_type r_type; - r_type re, im; - bool r = check_denorm(val.real(), &re, function, pol); - r = check_denorm(val.imag(), &im, function, pol) || r; - *result = R(re, im); - return r; -} - -// Default instantiations with ignore_error policy. -template -inline bool check_overflow(T /* val */, R* /* result */, const char* /* function */, const overflow_error&){ return false; } -template -inline bool check_overflow(std::complex /* val */, R* /* result */, const char* /* function */, const overflow_error&){ return false; } -template -inline bool check_underflow(T /* val */, R* /* result */, const char* /* function */, const underflow_error&){ return false; } -template -inline bool check_underflow(std::complex /* val */, R* /* result */, const char* /* function */, const underflow_error&){ return false; } -template -inline bool check_denorm(T /* val */, R* /* result*/, const char* /* function */, const denorm_error&){ return false; } -template -inline bool check_denorm(std::complex /* val */, R* /* result*/, const char* /* function */, const denorm_error&){ return false; } - -} // namespace detail - -template -inline R checked_narrowing_cast(T val, const char* function) -{ - typedef typename Policy::overflow_error_type overflow_type; - typedef typename Policy::underflow_error_type underflow_type; - typedef typename Policy::denorm_error_type denorm_type; - // - // Most of what follows will evaluate to a no-op: - // - R result = 0; - if(detail::check_overflow(val, &result, function, overflow_type())) - return result; - if(detail::check_underflow(val, &result, function, underflow_type())) - return result; - if(detail::check_denorm(val, &result, function, denorm_type())) - return result; - - return static_cast(val); -} - -template -inline void check_series_iterations(const char* function, boost::uintmax_t max_iter, const Policy& pol) -{ - if(max_iter >= policies::get_max_series_iterations()) - raise_evaluation_error( - function, - "Series evaluation exceeded %1% iterations, giving up now.", static_cast(static_cast(max_iter)), pol); -} - -template -inline void check_root_iterations(const char* function, boost::uintmax_t max_iter, const Policy& pol) -{ - if(max_iter >= policies::get_max_root_iterations()) - raise_evaluation_error( - function, - "Root finding evaluation exceeded %1% iterations, giving up now.", static_cast(static_cast(max_iter)), pol); -} - -} //namespace policies - -namespace detail{ - -// -// Simple helper function to assist in returning a pair from a single value, -// that value usually comes from one of the error handlers above: -// -template -std::pair pair_from_single(const T& val) -{ - return std::make_pair(val, val); -} - -} - -#ifdef BOOST_MSVC -# pragma warning(pop) -#endif - -}} // namespaces boost/math - -#endif // BOOST_MATH_POLICY_ERROR_HANDLING_HPP - diff --git a/bundled/boost-1.56.0/include/boost/math/special_functions/bernoulli.hpp b/bundled/boost-1.56.0/include/boost/math/special_functions/bernoulli.hpp deleted file mode 100644 index 2c2ccd5236..0000000000 --- a/bundled/boost-1.56.0/include/boost/math/special_functions/bernoulli.hpp +++ /dev/null @@ -1,143 +0,0 @@ - -/////////////////////////////////////////////////////////////////////////////// -// Copyright 2013 Nikhar Agrawal -// Copyright 2013 Christopher Kormanyos -// Copyright 2013 John Maddock -// Copyright 2013 Paul Bristow -// Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef _BOOST_BERNOULLI_B2N_2013_05_30_HPP_ -#define _BOOST_BERNOULLI_B2N_2013_05_30_HPP_ - -#include -#include -#include - -namespace boost { namespace math { - -namespace detail { - -template -OutputIterator bernoulli_number_imp(OutputIterator out, std::size_t start, std::size_t n, const Policy& pol, const mpl::int_& tag) -{ - for(std::size_t i = start; (i <= max_bernoulli_b2n::value) && (i < start + n); ++i) - { - *out = unchecked_bernoulli_imp(i, tag); - ++out; - } - - for(std::size_t i = (std::max)(static_cast(max_bernoulli_b2n::value + 1), start); i < start + n; ++i) - { - // We must overflow: - *out = (i & 1 ? 1 : -1) * policies::raise_overflow_error("boost::math::bernoulli_b2n<%1%>(n)", 0, T(i), pol); - ++out; - } - return out; -} - -template -OutputIterator bernoulli_number_imp(OutputIterator out, std::size_t start, std::size_t n, const Policy& pol, const mpl::int_<0>& tag) -{ - for(std::size_t i = start; (i <= max_bernoulli_b2n::value) && (i < start + n); ++i) - { - *out = unchecked_bernoulli_imp(i, tag); - ++out; - } - // - // Short circuit return so we don't grab the mutex below unless we have to: - // - if(start + n <= max_bernoulli_b2n::value) - return out; - - return get_bernoulli_numbers_cache().copy_bernoulli_numbers(out, start, n, pol); -} - -} // namespace detail - -template -inline T bernoulli_b2n(const int i, const Policy &pol) -{ - typedef mpl::int_::value> tag_type; - if(i < 0) - return policies::raise_domain_error("boost::math::bernoulli_b2n<%1%>", "Index should be >= 0 but got %1%", T(i), pol); - - T result; - boost::math::detail::bernoulli_number_imp(&result, static_cast(i), 1u, pol, tag_type()); - return result; -} - -template -inline T bernoulli_b2n(const int i) -{ - return boost::math::bernoulli_b2n(i, policies::policy<>()); -} - -template -inline OutputIterator bernoulli_b2n(const int start_index, - const unsigned number_of_bernoullis_b2n, - OutputIterator out_it, - const Policy& pol) -{ - typedef mpl::int_::value> tag_type; - if(start_index < 0) - { - *out_it = policies::raise_domain_error("boost::math::bernoulli_b2n<%1%>", "Index should be >= 0 but got %1%", T(start_index), pol); - return ++out_it; - } - - return boost::math::detail::bernoulli_number_imp(out_it, start_index, number_of_bernoullis_b2n, pol, tag_type()); -} - -template -inline OutputIterator bernoulli_b2n(const int start_index, - const unsigned number_of_bernoullis_b2n, - OutputIterator out_it) -{ - return boost::math::bernoulli_b2n(start_index, number_of_bernoullis_b2n, out_it, policies::policy<>()); -} - -template -inline T tangent_t2n(const int i, const Policy &pol) -{ - if(i < 0) - return policies::raise_domain_error("boost::math::tangent_t2n<%1%>", "Index should be >= 0 but got %1%", T(i), pol); - - T result; - boost::math::detail::get_bernoulli_numbers_cache().copy_tangent_numbers(&result, i, 1, pol); - return result; -} - -template -inline T tangent_t2n(const int i) -{ - return boost::math::tangent_t2n(i, policies::policy<>()); -} - -template -inline OutputIterator tangent_t2n(const int start_index, - const unsigned number_of_tangent_t2n, - OutputIterator out_it, - const Policy& pol) -{ - if(start_index < 0) - { - *out_it = policies::raise_domain_error("boost::math::tangent_t2n<%1%>", "Index should be >= 0 but got %1%", T(start_index), pol); - return ++out_it; - } - - return boost::math::detail::get_bernoulli_numbers_cache().copy_tangent_numbers(out_it, start_index, number_of_tangent_t2n, pol); -} - -template -inline OutputIterator tangent_t2n(const int start_index, - const unsigned number_of_tangent_t2n, - OutputIterator out_it) -{ - return boost::math::tangent_t2n(start_index, number_of_tangent_t2n, out_it, policies::policy<>()); -} - -} } // namespace boost::math - -#endif // _BOOST_BERNOULLI_B2N_2013_05_30_HPP_ diff --git a/bundled/boost-1.56.0/include/boost/math/special_functions/binomial.hpp b/bundled/boost-1.56.0/include/boost/math/special_functions/binomial.hpp deleted file mode 100644 index 8fa2e26d84..0000000000 --- a/bundled/boost-1.56.0/include/boost/math/special_functions/binomial.hpp +++ /dev/null @@ -1,82 +0,0 @@ -// Copyright John Maddock 2006. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_MATH_SF_BINOMIAL_HPP -#define BOOST_MATH_SF_BINOMIAL_HPP - -#ifdef _MSC_VER -#pragma once -#endif - -#include -#include -#include -#include - -namespace boost{ namespace math{ - -template -T binomial_coefficient(unsigned n, unsigned k, const Policy& pol) -{ - BOOST_STATIC_ASSERT(!boost::is_integral::value); - BOOST_MATH_STD_USING - static const char* function = "boost::math::binomial_coefficient<%1%>(unsigned, unsigned)"; - if(k > n) - return policies::raise_domain_error( - function, - "The binomial coefficient is undefined for k > n, but got k = %1%.", - k, pol); - T result; - if((k == 0) || (k == n)) - return 1; - if((k == 1) || (k == n-1)) - return n; - - if(n <= max_factorial::value) - { - // Use fast table lookup: - result = unchecked_factorial(n); - result /= unchecked_factorial(n-k); - result /= unchecked_factorial(k); - } - else - { - // Use the beta function: - if(k < n - k) - result = k * beta(static_cast(k), static_cast(n-k+1), pol); - else - result = (n - k) * beta(static_cast(k+1), static_cast(n-k), pol); - if(result == 0) - return policies::raise_overflow_error(function, 0, pol); - result = 1 / result; - } - // convert to nearest integer: - return ceil(result - 0.5f); -} -// -// Type float can only store the first 35 factorials, in order to -// increase the chance that we can use a table driven implementation -// we'll promote to double: -// -template <> -inline float binomial_coefficient >(unsigned n, unsigned k, const policies::policy<>& pol) -{ - return policies::checked_narrowing_cast >(binomial_coefficient(n, k, pol), "boost::math::binomial_coefficient<%1%>(unsigned,unsigned)"); -} - -template -inline T binomial_coefficient(unsigned n, unsigned k) -{ - return binomial_coefficient(n, k, policies::policy<>()); -} - -} // namespace math -} // namespace boost - - -#endif // BOOST_MATH_SF_BINOMIAL_HPP - - - diff --git a/bundled/boost-1.56.0/include/boost/math/special_functions/cos_pi.hpp b/bundled/boost-1.56.0/include/boost/math/special_functions/cos_pi.hpp deleted file mode 100644 index 18d06c00df..0000000000 --- a/bundled/boost-1.56.0/include/boost/math/special_functions/cos_pi.hpp +++ /dev/null @@ -1,69 +0,0 @@ -// Copyright (c) 2007 John Maddock -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_MATH_COS_PI_HPP -#define BOOST_MATH_COS_PI_HPP - -#ifdef _MSC_VER -#pragma once -#endif - -#include -#include -#include -#include -#include -#include - -namespace boost{ namespace math{ namespace detail{ - -template -T cos_pi_imp(T x, const Policy& pol) -{ - BOOST_MATH_STD_USING // ADL of std names - // cos of pi*x: - bool invert = false; - if(fabs(x) < 0.5) - return cos(constants::pi() * x); - - if(x < 1) - { - x = -x; - } - T rem = floor(x); - if(itrunc(rem, pol) & 1) - invert = !invert; - rem = x - rem; - if(rem > 0.5f) - { - rem = 1 - rem; - invert = !invert; - } - if(rem == 0.5f) - return 0; - - rem = cos(constants::pi() * rem); - return invert ? T(-rem) : rem; -} - -} // namespace detail - -template -inline typename tools::promote_args::type cos_pi(T x, const Policy& pol) -{ - typedef typename tools::promote_args::type result_type; - return boost::math::detail::cos_pi_imp(x, pol); -} - -template -inline typename tools::promote_args::type cos_pi(T x) -{ - return boost::math::cos_pi(x, policies::policy<>()); -} - -} // namespace math -} // namespace boost -#endif - diff --git a/bundled/boost-1.56.0/include/boost/math/special_functions/detail/unchecked_factorial.hpp b/bundled/boost-1.56.0/include/boost/math/special_functions/detail/unchecked_factorial.hpp deleted file mode 100644 index 3c23d6e15a..0000000000 --- a/bundled/boost-1.56.0/include/boost/math/special_functions/detail/unchecked_factorial.hpp +++ /dev/null @@ -1,625 +0,0 @@ -// Copyright John Maddock 2006. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_MATH_SP_UC_FACTORIALS_HPP -#define BOOST_MATH_SP_UC_FACTORIALS_HPP - -#ifdef _MSC_VER -#pragma once -#endif - -#include -#ifdef BOOST_MSVC -#pragma warning(push) // Temporary until lexical cast fixed. -#pragma warning(disable: 4127 4701) -#endif -#ifndef BOOST_MATH_NO_LEXICAL_CAST -#include -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif -#include -#include - -namespace boost { namespace math -{ -// Forward declarations: -template -struct max_factorial; - -// Definitions: -template <> -inline float unchecked_factorial(unsigned i BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(float)) -{ - static const boost::array factorials = {{ - 1.0F, - 1.0F, - 2.0F, - 6.0F, - 24.0F, - 120.0F, - 720.0F, - 5040.0F, - 40320.0F, - 362880.0F, - 3628800.0F, - 39916800.0F, - 479001600.0F, - 6227020800.0F, - 87178291200.0F, - 1307674368000.0F, - 20922789888000.0F, - 355687428096000.0F, - 6402373705728000.0F, - 121645100408832000.0F, - 0.243290200817664e19F, - 0.5109094217170944e20F, - 0.112400072777760768e22F, - 0.2585201673888497664e23F, - 0.62044840173323943936e24F, - 0.15511210043330985984e26F, - 0.403291461126605635584e27F, - 0.10888869450418352160768e29F, - 0.304888344611713860501504e30F, - 0.8841761993739701954543616e31F, - 0.26525285981219105863630848e33F, - 0.822283865417792281772556288e34F, - 0.26313083693369353016721801216e36F, - 0.868331761881188649551819440128e37F, - 0.29523279903960414084761860964352e39F, - }}; - - return factorials[i]; -} - -template <> -struct max_factorial -{ - BOOST_STATIC_CONSTANT(unsigned, value = 34); -}; - - -template <> -inline long double unchecked_factorial(unsigned i BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(long double)) -{ - static const boost::array factorials = {{ - 1L, - 1L, - 2L, - 6L, - 24L, - 120L, - 720L, - 5040L, - 40320L, - 362880.0L, - 3628800.0L, - 39916800.0L, - 479001600.0L, - 6227020800.0L, - 87178291200.0L, - 1307674368000.0L, - 20922789888000.0L, - 355687428096000.0L, - 6402373705728000.0L, - 121645100408832000.0L, - 0.243290200817664e19L, - 0.5109094217170944e20L, - 0.112400072777760768e22L, - 0.2585201673888497664e23L, - 0.62044840173323943936e24L, - 0.15511210043330985984e26L, - 0.403291461126605635584e27L, - 0.10888869450418352160768e29L, - 0.304888344611713860501504e30L, - 0.8841761993739701954543616e31L, - 0.26525285981219105863630848e33L, - 0.822283865417792281772556288e34L, - 0.26313083693369353016721801216e36L, - 0.868331761881188649551819440128e37L, - 0.29523279903960414084761860964352e39L, - 0.103331479663861449296666513375232e41L, - 0.3719933267899012174679994481508352e42L, - 0.137637530912263450463159795815809024e44L, - 0.5230226174666011117600072241000742912e45L, - 0.203978820811974433586402817399028973568e47L, - 0.815915283247897734345611269596115894272e48L, - 0.3345252661316380710817006205344075166515e50L, - 0.1405006117752879898543142606244511569936e52L, - 0.6041526306337383563735513206851399750726e53L, - 0.265827157478844876804362581101461589032e55L, - 0.1196222208654801945619631614956577150644e57L, - 0.5502622159812088949850305428800254892962e58L, - 0.2586232415111681806429643551536119799692e60L, - 0.1241391559253607267086228904737337503852e62L, - 0.6082818640342675608722521633212953768876e63L, - 0.3041409320171337804361260816606476884438e65L, - 0.1551118753287382280224243016469303211063e67L, - 0.8065817517094387857166063685640376697529e68L, - 0.427488328406002556429801375338939964969e70L, - 0.2308436973392413804720927426830275810833e72L, - 0.1269640335365827592596510084756651695958e74L, - 0.7109985878048634518540456474637249497365e75L, - 0.4052691950487721675568060190543232213498e77L, - 0.2350561331282878571829474910515074683829e79L, - 0.1386831185456898357379390197203894063459e81L, - 0.8320987112741390144276341183223364380754e82L, - 0.507580213877224798800856812176625227226e84L, - 0.3146997326038793752565312235495076408801e86L, - 0.1982608315404440064116146708361898137545e88L, - 0.1268869321858841641034333893351614808029e90L, - 0.8247650592082470666723170306785496252186e91L, - 0.5443449390774430640037292402478427526443e93L, - 0.3647111091818868528824985909660546442717e95L, - 0.2480035542436830599600990418569171581047e97L, - 0.1711224524281413113724683388812728390923e99L, - 0.1197857166996989179607278372168909873646e101L, - 0.8504785885678623175211676442399260102886e102L, - 0.6123445837688608686152407038527467274078e104L, - 0.4470115461512684340891257138125051110077e106L, - 0.3307885441519386412259530282212537821457e108L, - 0.2480914081139539809194647711659403366093e110L, - 0.188549470166605025498793226086114655823e112L, - 0.1451830920282858696340707840863082849837e114L, - 0.1132428117820629783145752115873204622873e116L, - 0.8946182130782975286851441715398316520698e117L, - 0.7156945704626380229481153372318653216558e119L, - 0.5797126020747367985879734231578109105412e121L, - 0.4753643337012841748421382069894049466438e123L, - 0.3945523969720658651189747118012061057144e125L, - 0.3314240134565353266999387579130131288001e127L, - 0.2817104114380550276949479442260611594801e129L, - 0.2422709538367273238176552320344125971528e131L, - 0.210775729837952771721360051869938959523e133L, - 0.1854826422573984391147968456455462843802e135L, - 0.1650795516090846108121691926245361930984e137L, - 0.1485715964481761497309522733620825737886e139L, - 0.1352001527678402962551665687594951421476e141L, - 0.1243841405464130725547532432587355307758e143L, - 0.1156772507081641574759205162306240436215e145L, - 0.1087366156656743080273652852567866010042e147L, - 0.103299784882390592625997020993947270954e149L, - 0.9916779348709496892095714015418938011582e150L, - 0.9619275968248211985332842594956369871234e152L, - 0.942689044888324774562618574305724247381e154L, - 0.9332621544394415268169923885626670049072e156L, - 0.9332621544394415268169923885626670049072e158L, - 0.9425947759838359420851623124482936749562e160L, - 0.9614466715035126609268655586972595484554e162L, - 0.990290071648618040754671525458177334909e164L, - 0.1029901674514562762384858386476504428305e167L, - 0.1081396758240290900504101305800329649721e169L, - 0.1146280563734708354534347384148349428704e171L, - 0.1226520203196137939351751701038733888713e173L, - 0.132464181945182897449989183712183259981e175L, - 0.1443859583202493582204882102462797533793e177L, - 0.1588245541522742940425370312709077287172e179L, - 0.1762952551090244663872161047107075788761e181L, - 0.1974506857221074023536820372759924883413e183L, - 0.2231192748659813646596607021218715118256e185L, - 0.2543559733472187557120132004189335234812e187L, - 0.2925093693493015690688151804817735520034e189L, - 0.339310868445189820119825609358857320324e191L, - 0.396993716080872089540195962949863064779e193L, - 0.4684525849754290656574312362808384164393e195L, - 0.5574585761207605881323431711741977155627e197L, - 0.6689502913449127057588118054090372586753e199L, - 0.8094298525273443739681622845449350829971e201L, - 0.9875044200833601362411579871448208012564e203L, - 0.1214630436702532967576624324188129585545e206L, - 0.1506141741511140879795014161993280686076e208L, - 0.1882677176888926099743767702491600857595e210L, - 0.237217324288004688567714730513941708057e212L, - 0.3012660018457659544809977077527059692324e214L, - 0.3856204823625804217356770659234636406175e216L, - 0.4974504222477287440390234150412680963966e218L, - 0.6466855489220473672507304395536485253155e220L, - 0.8471580690878820510984568758152795681634e222L, - 0.1118248651196004307449963076076169029976e225L, - 0.1487270706090685728908450891181304809868e227L, - 0.1992942746161518876737324194182948445223e229L, - 0.269047270731805048359538766214698040105e231L, - 0.3659042881952548657689727220519893345429e233L, - 0.5012888748274991661034926292112253883237e235L, - 0.6917786472619488492228198283114910358867e237L, - 0.9615723196941089004197195613529725398826e239L, - 0.1346201247571752460587607385894161555836e242L, - 0.1898143759076170969428526414110767793728e244L, - 0.2695364137888162776588507508037290267094e246L, - 0.3854370717180072770521565736493325081944e248L, - 0.5550293832739304789551054660550388118e250L, - 0.80479260574719919448490292577980627711e252L, - 0.1174997204390910823947958271638517164581e255L, - 0.1727245890454638911203498659308620231933e257L, - 0.2556323917872865588581178015776757943262e259L, - 0.380892263763056972698595524350736933546e261L, - 0.571338395644585459047893286526105400319e263L, - 0.8627209774233240431623188626544191544816e265L, - 0.1311335885683452545606724671234717114812e268L, - 0.2006343905095682394778288746989117185662e270L, - 0.308976961384735088795856467036324046592e272L, - 0.4789142901463393876335775239063022722176e274L, - 0.7471062926282894447083809372938315446595e276L, - 0.1172956879426414428192158071551315525115e279L, - 0.1853271869493734796543609753051078529682e281L, - 0.2946702272495038326504339507351214862195e283L, - 0.4714723635992061322406943211761943779512e285L, - 0.7590705053947218729075178570936729485014e287L, - 0.1229694218739449434110178928491750176572e290L, - 0.2004401576545302577599591653441552787813e292L, - 0.3287218585534296227263330311644146572013e294L, - 0.5423910666131588774984495014212841843822e296L, - 0.9003691705778437366474261723593317460744e298L, - 0.1503616514864999040201201707840084015944e301L, - 0.2526075744973198387538018869171341146786e303L, - 0.4269068009004705274939251888899566538069e305L, - 0.7257415615307998967396728211129263114717e307L, - }}; - - return factorials[i]; -} - -template <> -struct max_factorial -{ - BOOST_STATIC_CONSTANT(unsigned, value = 170); -}; - -#ifdef BOOST_MATH_USE_FLOAT128 - -template <> -inline BOOST_MATH_FLOAT128_TYPE unchecked_factorial(unsigned i) -{ - static const boost::array factorials = { { - 1, - 1, - 2, - 6, - 24, - 120, - 720, - 5040, - 40320, - 362880.0Q, - 3628800.0Q, - 39916800.0Q, - 479001600.0Q, - 6227020800.0Q, - 87178291200.0Q, - 1307674368000.0Q, - 20922789888000.0Q, - 355687428096000.0Q, - 6402373705728000.0Q, - 121645100408832000.0Q, - 0.243290200817664e19Q, - 0.5109094217170944e20Q, - 0.112400072777760768e22Q, - 0.2585201673888497664e23Q, - 0.62044840173323943936e24Q, - 0.15511210043330985984e26Q, - 0.403291461126605635584e27Q, - 0.10888869450418352160768e29Q, - 0.304888344611713860501504e30Q, - 0.8841761993739701954543616e31Q, - 0.26525285981219105863630848e33Q, - 0.822283865417792281772556288e34Q, - 0.26313083693369353016721801216e36Q, - 0.868331761881188649551819440128e37Q, - 0.29523279903960414084761860964352e39Q, - 0.103331479663861449296666513375232e41Q, - 0.3719933267899012174679994481508352e42Q, - 0.137637530912263450463159795815809024e44Q, - 0.5230226174666011117600072241000742912e45Q, - 0.203978820811974433586402817399028973568e47Q, - 0.815915283247897734345611269596115894272e48Q, - 0.3345252661316380710817006205344075166515e50Q, - 0.1405006117752879898543142606244511569936e52Q, - 0.6041526306337383563735513206851399750726e53Q, - 0.265827157478844876804362581101461589032e55Q, - 0.1196222208654801945619631614956577150644e57Q, - 0.5502622159812088949850305428800254892962e58Q, - 0.2586232415111681806429643551536119799692e60Q, - 0.1241391559253607267086228904737337503852e62Q, - 0.6082818640342675608722521633212953768876e63Q, - 0.3041409320171337804361260816606476884438e65Q, - 0.1551118753287382280224243016469303211063e67Q, - 0.8065817517094387857166063685640376697529e68Q, - 0.427488328406002556429801375338939964969e70Q, - 0.2308436973392413804720927426830275810833e72Q, - 0.1269640335365827592596510084756651695958e74Q, - 0.7109985878048634518540456474637249497365e75Q, - 0.4052691950487721675568060190543232213498e77Q, - 0.2350561331282878571829474910515074683829e79Q, - 0.1386831185456898357379390197203894063459e81Q, - 0.8320987112741390144276341183223364380754e82Q, - 0.507580213877224798800856812176625227226e84Q, - 0.3146997326038793752565312235495076408801e86Q, - 0.1982608315404440064116146708361898137545e88Q, - 0.1268869321858841641034333893351614808029e90Q, - 0.8247650592082470666723170306785496252186e91Q, - 0.5443449390774430640037292402478427526443e93Q, - 0.3647111091818868528824985909660546442717e95Q, - 0.2480035542436830599600990418569171581047e97Q, - 0.1711224524281413113724683388812728390923e99Q, - 0.1197857166996989179607278372168909873646e101Q, - 0.8504785885678623175211676442399260102886e102Q, - 0.6123445837688608686152407038527467274078e104Q, - 0.4470115461512684340891257138125051110077e106Q, - 0.3307885441519386412259530282212537821457e108Q, - 0.2480914081139539809194647711659403366093e110Q, - 0.188549470166605025498793226086114655823e112Q, - 0.1451830920282858696340707840863082849837e114Q, - 0.1132428117820629783145752115873204622873e116Q, - 0.8946182130782975286851441715398316520698e117Q, - 0.7156945704626380229481153372318653216558e119Q, - 0.5797126020747367985879734231578109105412e121Q, - 0.4753643337012841748421382069894049466438e123Q, - 0.3945523969720658651189747118012061057144e125Q, - 0.3314240134565353266999387579130131288001e127Q, - 0.2817104114380550276949479442260611594801e129Q, - 0.2422709538367273238176552320344125971528e131Q, - 0.210775729837952771721360051869938959523e133Q, - 0.1854826422573984391147968456455462843802e135Q, - 0.1650795516090846108121691926245361930984e137Q, - 0.1485715964481761497309522733620825737886e139Q, - 0.1352001527678402962551665687594951421476e141Q, - 0.1243841405464130725547532432587355307758e143Q, - 0.1156772507081641574759205162306240436215e145Q, - 0.1087366156656743080273652852567866010042e147Q, - 0.103299784882390592625997020993947270954e149Q, - 0.9916779348709496892095714015418938011582e150Q, - 0.9619275968248211985332842594956369871234e152Q, - 0.942689044888324774562618574305724247381e154Q, - 0.9332621544394415268169923885626670049072e156Q, - 0.9332621544394415268169923885626670049072e158Q, - 0.9425947759838359420851623124482936749562e160Q, - 0.9614466715035126609268655586972595484554e162Q, - 0.990290071648618040754671525458177334909e164Q, - 0.1029901674514562762384858386476504428305e167Q, - 0.1081396758240290900504101305800329649721e169Q, - 0.1146280563734708354534347384148349428704e171Q, - 0.1226520203196137939351751701038733888713e173Q, - 0.132464181945182897449989183712183259981e175Q, - 0.1443859583202493582204882102462797533793e177Q, - 0.1588245541522742940425370312709077287172e179Q, - 0.1762952551090244663872161047107075788761e181Q, - 0.1974506857221074023536820372759924883413e183Q, - 0.2231192748659813646596607021218715118256e185Q, - 0.2543559733472187557120132004189335234812e187Q, - 0.2925093693493015690688151804817735520034e189Q, - 0.339310868445189820119825609358857320324e191Q, - 0.396993716080872089540195962949863064779e193Q, - 0.4684525849754290656574312362808384164393e195Q, - 0.5574585761207605881323431711741977155627e197Q, - 0.6689502913449127057588118054090372586753e199Q, - 0.8094298525273443739681622845449350829971e201Q, - 0.9875044200833601362411579871448208012564e203Q, - 0.1214630436702532967576624324188129585545e206Q, - 0.1506141741511140879795014161993280686076e208Q, - 0.1882677176888926099743767702491600857595e210Q, - 0.237217324288004688567714730513941708057e212Q, - 0.3012660018457659544809977077527059692324e214Q, - 0.3856204823625804217356770659234636406175e216Q, - 0.4974504222477287440390234150412680963966e218Q, - 0.6466855489220473672507304395536485253155e220Q, - 0.8471580690878820510984568758152795681634e222Q, - 0.1118248651196004307449963076076169029976e225Q, - 0.1487270706090685728908450891181304809868e227Q, - 0.1992942746161518876737324194182948445223e229Q, - 0.269047270731805048359538766214698040105e231Q, - 0.3659042881952548657689727220519893345429e233Q, - 0.5012888748274991661034926292112253883237e235Q, - 0.6917786472619488492228198283114910358867e237Q, - 0.9615723196941089004197195613529725398826e239Q, - 0.1346201247571752460587607385894161555836e242Q, - 0.1898143759076170969428526414110767793728e244Q, - 0.2695364137888162776588507508037290267094e246Q, - 0.3854370717180072770521565736493325081944e248Q, - 0.5550293832739304789551054660550388118e250Q, - 0.80479260574719919448490292577980627711e252Q, - 0.1174997204390910823947958271638517164581e255Q, - 0.1727245890454638911203498659308620231933e257Q, - 0.2556323917872865588581178015776757943262e259Q, - 0.380892263763056972698595524350736933546e261Q, - 0.571338395644585459047893286526105400319e263Q, - 0.8627209774233240431623188626544191544816e265Q, - 0.1311335885683452545606724671234717114812e268Q, - 0.2006343905095682394778288746989117185662e270Q, - 0.308976961384735088795856467036324046592e272Q, - 0.4789142901463393876335775239063022722176e274Q, - 0.7471062926282894447083809372938315446595e276Q, - 0.1172956879426414428192158071551315525115e279Q, - 0.1853271869493734796543609753051078529682e281Q, - 0.2946702272495038326504339507351214862195e283Q, - 0.4714723635992061322406943211761943779512e285Q, - 0.7590705053947218729075178570936729485014e287Q, - 0.1229694218739449434110178928491750176572e290Q, - 0.2004401576545302577599591653441552787813e292Q, - 0.3287218585534296227263330311644146572013e294Q, - 0.5423910666131588774984495014212841843822e296Q, - 0.9003691705778437366474261723593317460744e298Q, - 0.1503616514864999040201201707840084015944e301Q, - 0.2526075744973198387538018869171341146786e303Q, - 0.4269068009004705274939251888899566538069e305Q, - 0.7257415615307998967396728211129263114717e307Q, - } }; - - return factorials[i]; -} - -template <> -struct max_factorial -{ - BOOST_STATIC_CONSTANT(unsigned, value = 170); -}; - -#endif - -template <> -inline double unchecked_factorial(unsigned i BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(double)) -{ - return static_cast(boost::math::unchecked_factorial(i)); -} - -template <> -struct max_factorial -{ - BOOST_STATIC_CONSTANT(unsigned, - value = ::boost::math::max_factorial::value); -}; - -#ifndef BOOST_MATH_NO_LEXICAL_CAST - -template -inline T unchecked_factorial(unsigned i BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(T)) -{ - BOOST_STATIC_ASSERT(!boost::is_integral::value); - // factorial(n) is not implemented - // because it would overflow integral type T for too small n - // to be useful. Use instead a floating-point type, - // and convert to an unsigned type if essential, for example: - // unsigned int nfac = static_cast(factorial(n)); - // See factorial documentation for more detail. - - static const boost::array factorials = {{ - boost::lexical_cast("1"), - boost::lexical_cast("1"), - boost::lexical_cast("2"), - boost::lexical_cast("6"), - boost::lexical_cast("24"), - boost::lexical_cast("120"), - boost::lexical_cast("720"), - boost::lexical_cast("5040"), - boost::lexical_cast("40320"), - boost::lexical_cast("362880"), - boost::lexical_cast("3628800"), - boost::lexical_cast("39916800"), - boost::lexical_cast("479001600"), - boost::lexical_cast("6227020800"), - boost::lexical_cast("87178291200"), - boost::lexical_cast("1307674368000"), - boost::lexical_cast("20922789888000"), - boost::lexical_cast("355687428096000"), - boost::lexical_cast("6402373705728000"), - boost::lexical_cast("121645100408832000"), - boost::lexical_cast("2432902008176640000"), - boost::lexical_cast("51090942171709440000"), - boost::lexical_cast("1124000727777607680000"), - boost::lexical_cast("25852016738884976640000"), - boost::lexical_cast("620448401733239439360000"), - boost::lexical_cast("15511210043330985984000000"), - boost::lexical_cast("403291461126605635584000000"), - boost::lexical_cast("10888869450418352160768000000"), - boost::lexical_cast("304888344611713860501504000000"), - boost::lexical_cast("8841761993739701954543616000000"), - boost::lexical_cast("265252859812191058636308480000000"), - boost::lexical_cast("8222838654177922817725562880000000"), - boost::lexical_cast("263130836933693530167218012160000000"), - boost::lexical_cast("8683317618811886495518194401280000000"), - boost::lexical_cast("295232799039604140847618609643520000000"), - boost::lexical_cast("10333147966386144929666651337523200000000"), - boost::lexical_cast("371993326789901217467999448150835200000000"), - boost::lexical_cast("13763753091226345046315979581580902400000000"), - boost::lexical_cast("523022617466601111760007224100074291200000000"), - boost::lexical_cast("20397882081197443358640281739902897356800000000"), - boost::lexical_cast("815915283247897734345611269596115894272000000000"), - boost::lexical_cast("33452526613163807108170062053440751665152000000000"), - boost::lexical_cast("1405006117752879898543142606244511569936384000000000"), - boost::lexical_cast("60415263063373835637355132068513997507264512000000000"), - boost::lexical_cast("2658271574788448768043625811014615890319638528000000000"), - boost::lexical_cast("119622220865480194561963161495657715064383733760000000000"), - boost::lexical_cast("5502622159812088949850305428800254892961651752960000000000"), - boost::lexical_cast("258623241511168180642964355153611979969197632389120000000000"), - boost::lexical_cast("12413915592536072670862289047373375038521486354677760000000000"), - boost::lexical_cast("608281864034267560872252163321295376887552831379210240000000000"), - boost::lexical_cast("30414093201713378043612608166064768844377641568960512000000000000"), - boost::lexical_cast("1551118753287382280224243016469303211063259720016986112000000000000"), - boost::lexical_cast("80658175170943878571660636856403766975289505440883277824000000000000"), - boost::lexical_cast("4274883284060025564298013753389399649690343788366813724672000000000000"), - boost::lexical_cast("230843697339241380472092742683027581083278564571807941132288000000000000"), - boost::lexical_cast("12696403353658275925965100847566516959580321051449436762275840000000000000"), - boost::lexical_cast("710998587804863451854045647463724949736497978881168458687447040000000000000"), - boost::lexical_cast("40526919504877216755680601905432322134980384796226602145184481280000000000000"), - boost::lexical_cast("2350561331282878571829474910515074683828862318181142924420699914240000000000000"), - boost::lexical_cast("138683118545689835737939019720389406345902876772687432540821294940160000000000000"), - boost::lexical_cast("8320987112741390144276341183223364380754172606361245952449277696409600000000000000"), - boost::lexical_cast("507580213877224798800856812176625227226004528988036003099405939480985600000000000000"), - boost::lexical_cast("31469973260387937525653122354950764088012280797258232192163168247821107200000000000000"), - boost::lexical_cast("1982608315404440064116146708361898137544773690227268628106279599612729753600000000000000"), - boost::lexical_cast("126886932185884164103433389335161480802865516174545192198801894375214704230400000000000000"), - boost::lexical_cast("8247650592082470666723170306785496252186258551345437492922123134388955774976000000000000000"), - boost::lexical_cast("544344939077443064003729240247842752644293064388798874532860126869671081148416000000000000000"), - boost::lexical_cast("36471110918188685288249859096605464427167635314049524593701628500267962436943872000000000000000"), - boost::lexical_cast("2480035542436830599600990418569171581047399201355367672371710738018221445712183296000000000000000"), - boost::lexical_cast("171122452428141311372468338881272839092270544893520369393648040923257279754140647424000000000000000"), - boost::lexical_cast("11978571669969891796072783721689098736458938142546425857555362864628009582789845319680000000000000000"), - boost::lexical_cast("850478588567862317521167644239926010288584608120796235886430763388588680378079017697280000000000000000"), - boost::lexical_cast("61234458376886086861524070385274672740778091784697328983823014963978384987221689274204160000000000000000"), - boost::lexical_cast("4470115461512684340891257138125051110076800700282905015819080092370422104067183317016903680000000000000000"), - boost::lexical_cast("330788544151938641225953028221253782145683251820934971170611926835411235700971565459250872320000000000000000"), - boost::lexical_cast("24809140811395398091946477116594033660926243886570122837795894512655842677572867409443815424000000000000000000"), - boost::lexical_cast("1885494701666050254987932260861146558230394535379329335672487982961844043495537923117729972224000000000000000000"), - boost::lexical_cast("145183092028285869634070784086308284983740379224208358846781574688061991349156420080065207861248000000000000000000"), - boost::lexical_cast("11324281178206297831457521158732046228731749579488251990048962825668835325234200766245086213177344000000000000000000"), - boost::lexical_cast("894618213078297528685144171539831652069808216779571907213868063227837990693501860533361810841010176000000000000000000"), - boost::lexical_cast("71569457046263802294811533723186532165584657342365752577109445058227039255480148842668944867280814080000000000000000000"), - boost::lexical_cast("5797126020747367985879734231578109105412357244731625958745865049716390179693892056256184534249745940480000000000000000000"), - boost::lexical_cast("475364333701284174842138206989404946643813294067993328617160934076743994734899148613007131808479167119360000000000000000000"), - boost::lexical_cast("39455239697206586511897471180120610571436503407643446275224357528369751562996629334879591940103770870906880000000000000000000"), - boost::lexical_cast("3314240134565353266999387579130131288000666286242049487118846032383059131291716864129885722968716753156177920000000000000000000"), - boost::lexical_cast("281710411438055027694947944226061159480056634330574206405101912752560026159795933451040286452340924018275123200000000000000000000"), - boost::lexical_cast("24227095383672732381765523203441259715284870552429381750838764496720162249742450276789464634901319465571660595200000000000000000000"), - boost::lexical_cast("2107757298379527717213600518699389595229783738061356212322972511214654115727593174080683423236414793504734471782400000000000000000000"), - boost::lexical_cast("185482642257398439114796845645546284380220968949399346684421580986889562184028199319100141244804501828416633516851200000000000000000000"), - boost::lexical_cast("16507955160908461081216919262453619309839666236496541854913520707833171034378509739399912570787600662729080382999756800000000000000000000"), - boost::lexical_cast("1485715964481761497309522733620825737885569961284688766942216863704985393094065876545992131370884059645617234469978112000000000000000000000"), - boost::lexical_cast("135200152767840296255166568759495142147586866476906677791741734597153670771559994765685283954750449427751168336768008192000000000000000000000"), - boost::lexical_cast("12438414054641307255475324325873553077577991715875414356840239582938137710983519518443046123837041347353107486982656753664000000000000000000000"), - boost::lexical_cast("1156772507081641574759205162306240436214753229576413535186142281213246807121467315215203289516844845303838996289387078090752000000000000000000000"), - boost::lexical_cast("108736615665674308027365285256786601004186803580182872307497374434045199869417927630229109214583415458560865651202385340530688000000000000000000000"), - boost::lexical_cast("10329978488239059262599702099394727095397746340117372869212250571234293987594703124871765375385424468563282236864226607350415360000000000000000000000"), - boost::lexical_cast("991677934870949689209571401541893801158183648651267795444376054838492222809091499987689476037000748982075094738965754305639874560000000000000000000000"), - boost::lexical_cast("96192759682482119853328425949563698712343813919172976158104477319333745612481875498805879175589072651261284189679678167647067832320000000000000000000000"), - boost::lexical_cast("9426890448883247745626185743057242473809693764078951663494238777294707070023223798882976159207729119823605850588608460429412647567360000000000000000000000"), - boost::lexical_cast("933262154439441526816992388562667004907159682643816214685929638952175999932299156089414639761565182862536979208272237582511852109168640000000000000000000000"), - boost::lexical_cast("93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000"), - }}; - - return factorials[i]; -} - -template -struct max_factorial -{ - BOOST_STATIC_CONSTANT(unsigned, value = 100); -}; - -#else // BOOST_MATH_NO_LEXICAL_CAST - -template -inline T unchecked_factorial(unsigned i BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(T)) -{ - return 1; -} - -template -struct max_factorial -{ - BOOST_STATIC_CONSTANT(unsigned, value = 0); -}; - -#endif - -#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION -template -const unsigned max_factorial::value; -#endif - -} // namespace math -} // namespace boost - -#endif // BOOST_MATH_SP_UC_FACTORIALS_HPP - diff --git a/bundled/boost-1.56.0/include/boost/math/special_functions/ellint_3.hpp b/bundled/boost-1.56.0/include/boost/math/special_functions/ellint_3.hpp deleted file mode 100644 index ac7e68c17f..0000000000 --- a/bundled/boost-1.56.0/include/boost/math/special_functions/ellint_3.hpp +++ /dev/null @@ -1,320 +0,0 @@ -// Copyright (c) 2006 Xiaogang Zhang -// Copyright (c) 2006 John Maddock -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// History: -// XZ wrote the original of this file as part of the Google -// Summer of Code 2006. JM modified it to fit into the -// Boost.Math conceptual framework better, and to correctly -// handle the various corner cases. -// - -#ifndef BOOST_MATH_ELLINT_3_HPP -#define BOOST_MATH_ELLINT_3_HPP - -#ifdef _MSC_VER -#pragma once -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// Elliptic integrals (complete and incomplete) of the third kind -// Carlson, Numerische Mathematik, vol 33, 1 (1979) - -namespace boost { namespace math { - -namespace detail{ - -template -T ellint_pi_imp(T v, T k, T vc, const Policy& pol); - -// Elliptic integral (Legendre form) of the third kind -template -T ellint_pi_imp(T v, T phi, T k, T vc, const Policy& pol) -{ - // Note vc = 1-v presumably without cancellation error. - T value, x, y, z, p, t; - - BOOST_MATH_STD_USING - using namespace boost::math::tools; - using namespace boost::math::constants; - - static const char* function = "boost::math::ellint_3<%1%>(%1%,%1%,%1%)"; - - if (abs(k) > 1) - { - return policies::raise_domain_error(function, - "Got k = %1%, function requires |k| <= 1", k, pol); - } - - T sphi = sin(fabs(phi)); - - if(v > 1 / (sphi * sphi)) - { - // Complex result is a domain error: - return policies::raise_domain_error(function, - "Got v = %1%, but result is complex for v > 1 / sin^2(phi)", v, pol); - } - - // Special cases first: - if(v == 0) - { - // A&S 17.7.18 & 19 - return (k == 0) ? phi : ellint_f_imp(phi, k, pol); - } - if(phi == constants::pi() / 2) - { - // Have to filter this case out before the next - // special case, otherwise we might get an infinity from - // tan(phi). - // Also note that since we can't represent PI/2 exactly - // in a T, this is a bit of a guess as to the users true - // intent... - // - return ellint_pi_imp(v, k, vc, pol); - } - if(k == 0) - { - // A&S 17.7.20: - if(v < 1) - { - T vcr = sqrt(vc); - return atan(vcr * tan(phi)) / vcr; - } - else if(v == 1) - { - return tan(phi); - } - else - { - // v > 1: - T vcr = sqrt(-vc); - T arg = vcr * tan(phi); - return (boost::math::log1p(arg, pol) - boost::math::log1p(-arg, pol)) / (2 * vcr); - } - } - - if(v < 0) - { - // - // If we don't shift to 0 <= v <= 1 we get - // cancellation errors later on. Use - // A&S 17.7.15/16 to shift to v > 0: - // - T k2 = k * k; - T N = (k2 - v) / (1 - v); - T Nm1 = (1 - k2) / (1 - v); - T p2 = sqrt(-v * (k2 - v) / (1 - v)); - T delta = sqrt(1 - k2 * sphi * sphi); - T result = ellint_pi_imp(N, phi, k, Nm1, pol); - - result *= sqrt(Nm1 * (1 - k2 / N)); - result += ellint_f_imp(phi, k, pol) * k2 / p2; - result += atan((p2/2) * sin(2 * phi) / delta); - result /= sqrt((1 - v) * (1 - k2 / v)); - return result; - } -#if 0 // disabled but retained for future reference: see below. - if(v > 1) - { - // - // If v > 1 we can use the identity in A&S 17.7.7/8 - // to shift to 0 <= v <= 1. Unfortunately this - // identity appears only to function correctly when - // 0 <= phi <= pi/2, but it's when phi is outside that - // range that we really need it: That's when - // Carlson's formula fails, and what's more the periodicity - // reduction used below on phi doesn't work when v > 1. - // - // So we're stuck... the code is archived here in case - // some bright spart can figure out the fix. - // - T k2 = k * k; - T N = k2 / v; - T Nm1 = (v - k2) / v; - T p1 = sqrt((-vc) * (1 - k2 / v)); - T delta = sqrt(1 - k2 * sphi * sphi); - // - // These next two terms have a large amount of cancellation - // so it's not clear if this relation is useable even if - // the issues with phi > pi/2 can be fixed: - // - T result = -ellint_pi_imp(N, phi, k, Nm1); - result += ellint_f_imp(phi, k); - // - // This log term gives the complex result when - // n > 1/sin^2(phi) - // However that case is dealt with as an error above, - // so we should always get a real result here: - // - result += log((delta + p1 * tan(phi)) / (delta - p1 * tan(phi))) / (2 * p1); - return result; - } -#endif - - // Carlson's algorithm works only for |phi| <= pi/2, - // use the integrand's periodicity to normalize phi - // - // Xiaogang's original code used a cast to long long here - // but that fails if T has more digits than a long long, - // so rewritten to use fmod instead: - // - if(fabs(phi) > 1 / tools::epsilon()) - { - if(v > 1) - return policies::raise_domain_error( - function, - "Got v = %1%, but this is only supported for 0 <= phi <= pi/2", v, pol); - // - // Phi is so large that phi%pi is necessarily zero (or garbage), - // just return the second part of the duplication formula: - // - value = 2 * fabs(phi) * ellint_pi_imp(v, k, vc, pol) / constants::pi(); - } - else - { - T rphi = boost::math::tools::fmod_workaround(T(fabs(phi)), T(constants::half_pi())); - T m = boost::math::round((fabs(phi) - rphi) / constants::half_pi()); - int sign = 1; - if(boost::math::tools::fmod_workaround(m, T(2)) > 0.5) - { - m += 1; - sign = -1; - rphi = constants::half_pi() - rphi; - } - T sinp = sin(rphi); - T cosp = cos(rphi); - x = cosp * cosp; - t = sinp * sinp; - y = 1 - k * k * t; - z = 1; - if(v * t < 0.5) - p = 1 - v * t; - else - p = x + vc * t; - value = sign * sinp * (ellint_rf_imp(x, y, z, pol) + v * t * ellint_rj_imp(x, y, z, p, pol) / 3); - if((m > 0) && (vc > 0)) - value += m * ellint_pi_imp(v, k, vc, pol); - } - - if (phi < 0) - { - value = -value; // odd function - } - return value; -} - -// Complete elliptic integral (Legendre form) of the third kind -template -T ellint_pi_imp(T v, T k, T vc, const Policy& pol) -{ - // Note arg vc = 1-v, possibly without cancellation errors - BOOST_MATH_STD_USING - using namespace boost::math::tools; - - static const char* function = "boost::math::ellint_pi<%1%>(%1%,%1%)"; - - if (abs(k) >= 1) - { - return policies::raise_domain_error(function, - "Got k = %1%, function requires |k| <= 1", k, pol); - } - if(vc <= 0) - { - // Result is complex: - return policies::raise_domain_error(function, - "Got v = %1%, function requires v < 1", v, pol); - } - - if(v == 0) - { - return (k == 0) ? boost::math::constants::pi() / 2 : ellint_k_imp(k, pol); - } - - if(v < 0) - { - T k2 = k * k; - T N = (k2 - v) / (1 - v); - T Nm1 = (1 - k2) / (1 - v); - T p2 = sqrt(-v * (k2 - v) / (1 - v)); - - T result = boost::math::detail::ellint_pi_imp(N, k, Nm1, pol); - - result *= sqrt(Nm1 * (1 - k2 / N)); - result += ellint_k_imp(k, pol) * k2 / p2; - result /= sqrt((1 - v) * (1 - k2 / v)); - return result; - } - - T x = 0; - T y = 1 - k * k; - T z = 1; - T p = vc; - T value = ellint_rf_imp(x, y, z, pol) + v * ellint_rj_imp(x, y, z, p, pol) / 3; - - return value; -} - -template -inline typename tools::promote_args::type ellint_3(T1 k, T2 v, T3 phi, const mpl::false_&) -{ - return boost::math::ellint_3(k, v, phi, policies::policy<>()); -} - -template -inline typename tools::promote_args::type ellint_3(T1 k, T2 v, const Policy& pol, const mpl::true_&) -{ - typedef typename tools::promote_args::type result_type; - typedef typename policies::evaluation::type value_type; - return policies::checked_narrowing_cast( - detail::ellint_pi_imp( - static_cast(v), - static_cast(k), - static_cast(1-v), - pol), "boost::math::ellint_3<%1%>(%1%,%1%)"); -} - -} // namespace detail - -template -inline typename tools::promote_args::type ellint_3(T1 k, T2 v, T3 phi, const Policy& pol) -{ - typedef typename tools::promote_args::type result_type; - typedef typename policies::evaluation::type value_type; - return policies::checked_narrowing_cast( - detail::ellint_pi_imp( - static_cast(v), - static_cast(phi), - static_cast(k), - static_cast(1-v), - pol), "boost::math::ellint_3<%1%>(%1%,%1%,%1%)"); -} - -template -typename detail::ellint_3_result::type ellint_3(T1 k, T2 v, T3 phi) -{ - typedef typename policies::is_policy::type tag_type; - return detail::ellint_3(k, v, phi, tag_type()); -} - -template -inline typename tools::promote_args::type ellint_3(T1 k, T2 v) -{ - return ellint_3(k, v, policies::policy<>()); -} - -}} // namespaces - -#endif // BOOST_MATH_ELLINT_3_HPP - diff --git a/bundled/boost-1.56.0/include/boost/math/special_functions/ellint_rc.hpp b/bundled/boost-1.56.0/include/boost/math/special_functions/ellint_rc.hpp deleted file mode 100644 index 5f6d5c64bc..0000000000 --- a/bundled/boost-1.56.0/include/boost/math/special_functions/ellint_rc.hpp +++ /dev/null @@ -1,115 +0,0 @@ -// Copyright (c) 2006 Xiaogang Zhang -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// History: -// XZ wrote the original of this file as part of the Google -// Summer of Code 2006. JM modified it to fit into the -// Boost.Math conceptual framework better, and to correctly -// handle the y < 0 case. -// - -#ifndef BOOST_MATH_ELLINT_RC_HPP -#define BOOST_MATH_ELLINT_RC_HPP - -#ifdef _MSC_VER -#pragma once -#endif - -#include -#include -#include - -// Carlson's degenerate elliptic integral -// R_C(x, y) = R_F(x, y, y) = 0.5 * \int_{0}^{\infty} (t+x)^{-1/2} (t+y)^{-1} dt -// Carlson, Numerische Mathematik, vol 33, 1 (1979) - -namespace boost { namespace math { namespace detail{ - -template -T ellint_rc_imp(T x, T y, const Policy& pol) -{ - T value, S, u, lambda, tolerance, prefix; - unsigned long k; - - BOOST_MATH_STD_USING - using namespace boost::math::tools; - - static const char* function = "boost::math::ellint_rc<%1%>(%1%,%1%)"; - - if(x < 0) - { - return policies::raise_domain_error(function, - "Argument x must be non-negative but got %1%", x, pol); - } - if(y == 0) - { - return policies::raise_domain_error(function, - "Argument y must not be zero but got %1%", y, pol); - } - - // error scales as the 6th power of tolerance - tolerance = pow(4 * tools::epsilon(), T(1) / 6); - - // for y < 0, the integral is singular, return Cauchy principal value - if (y < 0) - { - prefix = sqrt(x / (x - y)); - x = x - y; - y = -y; - } - else - prefix = 1; - - // duplication: - k = 1; - do - { - u = (x + y + y) / 3; - S = y / u - 1; // 1 - x / u = 2 * S - - if (2 * abs(S) < tolerance) - break; - - T sx = sqrt(x); - T sy = sqrt(y); - lambda = 2 * sx * sy + y; - x = (x + lambda) / 4; - y = (y + lambda) / 4; - ++k; - }while(k < policies::get_max_series_iterations()); - // Check to see if we gave up too soon: - policies::check_series_iterations(function, k, pol); - - // Taylor series expansion to the 5th order - value = (1 + S * S * (T(3) / 10 + S * (T(1) / 7 + S * (T(3) / 8 + S * T(9) / 22)))) / sqrt(u); - - return value * prefix; -} - -} // namespace detail - -template -inline typename tools::promote_args::type - ellint_rc(T1 x, T2 y, const Policy& pol) -{ - typedef typename tools::promote_args::type result_type; - typedef typename policies::evaluation::type value_type; - return policies::checked_narrowing_cast( - detail::ellint_rc_imp( - static_cast(x), - static_cast(y), pol), "boost::math::ellint_rc<%1%>(%1%,%1%)"); -} - -template -inline typename tools::promote_args::type - ellint_rc(T1 x, T2 y) -{ - return ellint_rc(x, y, policies::policy<>()); -} - -}} // namespaces - -#endif // BOOST_MATH_ELLINT_RC_HPP - diff --git a/bundled/boost-1.56.0/include/boost/math/special_functions/ellint_rd.hpp b/bundled/boost-1.56.0/include/boost/math/special_functions/ellint_rd.hpp deleted file mode 100644 index 61014d3866..0000000000 --- a/bundled/boost-1.56.0/include/boost/math/special_functions/ellint_rd.hpp +++ /dev/null @@ -1,130 +0,0 @@ -// Copyright (c) 2006 Xiaogang Zhang -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// History: -// XZ wrote the original of this file as part of the Google -// Summer of Code 2006. JM modified it slightly to fit into the -// Boost.Math conceptual framework better. - -#ifndef BOOST_MATH_ELLINT_RD_HPP -#define BOOST_MATH_ELLINT_RD_HPP - -#ifdef _MSC_VER -#pragma once -#endif - -#include -#include -#include - -// Carlson's elliptic integral of the second kind -// R_D(x, y, z) = R_J(x, y, z, z) = 1.5 * \int_{0}^{\infty} [(t+x)(t+y)]^{-1/2} (t+z)^{-3/2} dt -// Carlson, Numerische Mathematik, vol 33, 1 (1979) - -namespace boost { namespace math { namespace detail{ - -template -T ellint_rd_imp(T x, T y, T z, const Policy& pol) -{ - T value, u, lambda, sigma, factor, tolerance; - T X, Y, Z, EA, EB, EC, ED, EE, S1, S2; - unsigned long k; - - BOOST_MATH_STD_USING - using namespace boost::math::tools; - - static const char* function = "boost::math::ellint_rd<%1%>(%1%,%1%,%1%)"; - - if (x < 0) - { - return policies::raise_domain_error(function, - "Argument x must be >= 0, but got %1%", x, pol); - } - if (y < 0) - { - return policies::raise_domain_error(function, - "Argument y must be >= 0, but got %1%", y, pol); - } - if (z <= 0) - { - return policies::raise_domain_error(function, - "Argument z must be > 0, but got %1%", z, pol); - } - if (x + y == 0) - { - return policies::raise_domain_error(function, - "At most one argument can be zero, but got, x + y = %1%", x+y, pol); - } - - // error scales as the 6th power of tolerance - tolerance = pow(tools::epsilon() / 3, T(1)/6); - - // duplication - sigma = 0; - factor = 1; - k = 1; - do - { - u = (x + y + z + z + z) / 5; - X = (u - x) / u; - Y = (u - y) / u; - Z = (u - z) / u; - if ((tools::max)(abs(X), abs(Y), abs(Z)) < tolerance) - break; - T sx = sqrt(x); - T sy = sqrt(y); - T sz = sqrt(z); - lambda = sy * (sx + sz) + sz * sx; //sqrt(x * y) + sqrt(y * z) + sqrt(z * x); - sigma += factor / (sz * (z + lambda)); - factor /= 4; - x = (x + lambda) / 4; - y = (y + lambda) / 4; - z = (z + lambda) / 4; - ++k; - } - while(k < policies::get_max_series_iterations()); - - // Check to see if we gave up too soon: - policies::check_series_iterations(function, k, pol); - - // Taylor series expansion to the 5th order - EA = X * Y; - EB = Z * Z; - EC = EA - EB; - ED = EA - 6 * EB; - EE = ED + EC + EC; - S1 = ED * (ED * T(9) / 88 - Z * EE * T(9) / 52 - T(3) / 14); - S2 = Z * (EE / 6 + Z * (-EC * T(9) / 22 + Z * EA * T(3) / 26)); - value = 3 * sigma + factor * (1 + S1 + S2) / (u * sqrt(u)); - - return value; -} - -} // namespace detail - -template -inline typename tools::promote_args::type - ellint_rd(T1 x, T2 y, T3 z, const Policy& pol) -{ - typedef typename tools::promote_args::type result_type; - typedef typename policies::evaluation::type value_type; - return policies::checked_narrowing_cast( - detail::ellint_rd_imp( - static_cast(x), - static_cast(y), - static_cast(z), pol), "boost::math::ellint_rd<%1%>(%1%,%1%,%1%)"); -} - -template -inline typename tools::promote_args::type - ellint_rd(T1 x, T2 y, T3 z) -{ - return ellint_rd(x, y, z, policies::policy<>()); -} - -}} // namespaces - -#endif // BOOST_MATH_ELLINT_RD_HPP - diff --git a/bundled/boost-1.56.0/include/boost/math/special_functions/ellint_rf.hpp b/bundled/boost-1.56.0/include/boost/math/special_functions/ellint_rf.hpp deleted file mode 100644 index ac5725783a..0000000000 --- a/bundled/boost-1.56.0/include/boost/math/special_functions/ellint_rf.hpp +++ /dev/null @@ -1,132 +0,0 @@ -// Copyright (c) 2006 Xiaogang Zhang -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// History: -// XZ wrote the original of this file as part of the Google -// Summer of Code 2006. JM modified it to fit into the -// Boost.Math conceptual framework better, and to handle -// types longer than 80-bit reals. -// -#ifndef BOOST_MATH_ELLINT_RF_HPP -#define BOOST_MATH_ELLINT_RF_HPP - -#ifdef _MSC_VER -#pragma once -#endif - -#include -#include - -#include - -// Carlson's elliptic integral of the first kind -// R_F(x, y, z) = 0.5 * \int_{0}^{\infty} [(t+x)(t+y)(t+z)]^{-1/2} dt -// Carlson, Numerische Mathematik, vol 33, 1 (1979) - -namespace boost { namespace math { namespace detail{ - -template -T ellint_rf_imp(T x, T y, T z, const Policy& pol) -{ - T value, X, Y, Z, E2, E3, u, lambda, tolerance; - unsigned long k; - - BOOST_MATH_STD_USING - using namespace boost::math::tools; - - static const char* function = "boost::math::ellint_rf<%1%>(%1%,%1%,%1%)"; - - if (x < 0 || y < 0 || z < 0) - { - return policies::raise_domain_error(function, - "domain error, all arguments must be non-negative, " - "only sensible result is %1%.", - std::numeric_limits::quiet_NaN(), pol); - } - if (x + y == 0 || y + z == 0 || z + x == 0) - { - return policies::raise_domain_error(function, - "domain error, at most one argument can be zero, " - "only sensible result is %1%.", - std::numeric_limits::quiet_NaN(), pol); - } - - // Carlson scales error as the 6th power of tolerance, - // but this seems not to work for types larger than - // 80-bit reals, this heuristic seems to work OK: - if(policies::digits() > 64) - { - tolerance = pow(tools::epsilon(), T(1)/4.25f); - BOOST_MATH_INSTRUMENT_VARIABLE(tolerance); - } - else - { - tolerance = pow(4*tools::epsilon(), T(1)/6); - BOOST_MATH_INSTRUMENT_VARIABLE(tolerance); - } - - // duplication - k = 1; - do - { - u = (x + y + z) / 3; - X = (u - x) / u; - Y = (u - y) / u; - Z = (u - z) / u; - - // Termination condition: - if ((tools::max)(abs(X), abs(Y), abs(Z)) < tolerance) - break; - - T sx = sqrt(x); - T sy = sqrt(y); - T sz = sqrt(z); - lambda = sy * (sx + sz) + sz * sx; - x = (x + lambda) / 4; - y = (y + lambda) / 4; - z = (z + lambda) / 4; - ++k; - } - while(k < policies::get_max_series_iterations()); - - // Check to see if we gave up too soon: - policies::check_series_iterations(function, k, pol); - BOOST_MATH_INSTRUMENT_VARIABLE(k); - - // Taylor series expansion to the 5th order - E2 = X * Y - Z * Z; - E3 = X * Y * Z; - value = (1 + E2*(E2/24 - E3*T(3)/44 - T(0.1)) + E3/14) / sqrt(u); - BOOST_MATH_INSTRUMENT_VARIABLE(value); - - return value; -} - -} // namespace detail - -template -inline typename tools::promote_args::type - ellint_rf(T1 x, T2 y, T3 z, const Policy& pol) -{ - typedef typename tools::promote_args::type result_type; - typedef typename policies::evaluation::type value_type; - return policies::checked_narrowing_cast( - detail::ellint_rf_imp( - static_cast(x), - static_cast(y), - static_cast(z), pol), "boost::math::ellint_rf<%1%>(%1%,%1%,%1%)"); -} - -template -inline typename tools::promote_args::type - ellint_rf(T1 x, T2 y, T3 z) -{ - return ellint_rf(x, y, z, policies::policy<>()); -} - -}} // namespaces - -#endif // BOOST_MATH_ELLINT_RF_HPP - diff --git a/bundled/boost-1.56.0/include/boost/math/special_functions/ellint_rj.hpp b/bundled/boost-1.56.0/include/boost/math/special_functions/ellint_rj.hpp deleted file mode 100644 index 8a242f06a4..0000000000 --- a/bundled/boost-1.56.0/include/boost/math/special_functions/ellint_rj.hpp +++ /dev/null @@ -1,180 +0,0 @@ -// Copyright (c) 2006 Xiaogang Zhang -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// History: -// XZ wrote the original of this file as part of the Google -// Summer of Code 2006. JM modified it to fit into the -// Boost.Math conceptual framework better, and to correctly -// handle the p < 0 case. -// - -#ifndef BOOST_MATH_ELLINT_RJ_HPP -#define BOOST_MATH_ELLINT_RJ_HPP - -#ifdef _MSC_VER -#pragma once -#endif - -#include -#include -#include -#include -#include - -// Carlson's elliptic integral of the third kind -// R_J(x, y, z, p) = 1.5 * \int_{0}^{\infty} (t+p)^{-1} [(t+x)(t+y)(t+z)]^{-1/2} dt -// Carlson, Numerische Mathematik, vol 33, 1 (1979) - -namespace boost { namespace math { namespace detail{ - -template -T ellint_rj_imp(T x, T y, T z, T p, const Policy& pol) -{ - T value, u, lambda, alpha, beta, sigma, factor, tolerance; - T X, Y, Z, P, EA, EB, EC, E2, E3, S1, S2, S3; - unsigned long k; - - BOOST_MATH_STD_USING - using namespace boost::math::tools; - - static const char* function = "boost::math::ellint_rj<%1%>(%1%,%1%,%1%)"; - - if (x < 0) - { - return policies::raise_domain_error(function, - "Argument x must be non-negative, but got x = %1%", x, pol); - } - if(y < 0) - { - return policies::raise_domain_error(function, - "Argument y must be non-negative, but got y = %1%", y, pol); - } - if(z < 0) - { - return policies::raise_domain_error(function, - "Argument z must be non-negative, but got z = %1%", z, pol); - } - if(p == 0) - { - return policies::raise_domain_error(function, - "Argument p must not be zero, but got p = %1%", p, pol); - } - if (x + y == 0 || y + z == 0 || z + x == 0) - { - return policies::raise_domain_error(function, - "At most one argument can be zero, " - "only possible result is %1%.", std::numeric_limits::quiet_NaN(), pol); - } - - // error scales as the 6th power of tolerance - tolerance = pow(T(1) * tools::epsilon() / 3, T(1) / 6); - - // for p < 0, the integral is singular, return Cauchy principal value - if (p < 0) - { - // - // We must ensure that (z - y) * (y - x) is positive. - // Since the integral is symmetrical in x, y and z - // we can just permute the values: - // - if(x > y) - std::swap(x, y); - if(y > z) - std::swap(y, z); - if(x > y) - std::swap(x, y); - - T q = -p; - T pmy = (z - y) * (y - x) / (y + q); // p - y - - BOOST_ASSERT(pmy >= 0); - - p = pmy + y; - value = boost::math::ellint_rj(x, y, z, p, pol); - value *= pmy; - value -= 3 * boost::math::ellint_rf(x, y, z, pol); - value += 3 * sqrt((x * y * z) / (x * z + p * q)) * boost::math::ellint_rc(x * z + p * q, p * q, pol); - value /= (y + q); - return value; - } - - // duplication - sigma = 0; - factor = 1; - k = 1; - do - { - u = (x + y + z + p + p) / 5; - X = (u - x) / u; - Y = (u - y) / u; - Z = (u - z) / u; - P = (u - p) / u; - - if ((tools::max)(abs(X), abs(Y), abs(Z), abs(P)) < tolerance) - break; - - T sx = sqrt(x); - T sy = sqrt(y); - T sz = sqrt(z); - - lambda = sy * (sx + sz) + sz * sx; - alpha = p * (sx + sy + sz) + sx * sy * sz; - alpha *= alpha; - beta = p * (p + lambda) * (p + lambda); - sigma += factor * boost::math::ellint_rc(alpha, beta, pol); - factor /= 4; - x = (x + lambda) / 4; - y = (y + lambda) / 4; - z = (z + lambda) / 4; - p = (p + lambda) / 4; - ++k; - } - while(k < policies::get_max_series_iterations()); - - // Check to see if we gave up too soon: - policies::check_series_iterations(function, k, pol); - - // Taylor series expansion to the 5th order - EA = X * Y + Y * Z + Z * X; - EB = X * Y * Z; - EC = P * P; - E2 = EA - 3 * EC; - E3 = EB + 2 * P * (EA - EC); - S1 = 1 + E2 * (E2 * T(9) / 88 - E3 * T(9) / 52 - T(3) / 14); - S2 = EB * (T(1) / 6 + P * (T(-6) / 22 + P * T(3) / 26)); - S3 = P * ((EA - EC) / 3 - P * EA * T(3) / 22); - value = 3 * sigma + factor * (S1 + S2 + S3) / (u * sqrt(u)); - - return value; -} - -} // namespace detail - -template -inline typename tools::promote_args::type - ellint_rj(T1 x, T2 y, T3 z, T4 p, const Policy& pol) -{ - typedef typename tools::promote_args::type result_type; - typedef typename policies::evaluation::type value_type; - return policies::checked_narrowing_cast( - detail::ellint_rj_imp( - static_cast(x), - static_cast(y), - static_cast(z), - static_cast(p), - pol), "boost::math::ellint_rj<%1%>(%1%,%1%,%1%,%1%)"); -} - -template -inline typename tools::promote_args::type - ellint_rj(T1 x, T2 y, T3 z, T4 p) -{ - return ellint_rj(x, y, z, p, policies::policy<>()); -} - -}} // namespaces - -#endif // BOOST_MATH_ELLINT_RJ_HPP - diff --git a/bundled/boost-1.56.0/include/boost/math/special_functions/math_fwd.hpp b/bundled/boost-1.56.0/include/boost/math/special_functions/math_fwd.hpp deleted file mode 100644 index e952dcdb51..0000000000 --- a/bundled/boost-1.56.0/include/boost/math/special_functions/math_fwd.hpp +++ /dev/null @@ -1,1499 +0,0 @@ -// math_fwd.hpp - -// TODO revise completely for new distribution classes. - -// Copyright Paul A. Bristow 2006. -// Copyright John Maddock 2006. - -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt -// or copy at http://www.boost.org/LICENSE_1_0.txt) - -// Omnibus list of forward declarations of math special functions. - -// IT = Integer type. -// RT = Real type (built-in floating-point types, float, double, long double) & User Defined Types -// AT = Integer or Real type - -#ifndef BOOST_MATH_SPECIAL_MATH_FWD_HPP -#define BOOST_MATH_SPECIAL_MATH_FWD_HPP - -#ifdef _MSC_VER -#pragma once -#endif - -#include -#include // for argument promotion. -#include -#include -#include - -#define BOOST_NO_MACRO_EXPAND /**/ - -namespace boost -{ - namespace math - { // Math functions (in roughly alphabetic order). - - // Beta functions. - template - typename tools::promote_args::type - beta(RT1 a, RT2 b); // Beta function (2 arguments). - - template - typename tools::promote_args::type - beta(RT1 a, RT2 b, A x); // Beta function (3 arguments). - - template - typename tools::promote_args::type - beta(RT1 a, RT2 b, RT3 x, const Policy& pol); // Beta function (3 arguments). - - template - typename tools::promote_args::type - betac(RT1 a, RT2 b, RT3 x); - - template - typename tools::promote_args::type - betac(RT1 a, RT2 b, RT3 x, const Policy& pol); - - template - typename tools::promote_args::type - ibeta(RT1 a, RT2 b, RT3 x); // Incomplete beta function. - - template - typename tools::promote_args::type - ibeta(RT1 a, RT2 b, RT3 x, const Policy& pol); // Incomplete beta function. - - template - typename tools::promote_args::type - ibetac(RT1 a, RT2 b, RT3 x); // Incomplete beta complement function. - - template - typename tools::promote_args::type - ibetac(RT1 a, RT2 b, RT3 x, const Policy& pol); // Incomplete beta complement function. - - template - typename tools::promote_args::type - ibeta_inv(T1 a, T2 b, T3 p, T4* py); - - template - typename tools::promote_args::type - ibeta_inv(T1 a, T2 b, T3 p, T4* py, const Policy& pol); - - template - typename tools::promote_args::type - ibeta_inv(RT1 a, RT2 b, RT3 p); // Incomplete beta inverse function. - - template - typename tools::promote_args::type - ibeta_inv(RT1 a, RT2 b, RT3 p, const Policy&); // Incomplete beta inverse function. - - template - typename tools::promote_args::type - ibeta_inva(RT1 a, RT2 b, RT3 p); // Incomplete beta inverse function. - - template - typename tools::promote_args::type - ibeta_inva(RT1 a, RT2 b, RT3 p, const Policy&); // Incomplete beta inverse function. - - template - typename tools::promote_args::type - ibeta_invb(RT1 a, RT2 b, RT3 p); // Incomplete beta inverse function. - - template - typename tools::promote_args::type - ibeta_invb(RT1 a, RT2 b, RT3 p, const Policy&); // Incomplete beta inverse function. - - template - typename tools::promote_args::type - ibetac_inv(T1 a, T2 b, T3 q, T4* py); - - template - typename tools::promote_args::type - ibetac_inv(T1 a, T2 b, T3 q, T4* py, const Policy& pol); - - template - typename tools::promote_args::type - ibetac_inv(RT1 a, RT2 b, RT3 q); // Incomplete beta complement inverse function. - - template - typename tools::promote_args::type - ibetac_inv(RT1 a, RT2 b, RT3 q, const Policy&); // Incomplete beta complement inverse function. - - template - typename tools::promote_args::type - ibetac_inva(RT1 a, RT2 b, RT3 q); // Incomplete beta complement inverse function. - - template - typename tools::promote_args::type - ibetac_inva(RT1 a, RT2 b, RT3 q, const Policy&); // Incomplete beta complement inverse function. - - template - typename tools::promote_args::type - ibetac_invb(RT1 a, RT2 b, RT3 q); // Incomplete beta complement inverse function. - - template - typename tools::promote_args::type - ibetac_invb(RT1 a, RT2 b, RT3 q, const Policy&); // Incomplete beta complement inverse function. - - template - typename tools::promote_args::type - ibeta_derivative(RT1 a, RT2 b, RT3 x); // derivative of incomplete beta - - template - typename tools::promote_args::type - ibeta_derivative(RT1 a, RT2 b, RT3 x, const Policy& pol); // derivative of incomplete beta - - // erf & erfc error functions. - template // Error function. - typename tools::promote_args::type erf(RT z); - template // Error function. - typename tools::promote_args::type erf(RT z, const Policy&); - - template // Error function complement. - typename tools::promote_args::type erfc(RT z); - template // Error function complement. - typename tools::promote_args::type erfc(RT z, const Policy&); - - template // Error function inverse. - typename tools::promote_args::type erf_inv(RT z); - template // Error function inverse. - typename tools::promote_args::type erf_inv(RT z, const Policy& pol); - - template // Error function complement inverse. - typename tools::promote_args::type erfc_inv(RT z); - template // Error function complement inverse. - typename tools::promote_args::type erfc_inv(RT z, const Policy& pol); - - // Polynomials: - template - typename tools::promote_args::type - legendre_next(unsigned l, T1 x, T2 Pl, T3 Plm1); - - template - typename tools::promote_args::type - legendre_p(int l, T x); - - template - typename tools::promote_args::type - legendre_p(int l, T x, const Policy& pol); - - template - typename tools::promote_args::type - legendre_q(unsigned l, T x); - - template - typename tools::promote_args::type - legendre_q(unsigned l, T x, const Policy& pol); - - template - typename tools::promote_args::type - legendre_next(unsigned l, unsigned m, T1 x, T2 Pl, T3 Plm1); - - template - typename tools::promote_args::type - legendre_p(int l, int m, T x); - - template - typename tools::promote_args::type - legendre_p(int l, int m, T x, const Policy& pol); - - template - typename tools::promote_args::type - laguerre_next(unsigned n, T1 x, T2 Ln, T3 Lnm1); - - template - typename tools::promote_args::type - laguerre_next(unsigned n, unsigned l, T1 x, T2 Pl, T3 Plm1); - - template - typename tools::promote_args::type - laguerre(unsigned n, T x); - - template - typename tools::promote_args::type - laguerre(unsigned n, unsigned m, T x, const Policy& pol); - - template - struct laguerre_result - { - typedef typename mpl::if_< - policies::is_policy, - typename tools::promote_args::type, - typename tools::promote_args::type - >::type type; - }; - - template - typename laguerre_result::type - laguerre(unsigned n, T1 m, T2 x); - - template - typename tools::promote_args::type - hermite(unsigned n, T x); - - template - typename tools::promote_args::type - hermite(unsigned n, T x, const Policy& pol); - - template - typename tools::promote_args::type - hermite_next(unsigned n, T1 x, T2 Hn, T3 Hnm1); - - template - std::complex::type> - spherical_harmonic(unsigned n, int m, T1 theta, T2 phi); - - template - std::complex::type> - spherical_harmonic(unsigned n, int m, T1 theta, T2 phi, const Policy& pol); - - template - typename tools::promote_args::type - spherical_harmonic_r(unsigned n, int m, T1 theta, T2 phi); - - template - typename tools::promote_args::type - spherical_harmonic_r(unsigned n, int m, T1 theta, T2 phi, const Policy& pol); - - template - typename tools::promote_args::type - spherical_harmonic_i(unsigned n, int m, T1 theta, T2 phi); - - template - typename tools::promote_args::type - spherical_harmonic_i(unsigned n, int m, T1 theta, T2 phi, const Policy& pol); - - // Elliptic integrals: - template - typename tools::promote_args::type - ellint_rf(T1 x, T2 y, T3 z); - - template - typename tools::promote_args::type - ellint_rf(T1 x, T2 y, T3 z, const Policy& pol); - - template - typename tools::promote_args::type - ellint_rd(T1 x, T2 y, T3 z); - - template - typename tools::promote_args::type - ellint_rd(T1 x, T2 y, T3 z, const Policy& pol); - - template - typename tools::promote_args::type - ellint_rc(T1 x, T2 y); - - template - typename tools::promote_args::type - ellint_rc(T1 x, T2 y, const Policy& pol); - - template - typename tools::promote_args::type - ellint_rj(T1 x, T2 y, T3 z, T4 p); - - template - typename tools::promote_args::type - ellint_rj(T1 x, T2 y, T3 z, T4 p, const Policy& pol); - - template - typename tools::promote_args::type ellint_2(T k); - - template - typename tools::promote_args::type ellint_2(T1 k, T2 phi); - - template - typename tools::promote_args::type ellint_2(T1 k, T2 phi, const Policy& pol); - - template - typename tools::promote_args::type ellint_1(T k); - - template - typename tools::promote_args::type ellint_1(T1 k, T2 phi); - - template - typename tools::promote_args::type ellint_1(T1 k, T2 phi, const Policy& pol); - - namespace detail{ - - template - struct ellint_3_result - { - typedef typename mpl::if_< - policies::is_policy, - typename tools::promote_args::type, - typename tools::promote_args::type - >::type type; - }; - - } // namespace detail - - - template - typename detail::ellint_3_result::type ellint_3(T1 k, T2 v, T3 phi); - - template - typename tools::promote_args::type ellint_3(T1 k, T2 v, T3 phi, const Policy& pol); - - template - typename tools::promote_args::type ellint_3(T1 k, T2 v); - - // Factorial functions. - // Note: not for integral types, at present. - template - struct max_factorial; - template - RT factorial(unsigned int); - template - RT factorial(unsigned int, const Policy& pol); - template - RT unchecked_factorial(unsigned int BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(RT)); - template - RT double_factorial(unsigned i); - template - RT double_factorial(unsigned i, const Policy& pol); - - template - typename tools::promote_args::type falling_factorial(RT x, unsigned n); - - template - typename tools::promote_args::type falling_factorial(RT x, unsigned n, const Policy& pol); - - template - typename tools::promote_args::type rising_factorial(RT x, int n); - - template - typename tools::promote_args::type rising_factorial(RT x, int n, const Policy& pol); - - // Gamma functions. - template - typename tools::promote_args::type tgamma(RT z); - - template - typename tools::promote_args::type tgamma1pm1(RT z); - - template - typename tools::promote_args::type tgamma1pm1(RT z, const Policy& pol); - - template - typename tools::promote_args::type tgamma(RT1 a, RT2 z); - - template - typename tools::promote_args::type tgamma(RT1 a, RT2 z, const Policy& pol); - - template - typename tools::promote_args::type lgamma(RT z, int* sign); - - template - typename tools::promote_args::type lgamma(RT z, int* sign, const Policy& pol); - - template - typename tools::promote_args::type lgamma(RT x); - - template - typename tools::promote_args::type lgamma(RT x, const Policy& pol); - - template - typename tools::promote_args::type tgamma_lower(RT1 a, RT2 z); - - template - typename tools::promote_args::type tgamma_lower(RT1 a, RT2 z, const Policy&); - - template - typename tools::promote_args::type gamma_q(RT1 a, RT2 z); - - template - typename tools::promote_args::type gamma_q(RT1 a, RT2 z, const Policy&); - - template - typename tools::promote_args::type gamma_p(RT1 a, RT2 z); - - template - typename tools::promote_args::type gamma_p(RT1 a, RT2 z, const Policy&); - - template - typename tools::promote_args::type tgamma_delta_ratio(T1 z, T2 delta); - - template - typename tools::promote_args::type tgamma_delta_ratio(T1 z, T2 delta, const Policy&); - - template - typename tools::promote_args::type tgamma_ratio(T1 a, T2 b); - - template - typename tools::promote_args::type tgamma_ratio(T1 a, T2 b, const Policy&); - - template - typename tools::promote_args::type gamma_p_derivative(T1 a, T2 x); - - template - typename tools::promote_args::type gamma_p_derivative(T1 a, T2 x, const Policy&); - - // gamma inverse. - template - typename tools::promote_args::type gamma_p_inv(T1 a, T2 p); - - template - typename tools::promote_args::type gamma_p_inva(T1 a, T2 p, const Policy&); - - template - typename tools::promote_args::type gamma_p_inva(T1 a, T2 p); - - template - typename tools::promote_args::type gamma_p_inv(T1 a, T2 p, const Policy&); - - template - typename tools::promote_args::type gamma_q_inv(T1 a, T2 q); - - template - typename tools::promote_args::type gamma_q_inv(T1 a, T2 q, const Policy&); - - template - typename tools::promote_args::type gamma_q_inva(T1 a, T2 q); - - template - typename tools::promote_args::type gamma_q_inva(T1 a, T2 q, const Policy&); - - // digamma: - template - typename tools::promote_args::type digamma(T x); - - template - typename tools::promote_args::type digamma(T x, const Policy&); - - // Hypotenuse function sqrt(x ^ 2 + y ^ 2). - template - typename tools::promote_args::type - hypot(T1 x, T2 y); - - template - typename tools::promote_args::type - hypot(T1 x, T2 y, const Policy&); - - // cbrt - cube root. - template - typename tools::promote_args::type cbrt(RT z); - - template - typename tools::promote_args::type cbrt(RT z, const Policy&); - - // log1p is log(x + 1) - template - typename tools::promote_args::type log1p(T); - - template - typename tools::promote_args::type log1p(T, const Policy&); - - // log1pmx is log(x + 1) - x - template - typename tools::promote_args::type log1pmx(T); - - template - typename tools::promote_args::type log1pmx(T, const Policy&); - - // Exp (x) minus 1 functions. - template - typename tools::promote_args::type expm1(T); - - template - typename tools::promote_args::type expm1(T, const Policy&); - - // Power - 1 - template - typename tools::promote_args::type - powm1(const T1 a, const T2 z); - - template - typename tools::promote_args::type - powm1(const T1 a, const T2 z, const Policy&); - - // sqrt(1+x) - 1 - template - typename tools::promote_args::type sqrt1pm1(const T& val); - - template - typename tools::promote_args::type sqrt1pm1(const T& val, const Policy&); - - // sinus cardinals: - template - typename tools::promote_args::type sinc_pi(T x); - - template - typename tools::promote_args::type sinc_pi(T x, const Policy&); - - template - typename tools::promote_args::type sinhc_pi(T x); - - template - typename tools::promote_args::type sinhc_pi(T x, const Policy&); - - // inverse hyperbolics: - template - typename tools::promote_args::type asinh(T x); - - template - typename tools::promote_args::type asinh(T x, const Policy&); - - template - typename tools::promote_args::type acosh(T x); - - template - typename tools::promote_args::type acosh(T x, const Policy&); - - template - typename tools::promote_args::type atanh(T x); - - template - typename tools::promote_args::type atanh(T x, const Policy&); - - namespace detail{ - - typedef mpl::int_<0> bessel_no_int_tag; // No integer optimisation possible. - typedef mpl::int_<1> bessel_maybe_int_tag; // Maybe integer optimisation. - typedef mpl::int_<2> bessel_int_tag; // Definite integer optimistaion. - - template - struct bessel_traits - { - typedef typename tools::promote_args< - T1, T2 - >::type result_type; - - typedef typename policies::precision::type precision_type; - - typedef typename mpl::if_< - mpl::or_< - mpl::less_equal >, - mpl::greater > >, - bessel_no_int_tag, - typename mpl::if_< - is_integral, - bessel_int_tag, - bessel_maybe_int_tag - >::type - >::type optimisation_tag; - }; - } // detail - - // Bessel functions: - template - typename detail::bessel_traits::result_type cyl_bessel_j(T1 v, T2 x, const Policy& pol); - template - typename detail::bessel_traits::result_type cyl_bessel_j_prime(T1 v, T2 x, const Policy& pol); - - template - typename detail::bessel_traits >::result_type cyl_bessel_j(T1 v, T2 x); - template - typename detail::bessel_traits >::result_type cyl_bessel_j_prime(T1 v, T2 x); - - template - typename detail::bessel_traits::result_type sph_bessel(unsigned v, T x, const Policy& pol); - template - typename detail::bessel_traits::result_type sph_bessel_prime(unsigned v, T x, const Policy& pol); - - template - typename detail::bessel_traits >::result_type sph_bessel(unsigned v, T x); - template - typename detail::bessel_traits >::result_type sph_bessel_prime(unsigned v, T x); - - template - typename detail::bessel_traits::result_type cyl_bessel_i(T1 v, T2 x, const Policy& pol); - template - typename detail::bessel_traits::result_type cyl_bessel_i_prime(T1 v, T2 x, const Policy& pol); - - template - typename detail::bessel_traits >::result_type cyl_bessel_i(T1 v, T2 x); - template - typename detail::bessel_traits >::result_type cyl_bessel_i_prime(T1 v, T2 x); - - template - typename detail::bessel_traits::result_type cyl_bessel_k(T1 v, T2 x, const Policy& pol); - template - typename detail::bessel_traits::result_type cyl_bessel_k_prime(T1 v, T2 x, const Policy& pol); - - template - typename detail::bessel_traits >::result_type cyl_bessel_k(T1 v, T2 x); - template - typename detail::bessel_traits >::result_type cyl_bessel_k_prime(T1 v, T2 x); - - template - typename detail::bessel_traits::result_type cyl_neumann(T1 v, T2 x, const Policy& pol); - template - typename detail::bessel_traits::result_type cyl_neumann_prime(T1 v, T2 x, const Policy& pol); - - template - typename detail::bessel_traits >::result_type cyl_neumann(T1 v, T2 x); - template - typename detail::bessel_traits >::result_type cyl_neumann_prime(T1 v, T2 x); - - template - typename detail::bessel_traits::result_type sph_neumann(unsigned v, T x, const Policy& pol); - template - typename detail::bessel_traits::result_type sph_neumann_prime(unsigned v, T x, const Policy& pol); - - template - typename detail::bessel_traits >::result_type sph_neumann(unsigned v, T x); - template - typename detail::bessel_traits >::result_type sph_neumann_prime(unsigned v, T x); - - template - typename detail::bessel_traits::result_type cyl_bessel_j_zero(T v, int m, const Policy& pol); - - template - typename detail::bessel_traits >::result_type cyl_bessel_j_zero(T v, int m); - - template - OutputIterator cyl_bessel_j_zero(T v, - int start_index, - unsigned number_of_zeros, - OutputIterator out_it); - - template - OutputIterator cyl_bessel_j_zero(T v, - int start_index, - unsigned number_of_zeros, - OutputIterator out_it, - const Policy&); - - template - typename detail::bessel_traits::result_type cyl_neumann_zero(T v, int m, const Policy& pol); - - template - typename detail::bessel_traits >::result_type cyl_neumann_zero(T v, int m); - - template - OutputIterator cyl_neumann_zero(T v, - int start_index, - unsigned number_of_zeros, - OutputIterator out_it); - - template - OutputIterator cyl_neumann_zero(T v, - int start_index, - unsigned number_of_zeros, - OutputIterator out_it, - const Policy&); - - template - std::complex >::result_type> cyl_hankel_1(T1 v, T2 x); - - template - std::complex::result_type> cyl_hankel_1(T1 v, T2 x, const Policy& pol); - - template - std::complex::result_type> cyl_hankel_2(T1 v, T2 x, const Policy& pol); - - template - std::complex >::result_type> cyl_hankel_2(T1 v, T2 x); - - template - std::complex::result_type> sph_hankel_1(T1 v, T2 x, const Policy& pol); - - template - std::complex >::result_type> sph_hankel_1(T1 v, T2 x); - - template - std::complex::result_type> sph_hankel_2(T1 v, T2 x, const Policy& pol); - - template - std::complex >::result_type> sph_hankel_2(T1 v, T2 x); - - template - typename tools::promote_args::type airy_ai(T x, const Policy&); - - template - typename tools::promote_args::type airy_ai(T x); - - template - typename tools::promote_args::type airy_bi(T x, const Policy&); - - template - typename tools::promote_args::type airy_bi(T x); - - template - typename tools::promote_args::type airy_ai_prime(T x, const Policy&); - - template - typename tools::promote_args::type airy_ai_prime(T x); - - template - typename tools::promote_args::type airy_bi_prime(T x, const Policy&); - - template - typename tools::promote_args::type airy_bi_prime(T x); - - template - T airy_ai_zero(int m); - template - T airy_ai_zero(int m, const Policy&); - - template - OutputIterator airy_ai_zero( - int start_index, - unsigned number_of_zeros, - OutputIterator out_it); - template - OutputIterator airy_ai_zero( - int start_index, - unsigned number_of_zeros, - OutputIterator out_it, - const Policy&); - - template - T airy_bi_zero(int m); - template - T airy_bi_zero(int m, const Policy&); - - template - OutputIterator airy_bi_zero( - int start_index, - unsigned number_of_zeros, - OutputIterator out_it); - template - OutputIterator airy_bi_zero( - int start_index, - unsigned number_of_zeros, - OutputIterator out_it, - const Policy&); - - template - typename tools::promote_args::type sin_pi(T x, const Policy&); - - template - typename tools::promote_args::type sin_pi(T x); - - template - typename tools::promote_args::type cos_pi(T x, const Policy&); - - template - typename tools::promote_args::type cos_pi(T x); - - template - int fpclassify BOOST_NO_MACRO_EXPAND(T t); - - template - bool isfinite BOOST_NO_MACRO_EXPAND(T z); - - template - bool isinf BOOST_NO_MACRO_EXPAND(T t); - - template - bool isnan BOOST_NO_MACRO_EXPAND(T t); - - template - bool isnormal BOOST_NO_MACRO_EXPAND(T t); - - template - int signbit BOOST_NO_MACRO_EXPAND(T x); - - template - int sign BOOST_NO_MACRO_EXPAND(const T& z); - - template - typename tools::promote_args_permissive::type copysign BOOST_NO_MACRO_EXPAND(const T& x, const U& y); - - template - typename tools::promote_args_permissive::type changesign BOOST_NO_MACRO_EXPAND(const T& z); - - // Exponential integrals: - namespace detail{ - - template - struct expint_result - { - typedef typename mpl::if_< - policies::is_policy, - typename tools::promote_args::type, - typename tools::promote_args::type - >::type type; - }; - - } // namespace detail - - template - typename tools::promote_args::type expint(unsigned n, T z, const Policy&); - - template - typename detail::expint_result::type expint(T const z, U const u); - - template - typename tools::promote_args::type expint(T z); - - // Zeta: - template - typename tools::promote_args::type zeta(T s, const Policy&); - - // Owen's T function: - template - typename tools::promote_args::type owens_t(T1 h, T2 a, const Policy& pol); - - template - typename tools::promote_args::type owens_t(T1 h, T2 a); - - // Jacobi Functions: - template - typename tools::promote_args::type jacobi_elliptic(T k, U theta, V* pcn, V* pdn, const Policy&); - - template - typename tools::promote_args::type jacobi_elliptic(T k, U theta, V* pcn = 0, V* pdn = 0); - - template - typename tools::promote_args::type jacobi_sn(U k, T theta, const Policy& pol); - - template - typename tools::promote_args::type jacobi_sn(U k, T theta); - - template - typename tools::promote_args::type jacobi_cn(T k, U theta, const Policy& pol); - - template - typename tools::promote_args::type jacobi_cn(T k, U theta); - - template - typename tools::promote_args::type jacobi_dn(T k, U theta, const Policy& pol); - - template - typename tools::promote_args::type jacobi_dn(T k, U theta); - - template - typename tools::promote_args::type jacobi_cd(T k, U theta, const Policy& pol); - - template - typename tools::promote_args::type jacobi_cd(T k, U theta); - - template - typename tools::promote_args::type jacobi_dc(T k, U theta, const Policy& pol); - - template - typename tools::promote_args::type jacobi_dc(T k, U theta); - - template - typename tools::promote_args::type jacobi_ns(T k, U theta, const Policy& pol); - - template - typename tools::promote_args::type jacobi_ns(T k, U theta); - - template - typename tools::promote_args::type jacobi_sd(T k, U theta, const Policy& pol); - - template - typename tools::promote_args::type jacobi_sd(T k, U theta); - - template - typename tools::promote_args::type jacobi_ds(T k, U theta, const Policy& pol); - - template - typename tools::promote_args::type jacobi_ds(T k, U theta); - - template - typename tools::promote_args::type jacobi_nc(T k, U theta, const Policy& pol); - - template - typename tools::promote_args::type jacobi_nc(T k, U theta); - - template - typename tools::promote_args::type jacobi_nd(T k, U theta, const Policy& pol); - - template - typename tools::promote_args::type jacobi_nd(T k, U theta); - - template - typename tools::promote_args::type jacobi_sc(T k, U theta, const Policy& pol); - - template - typename tools::promote_args::type jacobi_sc(T k, U theta); - - template - typename tools::promote_args::type jacobi_cs(T k, U theta, const Policy& pol); - - template - typename tools::promote_args::type jacobi_cs(T k, U theta); - - - template - typename tools::promote_args::type zeta(T s); - - // pow: - template - typename tools::promote_args::type pow(T base, const Policy& policy); - - template - typename tools::promote_args::type pow(T base); - - // next: - template - typename tools::promote_args::type nextafter(const T&, const U&, const Policy&); - template - typename tools::promote_args::type nextafter(const T&, const U&); - template - typename tools::promote_args::type float_next(const T&, const Policy&); - template - typename tools::promote_args::type float_next(const T&); - template - typename tools::promote_args::type float_prior(const T&, const Policy&); - template - typename tools::promote_args::type float_prior(const T&); - template - typename tools::promote_args::type float_distance(const T&, const U&, const Policy&); - template - typename tools::promote_args::type float_distance(const T&, const U&); - template - typename tools::promote_args::type float_advance(T val, int distance, const Policy& pol); - template - typename tools::promote_args::type float_advance(const T& val, int distance); - - template - T unchecked_bernoulli_b2n(const std::size_t n); - template - T bernoulli_b2n(const int i, const Policy &pol); - template - T bernoulli_b2n(const int i); - template - OutputIterator bernoulli_b2n(const int start_index, - const unsigned number_of_bernoullis_b2n, - OutputIterator out_it, - const Policy& pol); - template - OutputIterator bernoulli_b2n(const int start_index, - const unsigned number_of_bernoullis_b2n, - OutputIterator out_it); - template - T tangent_t2n(const int i, const Policy &pol); - template - T tangent_t2n(const int i); - template - OutputIterator tangent_t2n(const int start_index, - const unsigned number_of_bernoullis_b2n, - OutputIterator out_it, - const Policy& pol); - template - OutputIterator tangent_t2n(const int start_index, - const unsigned number_of_bernoullis_b2n, - OutputIterator out_it); - - } // namespace math -} // namespace boost - -#ifdef BOOST_HAS_LONG_LONG -#define BOOST_MATH_DETAIL_LL_FUNC(Policy)\ - \ - template \ - inline T modf(const T& v, boost::long_long_type* ipart){ using boost::math::modf; return modf(v, ipart, Policy()); }\ - \ - template \ - inline boost::long_long_type lltrunc(const T& v){ using boost::math::lltrunc; return lltrunc(v, Policy()); }\ - \ - template \ - inline boost::long_long_type llround(const T& v){ using boost::math::llround; return llround(v, Policy()); }\ - -#else -#define BOOST_MATH_DETAIL_LL_FUNC(Policy) -#endif - -#define BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS(Policy)\ - \ - BOOST_MATH_DETAIL_LL_FUNC(Policy)\ - \ - template \ - inline typename boost::math::tools::promote_args::type \ - beta(RT1 a, RT2 b) { return ::boost::math::beta(a, b, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - beta(RT1 a, RT2 b, A x){ return ::boost::math::beta(a, b, x, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - betac(RT1 a, RT2 b, RT3 x) { return ::boost::math::betac(a, b, x, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - ibeta(RT1 a, RT2 b, RT3 x){ return ::boost::math::ibeta(a, b, x, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - ibetac(RT1 a, RT2 b, RT3 x){ return ::boost::math::ibetac(a, b, x, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - ibeta_inv(T1 a, T2 b, T3 p, T4* py){ return ::boost::math::ibeta_inv(a, b, p, py, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - ibeta_inv(RT1 a, RT2 b, RT3 p){ return ::boost::math::ibeta_inv(a, b, p, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - ibetac_inv(T1 a, T2 b, T3 q, T4* py){ return ::boost::math::ibetac_inv(a, b, q, py, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - ibeta_inva(RT1 a, RT2 b, RT3 p){ return ::boost::math::ibeta_inva(a, b, p, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - ibetac_inva(T1 a, T2 b, T3 q){ return ::boost::math::ibetac_inva(a, b, q, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - ibeta_invb(RT1 a, RT2 b, RT3 p){ return ::boost::math::ibeta_invb(a, b, p, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - ibetac_invb(T1 a, T2 b, T3 q){ return ::boost::math::ibetac_invb(a, b, q, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - ibetac_inv(RT1 a, RT2 b, RT3 q){ return ::boost::math::ibetac_inv(a, b, q, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - ibeta_derivative(RT1 a, RT2 b, RT3 x){ return ::boost::math::ibeta_derivative(a, b, x, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type erf(RT z) { return ::boost::math::erf(z, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type erfc(RT z){ return ::boost::math::erfc(z, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type erf_inv(RT z) { return ::boost::math::erf_inv(z, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type erfc_inv(RT z){ return ::boost::math::erfc_inv(z, Policy()); }\ -\ - using boost::math::legendre_next;\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - legendre_p(int l, T x){ return ::boost::math::legendre_p(l, x, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - legendre_q(unsigned l, T x){ return ::boost::math::legendre_q(l, x, Policy()); }\ -\ - using ::boost::math::legendre_next;\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - legendre_p(int l, int m, T x){ return ::boost::math::legendre_p(l, m, x, Policy()); }\ -\ - using ::boost::math::laguerre_next;\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - laguerre(unsigned n, T x){ return ::boost::math::laguerre(n, x, Policy()); }\ -\ - template \ - inline typename boost::math::laguerre_result::type \ - laguerre(unsigned n, T1 m, T2 x) { return ::boost::math::laguerre(n, m, x, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - hermite(unsigned n, T x){ return ::boost::math::hermite(n, x, Policy()); }\ -\ - using boost::math::hermite_next;\ -\ - template \ - inline std::complex::type> \ - spherical_harmonic(unsigned n, int m, T1 theta, T2 phi){ return boost::math::spherical_harmonic(n, m, theta, phi, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - spherical_harmonic_r(unsigned n, int m, T1 theta, T2 phi){ return ::boost::math::spherical_harmonic_r(n, m, theta, phi, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - spherical_harmonic_i(unsigned n, int m, T1 theta, T2 phi){ return boost::math::spherical_harmonic_i(n, m, theta, phi, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - spherical_harmonic_i(unsigned n, int m, T1 theta, T2 phi, const Policy& pol);\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - ellint_rf(T1 x, T2 y, T3 z){ return ::boost::math::ellint_rf(x, y, z, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - ellint_rd(T1 x, T2 y, T3 z){ return ::boost::math::ellint_rd(x, y, z, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - ellint_rc(T1 x, T2 y){ return ::boost::math::ellint_rc(x, y, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - ellint_rj(T1 x, T2 y, T3 z, T4 p){ return boost::math::ellint_rj(x, y, z, p, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type ellint_2(T k){ return boost::math::ellint_2(k, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type ellint_2(T1 k, T2 phi){ return boost::math::ellint_2(k, phi, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type ellint_1(T k){ return boost::math::ellint_1(k, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type ellint_1(T1 k, T2 phi){ return boost::math::ellint_1(k, phi, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type ellint_3(T1 k, T2 v, T3 phi){ return boost::math::ellint_3(k, v, phi, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type ellint_3(T1 k, T2 v){ return boost::math::ellint_3(k, v, Policy()); }\ -\ - using boost::math::max_factorial;\ - template \ - inline RT factorial(unsigned int i) { return boost::math::factorial(i, Policy()); }\ - using boost::math::unchecked_factorial;\ - template \ - inline RT double_factorial(unsigned i){ return boost::math::double_factorial(i, Policy()); }\ - template \ - inline typename boost::math::tools::promote_args::type falling_factorial(RT x, unsigned n){ return boost::math::falling_factorial(x, n, Policy()); }\ - template \ - inline typename boost::math::tools::promote_args::type rising_factorial(RT x, unsigned n){ return boost::math::rising_factorial(x, n, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type tgamma(RT z){ return boost::math::tgamma(z, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type tgamma1pm1(RT z){ return boost::math::tgamma1pm1(z, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type tgamma(RT1 a, RT2 z){ return boost::math::tgamma(a, z, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type lgamma(RT z, int* sign){ return boost::math::lgamma(z, sign, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type lgamma(RT x){ return boost::math::lgamma(x, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type tgamma_lower(RT1 a, RT2 z){ return boost::math::tgamma_lower(a, z, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type gamma_q(RT1 a, RT2 z){ return boost::math::gamma_q(a, z, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type gamma_p(RT1 a, RT2 z){ return boost::math::gamma_p(a, z, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type tgamma_delta_ratio(T1 z, T2 delta){ return boost::math::tgamma_delta_ratio(z, delta, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type tgamma_ratio(T1 a, T2 b) { return boost::math::tgamma_ratio(a, b, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type gamma_p_derivative(T1 a, T2 x){ return boost::math::gamma_p_derivative(a, x, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type gamma_p_inv(T1 a, T2 p){ return boost::math::gamma_p_inv(a, p, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type gamma_p_inva(T1 a, T2 p){ return boost::math::gamma_p_inva(a, p, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type gamma_q_inv(T1 a, T2 q){ return boost::math::gamma_q_inv(a, q, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type gamma_q_inva(T1 a, T2 q){ return boost::math::gamma_q_inva(a, q, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type digamma(T x){ return boost::math::digamma(x, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - hypot(T1 x, T2 y){ return boost::math::hypot(x, y, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type cbrt(RT z){ return boost::math::cbrt(z, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type log1p(T x){ return boost::math::log1p(x, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type log1pmx(T x){ return boost::math::log1pmx(x, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type expm1(T x){ return boost::math::expm1(x, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - powm1(const T1 a, const T2 z){ return boost::math::powm1(a, z, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type sqrt1pm1(const T& val){ return boost::math::sqrt1pm1(val, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type sinc_pi(T x){ return boost::math::sinc_pi(x, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type sinhc_pi(T x){ return boost::math::sinhc_pi(x, Policy()); }\ -\ - template\ - inline typename boost::math::tools::promote_args::type asinh(const T x){ return boost::math::asinh(x, Policy()); }\ -\ - template\ - inline typename boost::math::tools::promote_args::type acosh(const T x){ return boost::math::acosh(x, Policy()); }\ -\ - template\ - inline typename boost::math::tools::promote_args::type atanh(const T x){ return boost::math::atanh(x, Policy()); }\ -\ - template \ - inline typename boost::math::detail::bessel_traits::result_type cyl_bessel_j(T1 v, T2 x)\ - { return boost::math::cyl_bessel_j(v, x, Policy()); }\ -\ - template \ - inline typename boost::math::detail::bessel_traits::result_type cyl_bessel_j_prime(T1 v, T2 x)\ - { return boost::math::cyl_bessel_j_prime(v, x, Policy()); }\ -\ - template \ - inline typename boost::math::detail::bessel_traits::result_type sph_bessel(unsigned v, T x)\ - { return boost::math::sph_bessel(v, x, Policy()); }\ -\ - template \ - inline typename boost::math::detail::bessel_traits::result_type sph_bessel_prime(unsigned v, T x)\ - { return boost::math::sph_bessel_prime(v, x, Policy()); }\ -\ - template \ - inline typename boost::math::detail::bessel_traits::result_type \ - cyl_bessel_i(T1 v, T2 x) { return boost::math::cyl_bessel_i(v, x, Policy()); }\ -\ - template \ - inline typename boost::math::detail::bessel_traits::result_type \ - cyl_bessel_i_prime(T1 v, T2 x) { return boost::math::cyl_bessel_i_prime(v, x, Policy()); }\ -\ - template \ - inline typename boost::math::detail::bessel_traits::result_type \ - cyl_bessel_k(T1 v, T2 x) { return boost::math::cyl_bessel_k(v, x, Policy()); }\ -\ - template \ - inline typename boost::math::detail::bessel_traits::result_type \ - cyl_bessel_k_prime(T1 v, T2 x) { return boost::math::cyl_bessel_k_prime(v, x, Policy()); }\ -\ - template \ - inline typename boost::math::detail::bessel_traits::result_type \ - cyl_neumann(T1 v, T2 x){ return boost::math::cyl_neumann(v, x, Policy()); }\ -\ - template \ - inline typename boost::math::detail::bessel_traits::result_type \ - cyl_neumann_prime(T1 v, T2 x){ return boost::math::cyl_neumann_prime(v, x, Policy()); }\ -\ - template \ - inline typename boost::math::detail::bessel_traits::result_type \ - sph_neumann(unsigned v, T x){ return boost::math::sph_neumann(v, x, Policy()); }\ -\ - template \ - inline typename boost::math::detail::bessel_traits::result_type \ - sph_neumann_prime(unsigned v, T x){ return boost::math::sph_neumann_prime(v, x, Policy()); }\ -\ - template \ - inline typename boost::math::detail::bessel_traits::result_type cyl_bessel_j_zero(T v, int m)\ - { return boost::math::cyl_bessel_j_zero(v, m, Policy()); }\ -\ -template \ - inline void cyl_bessel_j_zero(T v,\ - int start_index,\ - unsigned number_of_zeros,\ - OutputIterator out_it)\ - { boost::math::cyl_bessel_j_zero(v, start_index, number_of_zeros, out_it, Policy()); }\ -\ - template \ - inline typename boost::math::detail::bessel_traits::result_type cyl_neumann_zero(T v, int m)\ - { return boost::math::cyl_neumann_zero(v, m, Policy()); }\ -\ -template \ - inline void cyl_neumann_zero(T v,\ - int start_index,\ - unsigned number_of_zeros,\ - OutputIterator out_it)\ - { boost::math::cyl_neumann_zero(v, start_index, number_of_zeros, out_it, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type sin_pi(T x){ return boost::math::sin_pi(x); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type cos_pi(T x){ return boost::math::cos_pi(x); }\ -\ - using boost::math::fpclassify;\ - using boost::math::isfinite;\ - using boost::math::isinf;\ - using boost::math::isnan;\ - using boost::math::isnormal;\ - using boost::math::signbit;\ - using boost::math::sign;\ - using boost::math::copysign;\ - using boost::math::changesign;\ - \ - template \ - inline typename boost::math::tools::promote_args::type expint(T const& z, U const& u)\ - { return boost::math::expint(z, u, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type expint(T z){ return boost::math::expint(z, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type zeta(T s){ return boost::math::zeta(s, Policy()); }\ - \ - template \ - inline T round(const T& v){ using boost::math::round; return round(v, Policy()); }\ - \ - template \ - inline int iround(const T& v){ using boost::math::iround; return iround(v, Policy()); }\ - \ - template \ - inline long lround(const T& v){ using boost::math::lround; return lround(v, Policy()); }\ - \ - template \ - inline T trunc(const T& v){ using boost::math::trunc; return trunc(v, Policy()); }\ - \ - template \ - inline int itrunc(const T& v){ using boost::math::itrunc; return itrunc(v, Policy()); }\ - \ - template \ - inline long ltrunc(const T& v){ using boost::math::ltrunc; return ltrunc(v, Policy()); }\ - \ - template \ - inline T modf(const T& v, T* ipart){ using boost::math::modf; return modf(v, ipart, Policy()); }\ - \ - template \ - inline T modf(const T& v, int* ipart){ using boost::math::modf; return modf(v, ipart, Policy()); }\ - \ - template \ - inline T modf(const T& v, long* ipart){ using boost::math::modf; return modf(v, ipart, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type pow(T v){ return boost::math::pow(v, Policy()); }\ - \ - template T nextafter(const T& a, const T& b){ return boost::math::nextafter(a, b, Policy()); }\ - template T float_next(const T& a){ return boost::math::float_next(a, Policy()); }\ - template T float_prior(const T& a){ return boost::math::float_prior(a, Policy()); }\ - template T float_distance(const T& a, const T& b){ return boost::math::float_distance(a, b, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type owens_t(RT1 a, RT2 z){ return boost::math::owens_t(a, z, Policy()); }\ - \ - template \ - inline std::complex::result_type> cyl_hankel_1(T1 v, T2 x)\ - { return boost::math::cyl_hankel_1(v, x, Policy()); }\ - \ - template \ - inline std::complex::result_type> cyl_hankel_2(T1 v, T2 x)\ - { return boost::math::cyl_hankel_2(v, x, Policy()); }\ - \ - template \ - inline std::complex::result_type> sph_hankel_1(T1 v, T2 x)\ - { return boost::math::sph_hankel_1(v, x, Policy()); }\ - \ - template \ - inline std::complex::result_type> sph_hankel_2(T1 v, T2 x)\ - { return boost::math::sph_hankel_2(v, x, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type jacobi_elliptic(T k, T theta, T* pcn, T* pdn)\ - { return boost::math::jacobi_elliptic(k, theta, pcn, pdn, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type jacobi_sn(U k, T theta)\ - { return boost::math::jacobi_sn(k, theta, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type jacobi_cn(T k, U theta)\ - { return boost::math::jacobi_cn(k, theta, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type jacobi_dn(T k, U theta)\ - { return boost::math::jacobi_dn(k, theta, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type jacobi_cd(T k, U theta)\ - { return boost::math::jacobi_cd(k, theta, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type jacobi_dc(T k, U theta)\ - { return boost::math::jacobi_dc(k, theta, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type jacobi_ns(T k, U theta)\ - { return boost::math::jacobi_ns(k, theta, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type jacobi_sd(T k, U theta)\ - { return boost::math::jacobi_sd(k, theta, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type jacobi_ds(T k, U theta)\ - { return boost::math::jacobi_ds(k, theta, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type jacobi_nc(T k, U theta)\ - { return boost::math::jacobi_nc(k, theta, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type jacobi_nd(T k, U theta)\ - { return boost::math::jacobi_nd(k, theta, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type jacobi_sc(T k, U theta)\ - { return boost::math::jacobi_sc(k, theta, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type jacobi_cs(T k, U theta)\ - { return boost::math::jacobi_cs(k, theta, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type airy_ai(T x)\ - { return boost::math::airy_ai(x, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type airy_bi(T x)\ - { return boost::math::airy_bi(x, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type airy_ai_prime(T x)\ - { return boost::math::airy_ai_prime(x, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type airy_bi_prime(T x)\ - { return boost::math::airy_bi_prime(x, Policy()); }\ - \ - template \ - inline T airy_ai_zero(int m)\ - { return boost::math::airy_ai_zero(m, Policy()); }\ - template \ - OutputIterator airy_ai_zero(int start_index, unsigned number_of_zeros, OutputIterator out_it)\ - { return boost::math::airy_ai_zero(start_index, number_of_zeros, out_it, Policy()); }\ - \ - template \ - inline T airy_bi_zero(int m)\ - { return boost::math::airy_bi_zero(m, Policy()); }\ - template \ - OutputIterator airy_bi_zero(int start_index, unsigned number_of_zeros, OutputIterator out_it)\ - { return boost::math::airy_bi_zero(start_index, number_of_zeros, out_it, Policy()); }\ - \ - template \ - T bernoulli_b2n(const int i)\ - { return boost::math::bernoulli_b2n(i, Policy()); }\ - template \ - OutputIterator bernoulli_b2n(int start_index, unsigned number_of_bernoullis_b2n, OutputIterator out_it)\ - { return boost::math::bernoulli_b2n(start_index, number_of_bernoullis_b2n, out_it, Policy()); }\ - \ - template \ - T tangent_t2n(const int i)\ - { return boost::math::tangent_t2n(i, Policy()); }\ - template \ - OutputIterator tangent_t2n(int start_index, unsigned number_of_bernoullis_b2n, OutputIterator out_it)\ - { return boost::math::tangent_t2n(start_index, number_of_bernoullis_b2n, out_it, Policy()); }\ - \ - - - - - -#endif // BOOST_MATH_SPECIAL_MATH_FWD_HPP - - diff --git a/bundled/boost-1.56.0/include/boost/math/special_functions/powm1.hpp b/bundled/boost-1.56.0/include/boost/math/special_functions/powm1.hpp deleted file mode 100644 index f3af3d6e59..0000000000 --- a/bundled/boost-1.56.0/include/boost/math/special_functions/powm1.hpp +++ /dev/null @@ -1,61 +0,0 @@ -// (C) Copyright John Maddock 2006. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_MATH_POWM1 -#define BOOST_MATH_POWM1 - -#ifdef _MSC_VER -#pragma once -#endif - -#include -#include -#include -#include - -namespace boost{ namespace math{ namespace detail{ - -template -inline T powm1_imp(const T a, const T z, const Policy& pol) -{ - BOOST_MATH_STD_USING - - if((fabs(a) < 1) || (fabs(z) < 1)) - { - T p = log(a) * z; - if(fabs(p) < 2) - return boost::math::expm1(p, pol); - // otherwise fall though: - } - return pow(a, z) - 1; -} - -} // detail - -template -inline typename tools::promote_args::type - powm1(const T1 a, const T2 z) -{ - typedef typename tools::promote_args::type result_type; - return detail::powm1_imp(static_cast(a), static_cast(z), policies::policy<>()); -} - -template -inline typename tools::promote_args::type - powm1(const T1 a, const T2 z, const Policy& pol) -{ - typedef typename tools::promote_args::type result_type; - return detail::powm1_imp(static_cast(a), static_cast(z), pol); -} - -} // namespace math -} // namespace boost - -#endif // BOOST_MATH_POWM1 - - - - - diff --git a/bundled/boost-1.56.0/include/boost/math/special_functions/sign.hpp b/bundled/boost-1.56.0/include/boost/math/special_functions/sign.hpp deleted file mode 100644 index f5c562d44c..0000000000 --- a/bundled/boost-1.56.0/include/boost/math/special_functions/sign.hpp +++ /dev/null @@ -1,194 +0,0 @@ -// (C) Copyright John Maddock 2006. -// (C) Copyright Johan Rade 2006. -// (C) Copyright Paul A. Bristow 2011 (added changesign). - -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_MATH_TOOLS_SIGN_HPP -#define BOOST_MATH_TOOLS_SIGN_HPP - -#ifdef _MSC_VER -#pragma once -#endif - -#include -#include -#include - -namespace boost{ namespace math{ - -namespace detail { - - // signbit - -#ifdef BOOST_MATH_USE_STD_FPCLASSIFY - template - inline int signbit_impl(T x, native_tag const&) - { - return (std::signbit)(x); - } -#endif - - // Generic versions first, note that these do not handle - // signed zero or NaN. - - template - inline int signbit_impl(T x, generic_tag const&) - { - return x < 0; - } - - template - inline int signbit_impl(T x, generic_tag const&) - { - return x < 0; - } - -#if defined(__GNUC__) && (LDBL_MANT_DIG == 106) - // - // Special handling for GCC's "double double" type, - // in this case the sign is the same as the sign we - // get by casting to double, no overflow/underflow - // can occur since the exponents are the same magnitude - // for the two types: - // - inline int signbit_impl(long double x, generic_tag const&) - { - return boost::math::signbit(static_cast(x)); - } - inline int signbit_impl(long double x, generic_tag const&) - { - return boost::math::signbit(static_cast(x)); - } -#endif - - template - inline int signbit_impl(T x, ieee_copy_all_bits_tag const&) - { - typedef BOOST_DEDUCED_TYPENAME fp_traits::type traits; - - BOOST_DEDUCED_TYPENAME traits::bits a; - traits::get_bits(x,a); - return a & traits::sign ? 1 : 0; - } - - template - inline int signbit_impl(T x, ieee_copy_leading_bits_tag const&) - { - typedef BOOST_DEDUCED_TYPENAME fp_traits::type traits; - - BOOST_DEDUCED_TYPENAME traits::bits a; - traits::get_bits(x,a); - - return a & traits::sign ? 1 : 0; - } - - // Changesign - - // Generic versions first, note that these do not handle - // signed zero or NaN. - - template - inline T (changesign_impl)(T x, generic_tag const&) - { - return -x; - } - - template - inline T (changesign_impl)(T x, generic_tag const&) - { - return -x; - } -#if defined(__GNUC__) && (LDBL_MANT_DIG == 106) - // - // Special handling for GCC's "double double" type, - // in this case we need to change the sign of both - // components of the "double double": - // - inline long double (changesign_impl)(long double x, generic_tag const&) - { - double* pd = reinterpret_cast(&x); - pd[0] = boost::math::changesign(pd[0]); - pd[1] = boost::math::changesign(pd[1]); - return x; - } - inline long double (changesign_impl)(long double x, generic_tag const&) - { - double* pd = reinterpret_cast(&x); - pd[0] = boost::math::changesign(pd[0]); - pd[1] = boost::math::changesign(pd[1]); - return x; - } -#endif - - template - inline T changesign_impl(T x, ieee_copy_all_bits_tag const&) - { - typedef BOOST_DEDUCED_TYPENAME fp_traits::sign_change_type traits; - - BOOST_DEDUCED_TYPENAME traits::bits a; - traits::get_bits(x,a); - a ^= traits::sign; - traits::set_bits(x,a); - return x; - } - - template - inline T (changesign_impl)(T x, ieee_copy_leading_bits_tag const&) - { - typedef BOOST_DEDUCED_TYPENAME fp_traits::sign_change_type traits; - - BOOST_DEDUCED_TYPENAME traits::bits a; - traits::get_bits(x,a); - a ^= traits::sign; - traits::set_bits(x,a); - return x; - } - - -} // namespace detail - -template int (signbit)(T x) -{ - typedef typename detail::fp_traits::type traits; - typedef typename traits::method method; - // typedef typename boost::is_floating_point::type fp_tag; - typedef typename tools::promote_args_permissive::type result_type; - return detail::signbit_impl(static_cast(x), method()); -} - -template -inline int sign BOOST_NO_MACRO_EXPAND(const T& z) -{ - return (z == 0) ? 0 : (boost::math::signbit)(z) ? -1 : 1; -} - -template typename tools::promote_args_permissive::type (changesign)(const T& x) -{ //!< \brief return unchanged binary pattern of x, except for change of sign bit. - typedef typename detail::fp_traits::sign_change_type traits; - typedef typename traits::method method; - // typedef typename boost::is_floating_point::type fp_tag; - typedef typename tools::promote_args_permissive::type result_type; - - return detail::changesign_impl(static_cast(x), method()); -} - -template -inline typename tools::promote_args_permissive::type - copysign BOOST_NO_MACRO_EXPAND(const T& x, const U& y) -{ - BOOST_MATH_STD_USING - typedef typename tools::promote_args_permissive::type result_type; - return (boost::math::signbit)(static_cast(x)) != (boost::math::signbit)(static_cast(y)) - ? (boost::math::changesign)(static_cast(x)) : static_cast(x); -} - -} // namespace math -} // namespace boost - - -#endif // BOOST_MATH_TOOLS_SIGN_HPP - - diff --git a/bundled/boost-1.56.0/include/boost/math/tools/big_constant.hpp b/bundled/boost-1.56.0/include/boost/math/tools/big_constant.hpp deleted file mode 100644 index 423cc1b631..0000000000 --- a/bundled/boost-1.56.0/include/boost/math/tools/big_constant.hpp +++ /dev/null @@ -1,68 +0,0 @@ - -// Copyright (c) 2011 John Maddock -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_MATH_TOOLS_BIG_CONSTANT_HPP -#define BOOST_MATH_TOOLS_BIG_CONSTANT_HPP - -#include -#ifndef BOOST_MATH_NO_LEXICAL_CAST -#include -#endif -#include -#include - -namespace boost{ namespace math{ - -namespace tools{ - -template -inline BOOST_CONSTEXPR_OR_CONST T make_big_value(boost::floatmax_t v, const char*, mpl::true_ const&, mpl::false_ const&) -{ - return static_cast(v); -} -template -inline BOOST_CONSTEXPR_OR_CONST T make_big_value(boost::floatmax_t v, const char*, mpl::true_ const&, mpl::true_ const&) -{ - return static_cast(v); -} -#ifndef BOOST_MATH_NO_LEXICAL_CAST -template -inline T make_big_value(boost::floatmax_t, const char* s, mpl::false_ const&, mpl::false_ const&) -{ - return boost::lexical_cast(s); -} -#endif -template -inline BOOST_CONSTEXPR const char* make_big_value(boost::floatmax_t, const char* s, mpl::false_ const&, mpl::true_ const&) -{ - return s; -} - -// -// For constants which might fit in a long double (if it's big enough): -// -#define BOOST_MATH_BIG_CONSTANT(T, D, x)\ - boost::math::tools::make_big_value(\ - BOOST_FLOATMAX_C(x), \ - BOOST_STRINGIZE(x), \ - mpl::bool_< (is_convertible::value) && \ - ((D <= std::numeric_limits::digits) \ - || is_floating_point::value \ - || (std::numeric_limits::is_specialized && \ - (std::numeric_limits::digits10 <= std::numeric_limits::digits10))) >(), \ - boost::is_convertible()) -// -// For constants too huge for any conceivable long double (and which generate compiler errors if we try and declare them as such): -// -#define BOOST_MATH_HUGE_CONSTANT(T, D, x)\ - boost::math::tools::make_big_value(0.0L, BOOST_STRINGIZE(x), \ - mpl::bool_::value || (std::numeric_limits::is_specialized && std::numeric_limits::max_exponent <= std::numeric_limits::max_exponent && std::numeric_limits::digits <= std::numeric_limits::digits)>(), \ - boost::is_convertible()) - -}}} // namespaces - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/math/tools/config.hpp b/bundled/boost-1.56.0/include/boost/math/tools/config.hpp deleted file mode 100644 index 4ec5768aaf..0000000000 --- a/bundled/boost-1.56.0/include/boost/math/tools/config.hpp +++ /dev/null @@ -1,397 +0,0 @@ -// Copyright (c) 2006-7 John Maddock -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_MATH_TOOLS_CONFIG_HPP -#define BOOST_MATH_TOOLS_CONFIG_HPP - -#ifdef _MSC_VER -#pragma once -#endif - -#include -#include // for boost::uintmax_t -#include -#include -#include // for min and max -#include -#include -#include -#if (defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)) -# include -#endif -#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS -# include -#endif - -#include - -#if (defined(__CYGWIN__) || defined(__FreeBSD__) || defined(__NetBSD__) \ - || (defined(__hppa) && !defined(__OpenBSD__)) || (defined(__NO_LONG_DOUBLE_MATH) && (DBL_MANT_DIG != LDBL_MANT_DIG))) \ - && !defined(BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS) -# define BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS -#endif -#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582)) -// -// Borland post 5.8.2 uses Dinkumware's std C lib which -// doesn't have true long double precision. Earlier -// versions are problematic too: -// -# define BOOST_MATH_NO_REAL_CONCEPT_TESTS -# define BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS -# define BOOST_MATH_CONTROL_FP _control87(MCW_EM,MCW_EM) -# include -#endif -#ifdef __IBMCPP__ -// -// For reasons I don't unserstand, the tests with IMB's compiler all -// pass at long double precision, but fail with real_concept, those tests -// are disabled for now. (JM 2012). -# define BOOST_MATH_NO_REAL_CONCEPT_TESTS -#endif -#if (defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)) && ((LDBL_MANT_DIG == 106) || (__LDBL_MANT_DIG__ == 106)) && !defined(BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS) -// -// Darwin's rather strange "double double" is rather hard to -// support, it should be possible given enough effort though... -// -# define BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS -#endif -#if defined(unix) && defined(__INTEL_COMPILER) && (__INTEL_COMPILER <= 1000) && !defined(BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS) -// -// Intel compiler prior to version 10 has sporadic problems -// calling the long double overloads of the std lib math functions: -// calling ::powl is OK, but std::pow(long double, long double) -// may segfault depending upon the value of the arguments passed -// and the specific Linux distribution. -// -// We'll be conservative and disable long double support for this compiler. -// -// Comment out this #define and try building the tests to determine whether -// your Intel compiler version has this issue or not. -// -# define BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS -#endif -#if defined(unix) && defined(__INTEL_COMPILER) -// -// Intel compiler has sporadic issues compiling std::fpclassify depending on -// the exact OS version used. Use our own code for this as we know it works -// well on Intel processors: -// -#define BOOST_MATH_DISABLE_STD_FPCLASSIFY -#endif - -#if defined(BOOST_MSVC) && !defined(_WIN32_WCE) - // Better safe than sorry, our tests don't support hardware exceptions: -# define BOOST_MATH_CONTROL_FP _control87(MCW_EM,MCW_EM) -#endif - -#ifdef __IBMCPP__ -# define BOOST_MATH_NO_DEDUCED_FUNCTION_POINTERS -#endif - -#if (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901)) -# define BOOST_MATH_USE_C99 -#endif - -#if (defined(__hpux) && !defined(__hppa)) -# define BOOST_MATH_USE_C99 -#endif - -#if defined(__GNUC__) && defined(_GLIBCXX_USE_C99) -# define BOOST_MATH_USE_C99 -#endif - -#if defined(_LIBCPP_VERSION) && !defined(_MSC_VER) -# define BOOST_MATH_USE_C99 -#endif - -#if defined(__CYGWIN__) || defined(__HP_aCC) || defined(BOOST_INTEL) \ - || defined(BOOST_NO_NATIVE_LONG_DOUBLE_FP_CLASSIFY) \ - || (defined(__GNUC__) && !defined(BOOST_MATH_USE_C99))\ - || defined(BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS) -# define BOOST_MATH_NO_NATIVE_LONG_DOUBLE_FP_CLASSIFY -#endif - -#if BOOST_WORKAROUND(__SUNPRO_CC, <= 0x590) - -# include "boost/type.hpp" -# include "boost/non_type.hpp" - -# define BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(t) boost::type* = 0 -# define BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(t) boost::type* -# define BOOST_MATH_EXPLICIT_TEMPLATE_NON_TYPE(t, v) boost::non_type* = 0 -# define BOOST_MATH_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) boost::non_type* - -# define BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(t) \ - , BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(t) -# define BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t) \ - , BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(t) -# define BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t, v) \ - , BOOST_MATH_EXPLICIT_TEMPLATE_NON_TYPE(t, v) -# define BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) \ - , BOOST_MATH_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) - -#else - -// no workaround needed: expand to nothing - -# define BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(t) -# define BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(t) -# define BOOST_MATH_EXPLICIT_TEMPLATE_NON_TYPE(t, v) -# define BOOST_MATH_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) - -# define BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(t) -# define BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t) -# define BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t, v) -# define BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) - - -#endif // __SUNPRO_CC - -#if (defined(__SUNPRO_CC) || defined(__hppa) || defined(__GNUC__)) && !defined(BOOST_MATH_SMALL_CONSTANT) -// Sun's compiler emits a hard error if a constant underflows, -// as does aCC on PA-RISC, while gcc issues a large number of warnings: -# define BOOST_MATH_SMALL_CONSTANT(x) 0.0 -#else -# define BOOST_MATH_SMALL_CONSTANT(x) x -#endif - - -#if BOOST_WORKAROUND(BOOST_MSVC, < 1400) -// -// Define if constants too large for a float cause "bad" -// values to be stored in the data, rather than infinity -// or a suitably large value. -// -# define BOOST_MATH_BUGGY_LARGE_FLOAT_CONSTANTS -#endif -// -// Tune performance options for specific compilers: -// -#ifdef BOOST_MSVC -# define BOOST_MATH_POLY_METHOD 2 -#elif defined(BOOST_INTEL) -# define BOOST_MATH_POLY_METHOD 2 -# define BOOST_MATH_RATIONAL_METHOD 2 -#elif defined(__GNUC__) -# define BOOST_MATH_POLY_METHOD 3 -# define BOOST_MATH_RATIONAL_METHOD 3 -# define BOOST_MATH_INT_TABLE_TYPE(RT, IT) RT -# define BOOST_MATH_INT_VALUE_SUFFIX(RV, SUF) RV##.0L -#endif - -#if defined(BOOST_NO_LONG_LONG) && !defined(BOOST_MATH_INT_TABLE_TYPE) -# define BOOST_MATH_INT_TABLE_TYPE(RT, IT) RT -# define BOOST_MATH_INT_VALUE_SUFFIX(RV, SUF) RV##.0L -#endif - -// -// The maximum order of polynomial that will be evaluated -// via an unrolled specialisation: -// -#ifndef BOOST_MATH_MAX_POLY_ORDER -# define BOOST_MATH_MAX_POLY_ORDER 17 -#endif -// -// Set the method used to evaluate polynomials and rationals: -// -#ifndef BOOST_MATH_POLY_METHOD -# define BOOST_MATH_POLY_METHOD 1 -#endif -#ifndef BOOST_MATH_RATIONAL_METHOD -# define BOOST_MATH_RATIONAL_METHOD 0 -#endif -// -// decide whether to store constants as integers or reals: -// -#ifndef BOOST_MATH_INT_TABLE_TYPE -# define BOOST_MATH_INT_TABLE_TYPE(RT, IT) IT -#endif -#ifndef BOOST_MATH_INT_VALUE_SUFFIX -# define BOOST_MATH_INT_VALUE_SUFFIX(RV, SUF) RV##SUF -#endif -// -// Test whether to support __float128: -// -#if defined(_GLIBCXX_USE_FLOAT128) && defined(BOOST_GCC) && !defined(__STRICT_ANSI__) \ - && !defined(BOOST_MATH_DISABLE_FLOAT128) || defined(BOOST_MATH_USE_FLOAT128) -// -// Only enable this when the compiler really is GCC as clang and probably -// intel too don't support __float128 yet :-( -// -#ifndef BOOST_MATH_USE_FLOAT128 -# define BOOST_MATH_USE_FLOAT128 -#endif - -# if defined(BOOST_INTEL) && defined(BOOST_INTEL_CXX_VERSION) && (BOOST_INTEL_CXX_VERSION >= 1310) && defined(__GNUC__) -# if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 6)) -# define BOOST_MATH_FLOAT128_TYPE __float128 -# endif -# elif defined(__GNUC__) -# define BOOST_MATH_FLOAT128_TYPE __float128 -# endif - -# ifndef BOOST_MATH_FLOAT128_TYPE -# define BOOST_MATH_FLOAT128_TYPE _Quad -# endif -#endif -// -// Check for WinCE with no iostream support: -// -#if defined(_WIN32_WCE) && !defined(__SGI_STL_PORT) -# define BOOST_MATH_NO_LEXICAL_CAST -#endif - -// -// Helper macro for controlling the FP behaviour: -// -#ifndef BOOST_MATH_CONTROL_FP -# define BOOST_MATH_CONTROL_FP -#endif -// -// Helper macro for using statements: -// -#define BOOST_MATH_STD_USING_CORE \ - using std::abs;\ - using std::acos;\ - using std::cos;\ - using std::fmod;\ - using std::modf;\ - using std::tan;\ - using std::asin;\ - using std::cosh;\ - using std::frexp;\ - using std::pow;\ - using std::tanh;\ - using std::atan;\ - using std::exp;\ - using std::ldexp;\ - using std::sin;\ - using std::atan2;\ - using std::fabs;\ - using std::log;\ - using std::sinh;\ - using std::ceil;\ - using std::floor;\ - using std::log10;\ - using std::sqrt; - -#define BOOST_MATH_STD_USING BOOST_MATH_STD_USING_CORE - -namespace boost{ namespace math{ -namespace tools -{ - -template -inline T max BOOST_PREVENT_MACRO_SUBSTITUTION(T a, T b, T c) -{ - return (std::max)((std::max)(a, b), c); -} - -template -inline T max BOOST_PREVENT_MACRO_SUBSTITUTION(T a, T b, T c, T d) -{ - return (std::max)((std::max)(a, b), (std::max)(c, d)); -} - -} // namespace tools - -template -void suppress_unused_variable_warning(const T&) -{ -} - -namespace detail{ - -template -struct is_integer_for_rounding -{ - static const bool value = boost::is_integral::value -#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS - || (std::numeric_limits::is_specialized && std::numeric_limits::is_integer) -#endif - ; -}; - -} - -}} // namespace boost namespace math - -#ifdef __GLIBC_PREREQ -# if __GLIBC_PREREQ(2,14) -# define BOOST_MATH_HAVE_FIXED_GLIBC -# endif -#endif - -#if ((defined(__linux__) && !defined(__UCLIBC__) && !defined(BOOST_MATH_HAVE_FIXED_GLIBC)) || defined(__QNX__) || defined(__IBMCPP__)) && !defined(BOOST_NO_FENV_H) -// -// This code was introduced in response to this glibc bug: http://sourceware.org/bugzilla/show_bug.cgi?id=2445 -// Basically powl and expl can return garbage when the result is small and certain exception flags are set -// on entrance to these functions. This appears to have been fixed in Glibc 2.14 (May 2011). -// Much more information in this message thread: https://groups.google.com/forum/#!topic/boost-list/ZT99wtIFlb4 -// - - #include - -# ifdef FE_ALL_EXCEPT - -namespace boost{ namespace math{ - namespace detail - { - struct fpu_guard - { - fpu_guard() - { - fegetexceptflag(&m_flags, FE_ALL_EXCEPT); - feclearexcept(FE_ALL_EXCEPT); - } - ~fpu_guard() - { - fesetexceptflag(&m_flags, FE_ALL_EXCEPT); - } - private: - fexcept_t m_flags; - }; - - } // namespace detail - }} // namespaces - -# define BOOST_FPU_EXCEPTION_GUARD boost::math::detail::fpu_guard local_guard_object; -# define BOOST_MATH_INSTRUMENT_FPU do{ fexcept_t cpu_flags; fegetexceptflag(&cpu_flags, FE_ALL_EXCEPT); BOOST_MATH_INSTRUMENT_VARIABLE(cpu_flags); } while(0); - -# else - -# define BOOST_FPU_EXCEPTION_GUARD -# define BOOST_MATH_INSTRUMENT_FPU - -# endif - -#else // All other platforms. -# define BOOST_FPU_EXCEPTION_GUARD -# define BOOST_MATH_INSTRUMENT_FPU -#endif - -#ifdef BOOST_MATH_INSTRUMENT - -# include -# include -# include - -# define BOOST_MATH_INSTRUMENT_CODE(x) \ - std::cout << std::setprecision(35) << __FILE__ << ":" << __LINE__ << " " << x << std::endl; -# define BOOST_MATH_INSTRUMENT_VARIABLE(name) BOOST_MATH_INSTRUMENT_CODE(BOOST_STRINGIZE(name) << " = " << name) - -#else - -# define BOOST_MATH_INSTRUMENT_CODE(x) -# define BOOST_MATH_INSTRUMENT_VARIABLE(name) - -#endif - -#endif // BOOST_MATH_TOOLS_CONFIG_HPP - - - - - diff --git a/bundled/boost-1.56.0/include/boost/math/tools/polynomial.hpp b/bundled/boost-1.56.0/include/boost/math/tools/polynomial.hpp deleted file mode 100644 index 9858880a4d..0000000000 --- a/bundled/boost-1.56.0/include/boost/math/tools/polynomial.hpp +++ /dev/null @@ -1,323 +0,0 @@ -// (C) Copyright John Maddock 2006. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_MATH_TOOLS_POLYNOMIAL_HPP -#define BOOST_MATH_TOOLS_POLYNOMIAL_HPP - -#ifdef _MSC_VER -#pragma once -#endif - -#include -#include -#include -#include - -#include -#include -#include - -namespace boost{ namespace math{ namespace tools{ - -template -T chebyshev_coefficient(unsigned n, unsigned m) -{ - BOOST_MATH_STD_USING - if(m > n) - return 0; - if((n & 1) != (m & 1)) - return 0; - if(n == 0) - return 1; - T result = T(n) / 2; - unsigned r = n - m; - r /= 2; - - BOOST_ASSERT(n - 2 * r == m); - - if(r & 1) - result = -result; - result /= n - r; - result *= boost::math::binomial_coefficient(n - r, r); - result *= ldexp(1.0f, m); - return result; -} - -template -Seq polynomial_to_chebyshev(const Seq& s) -{ - // Converts a Polynomial into Chebyshev form: - typedef typename Seq::value_type value_type; - typedef typename Seq::difference_type difference_type; - Seq result(s); - difference_type order = s.size() - 1; - difference_type even_order = order & 1 ? order - 1 : order; - difference_type odd_order = order & 1 ? order : order - 1; - - for(difference_type i = even_order; i >= 0; i -= 2) - { - value_type val = s[i]; - for(difference_type k = even_order; k > i; k -= 2) - { - val -= result[k] * chebyshev_coefficient(static_cast(k), static_cast(i)); - } - val /= chebyshev_coefficient(static_cast(i), static_cast(i)); - result[i] = val; - } - result[0] *= 2; - - for(difference_type i = odd_order; i >= 0; i -= 2) - { - value_type val = s[i]; - for(difference_type k = odd_order; k > i; k -= 2) - { - val -= result[k] * chebyshev_coefficient(static_cast(k), static_cast(i)); - } - val /= chebyshev_coefficient(static_cast(i), static_cast(i)); - result[i] = val; - } - return result; -} - -template -T evaluate_chebyshev(const Seq& a, const T& x) -{ - // Clenshaw's formula: - typedef typename Seq::difference_type difference_type; - T yk2 = 0; - T yk1 = 0; - T yk = 0; - for(difference_type i = a.size() - 1; i >= 1; --i) - { - yk2 = yk1; - yk1 = yk; - yk = 2 * x * yk1 - yk2 + a[i]; - } - return a[0] / 2 + yk * x - yk1; -} - -template -class polynomial -{ -public: - // typedefs: - typedef typename std::vector::value_type value_type; - typedef typename std::vector::size_type size_type; - - // construct: - polynomial(){} - template - polynomial(const U* data, unsigned order) - : m_data(data, data + order + 1) - { - } - template - polynomial(const U& point) - { - m_data.push_back(point); - } - - // copy: - polynomial(const polynomial& p) - : m_data(p.m_data) { } - - template - polynomial(const polynomial& p) - { - for(unsigned i = 0; i < p.size(); ++i) - { - m_data.push_back(boost::math::tools::real_cast(p[i])); - } - } - - // access: - size_type size()const { return m_data.size(); } - size_type degree()const { return m_data.size() - 1; } - value_type& operator[](size_type i) - { - return m_data[i]; - } - const value_type& operator[](size_type i)const - { - return m_data[i]; - } - T evaluate(T z)const - { - return boost::math::tools::evaluate_polynomial(&m_data[0], z, m_data.size());; - } - std::vector chebyshev()const - { - return polynomial_to_chebyshev(m_data); - } - - // operators: - template - polynomial& operator +=(const U& value) - { - if(m_data.size() == 0) - m_data.push_back(value); - else - { - m_data[0] += value; - } - return *this; - } - template - polynomial& operator -=(const U& value) - { - if(m_data.size() == 0) - m_data.push_back(-value); - else - { - m_data[0] -= value; - } - return *this; - } - template - polynomial& operator *=(const U& value) - { - for(size_type i = 0; i < m_data.size(); ++i) - m_data[i] *= value; - return *this; - } - template - polynomial& operator +=(const polynomial& value) - { - size_type s1 = (std::min)(m_data.size(), value.size()); - for(size_type i = 0; i < s1; ++i) - m_data[i] += value[i]; - for(size_type i = s1; i < value.size(); ++i) - m_data.push_back(value[i]); - return *this; - } - template - polynomial& operator -=(const polynomial& value) - { - size_type s1 = (std::min)(m_data.size(), value.size()); - for(size_type i = 0; i < s1; ++i) - m_data[i] -= value[i]; - for(size_type i = s1; i < value.size(); ++i) - m_data.push_back(-value[i]); - return *this; - } - template - polynomial& operator *=(const polynomial& value) - { - // TODO: FIXME: use O(N log(N)) algorithm!!! - BOOST_ASSERT(value.size()); - polynomial base(*this); - *this *= value[0]; - for(size_type i = 1; i < value.size(); ++i) - { - polynomial t(base); - t *= value[i]; - size_type s = size() - i; - for(size_type j = 0; j < s; ++j) - { - m_data[i+j] += t[j]; - } - for(size_type j = s; j < t.size(); ++j) - m_data.push_back(t[j]); - } - return *this; - } - -private: - std::vector m_data; -}; - -template -inline polynomial operator + (const polynomial& a, const polynomial& b) -{ - polynomial result(a); - result += b; - return result; -} - -template -inline polynomial operator - (const polynomial& a, const polynomial& b) -{ - polynomial result(a); - result -= b; - return result; -} - -template -inline polynomial operator * (const polynomial& a, const polynomial& b) -{ - polynomial result(a); - result *= b; - return result; -} - -template -inline polynomial operator + (const polynomial& a, const U& b) -{ - polynomial result(a); - result += b; - return result; -} - -template -inline polynomial operator - (const polynomial& a, const U& b) -{ - polynomial result(a); - result -= b; - return result; -} - -template -inline polynomial operator * (const polynomial& a, const U& b) -{ - polynomial result(a); - result *= b; - return result; -} - -template -inline polynomial operator + (const U& a, const polynomial& b) -{ - polynomial result(b); - result += a; - return result; -} - -template -inline polynomial operator - (const U& a, const polynomial& b) -{ - polynomial result(a); - result -= b; - return result; -} - -template -inline polynomial operator * (const U& a, const polynomial& b) -{ - polynomial result(b); - result *= a; - return result; -} - -template -inline std::basic_ostream& operator << (std::basic_ostream& os, const polynomial& poly) -{ - os << "{ "; - for(unsigned i = 0; i < poly.size(); ++i) - { - if(i) os << ", "; - os << poly[i]; - } - os << " }"; - return os; -} - -} // namespace tools -} // namespace math -} // namespace boost - -#endif // BOOST_MATH_TOOLS_POLYNOMIAL_HPP - - - diff --git a/bundled/boost-1.56.0/include/boost/math/tools/precision.hpp b/bundled/boost-1.56.0/include/boost/math/tools/precision.hpp deleted file mode 100644 index 49e653d6a3..0000000000 --- a/bundled/boost-1.56.0/include/boost/math/tools/precision.hpp +++ /dev/null @@ -1,382 +0,0 @@ -// Copyright John Maddock 2005-2006. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_MATH_TOOLS_PRECISION_INCLUDED -#define BOOST_MATH_TOOLS_PRECISION_INCLUDED - -#ifdef _MSC_VER -#pragma once -#endif - -#include -#include -#include -#include -#include -#include -#include - -// These two are for LDBL_MAN_DIG: -#include -#include - -namespace boost{ namespace math -{ -namespace tools -{ -// If T is not specialized, the functions digits, max_value and min_value, -// all get synthesised automatically from std::numeric_limits. -// However, if numeric_limits is not specialised for type RealType, -// for example with NTL::RR type, then you will get a compiler error -// when code tries to use these functions, unless you explicitly specialise them. - -// For example if the precision of RealType varies at runtime, -// then numeric_limits support may not be appropriate, -// see boost/math/tools/ntl.hpp for examples like -// template <> NTL::RR max_value ... -// See Conceptual Requirements for Real Number Types. - -template -inline int digits(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(T)) -{ -#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS - BOOST_STATIC_ASSERT( ::std::numeric_limits::is_specialized); - BOOST_STATIC_ASSERT( ::std::numeric_limits::radix == 2 || ::std::numeric_limits::radix == 10); -#else - BOOST_ASSERT(::std::numeric_limits::is_specialized); - BOOST_ASSERT(::std::numeric_limits::radix == 2 || ::std::numeric_limits::radix == 10); -#endif - return std::numeric_limits::radix == 2 - ? std::numeric_limits::digits - : ((std::numeric_limits::digits + 1) * 1000L) / 301L; -} - -template -inline T max_value(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(T)) -{ -#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS - BOOST_STATIC_ASSERT( ::std::numeric_limits::is_specialized); -#else - BOOST_ASSERT(::std::numeric_limits::is_specialized); -#endif - return (std::numeric_limits::max)(); -} // Also used as a finite 'infinite' value for - and +infinity, for example: -// -max_value = -1.79769e+308, max_value = 1.79769e+308. - -template -inline T min_value(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(T)) -{ -#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS - BOOST_STATIC_ASSERT( ::std::numeric_limits::is_specialized); -#else - BOOST_ASSERT(::std::numeric_limits::is_specialized); -#endif - return (std::numeric_limits::min)(); -} - -namespace detail{ -// -// Logarithmic limits come next, note that although -// we can compute these from the log of the max value -// that is not in general thread safe (if we cache the value) -// so it's better to specialise these: -// -// For type float first: -// -template -inline T log_max_value(const mpl::int_<128>& BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(T)) -{ - return 88.0f; -} - -template -inline T log_min_value(const mpl::int_<128>& BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(T)) -{ - return -87.0f; -} -// -// Now double: -// -template -inline T log_max_value(const mpl::int_<1024>& BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(T)) -{ - return 709.0; -} - -template -inline T log_min_value(const mpl::int_<1024>& BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(T)) -{ - return -708.0; -} -// -// 80 and 128-bit long doubles: -// -template -inline T log_max_value(const mpl::int_<16384>& BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(T)) -{ - return 11356.0L; -} - -template -inline T log_min_value(const mpl::int_<16384>& BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(T)) -{ - return -11355.0L; -} - -template -inline T log_max_value(const mpl::int_<0>& BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(T)) -{ -#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS - BOOST_STATIC_ASSERT( ::std::numeric_limits::is_specialized); -#else - BOOST_ASSERT(::std::numeric_limits::is_specialized); -#endif - BOOST_MATH_STD_USING - static const T val = log((std::numeric_limits::max)()); - return val; -} - -template -inline T log_min_value(const mpl::int_<0>& BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(T)) -{ -#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS - BOOST_STATIC_ASSERT( ::std::numeric_limits::is_specialized); -#else - BOOST_ASSERT(::std::numeric_limits::is_specialized); -#endif - BOOST_MATH_STD_USING - static const T val = log((std::numeric_limits::min)()); - return val; -} - -template -inline T epsilon(const mpl::true_& BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(T)) -{ - return std::numeric_limits::epsilon(); -} - -#if defined(__GNUC__) && ((LDBL_MANT_DIG == 106) || (__LDBL_MANT_DIG__ == 106)) -template <> -inline long double epsilon(const mpl::true_& BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(long double)) -{ - // numeric_limits on Darwin (and elsewhere) tells lies here: - // the issue is that long double on a few platforms is - // really a "double double" which has a non-contiguous - // mantissa: 53 bits followed by an unspecified number of - // zero bits, followed by 53 more bits. Thus the apparent - // precision of the type varies depending where it's been. - // Set epsilon to the value that a 106 bit fixed mantissa - // type would have, as that will give us sensible behaviour everywhere. - // - // This static assert fails for some unknown reason, so - // disabled for now... - // BOOST_STATIC_ASSERT(std::numeric_limits::digits == 106); - return 2.4651903288156618919116517665087e-32L; -} -#endif - -template -inline T epsilon(const mpl::false_& BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(T)) -{ - BOOST_MATH_STD_USING // for ADL of std names - static const T eps = ldexp(static_cast(1), 1-policies::digits >()); - return eps; -} - -} // namespace detail - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable:4309) -#endif - -template -inline T log_max_value(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(T)) -{ -#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS - typedef typename mpl::if_c< - (std::numeric_limits::radix == 2) && - (std::numeric_limits::max_exponent == 128 - || std::numeric_limits::max_exponent == 1024 - || std::numeric_limits::max_exponent == 16384), - mpl::int_<(std::numeric_limits::max_exponent > INT_MAX ? INT_MAX : static_cast(std::numeric_limits::max_exponent))>, - mpl::int_<0> - >::type tag_type; - BOOST_STATIC_ASSERT( ::std::numeric_limits::is_specialized); - return detail::log_max_value(tag_type()); -#else - BOOST_ASSERT(::std::numeric_limits::is_specialized); - BOOST_MATH_STD_USING - static const T val = log((std::numeric_limits::max)()); - return val; -#endif -} - -template -inline T log_min_value(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(T)) -{ -#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS - typedef typename mpl::if_c< - (std::numeric_limits::radix == 2) && - (std::numeric_limits::max_exponent == 128 - || std::numeric_limits::max_exponent == 1024 - || std::numeric_limits::max_exponent == 16384), - mpl::int_<(std::numeric_limits::max_exponent > INT_MAX ? INT_MAX : static_cast(std::numeric_limits::max_exponent))>, - mpl::int_<0> - >::type tag_type; - - BOOST_STATIC_ASSERT( ::std::numeric_limits::is_specialized); - return detail::log_min_value(tag_type()); -#else - BOOST_ASSERT(::std::numeric_limits::is_specialized); - BOOST_MATH_STD_USING - static const T val = log((std::numeric_limits::min)()); - return val; -#endif -} - -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -template -inline T epsilon(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(T)) -{ -#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS - return detail::epsilon(mpl::bool_< ::std::numeric_limits::is_specialized>()); -#else - return ::std::numeric_limits::is_specialized ? - detail::epsilon(mpl::true_()) : - detail::epsilon(mpl::false_()); -#endif -} - -namespace detail{ - -template -inline T root_epsilon_imp(const mpl::int_<24>&) -{ - return static_cast(0.00034526698300124390839884978618400831996329879769945L); -} - -template -inline T root_epsilon_imp(const T*, const mpl::int_<53>&) -{ - return static_cast(0.1490116119384765625e-7L); -} - -template -inline T root_epsilon_imp(const T*, const mpl::int_<64>&) -{ - return static_cast(0.32927225399135962333569506281281311031656150598474e-9L); -} - -template -inline T root_epsilon_imp(const T*, const mpl::int_<113>&) -{ - return static_cast(0.1387778780781445675529539585113525390625e-16L); -} - -template -inline T root_epsilon_imp(const T*, const Tag&) -{ - BOOST_MATH_STD_USING - static const T r_eps = sqrt(tools::epsilon()); - return r_eps; -} - -template -inline T cbrt_epsilon_imp(const mpl::int_<24>&) -{ - return static_cast(0.0049215666011518482998719164346805794944150447839903L); -} - -template -inline T cbrt_epsilon_imp(const T*, const mpl::int_<53>&) -{ - return static_cast(6.05545445239333906078989272793696693569753008995e-6L); -} - -template -inline T cbrt_epsilon_imp(const T*, const mpl::int_<64>&) -{ - return static_cast(4.76837158203125e-7L); -} - -template -inline T cbrt_epsilon_imp(const T*, const mpl::int_<113>&) -{ - return static_cast(5.7749313854154005630396773604745549542403508090496e-12L); -} - -template -inline T cbrt_epsilon_imp(const T*, const Tag&) -{ - BOOST_MATH_STD_USING; - static const T cbrt_eps = pow(tools::epsilon(), T(1) / 3); - return cbrt_eps; -} - -template -inline T forth_root_epsilon_imp(const T*, const mpl::int_<24>&) -{ - return static_cast(0.018581361171917516667460937040007436176452688944747L); -} - -template -inline T forth_root_epsilon_imp(const T*, const mpl::int_<53>&) -{ - return static_cast(0.0001220703125L); -} - -template -inline T forth_root_epsilon_imp(const T*, const mpl::int_<64>&) -{ - return static_cast(0.18145860519450699870567321328132261891067079047605e-4L); -} - -template -inline T forth_root_epsilon_imp(const T*, const mpl::int_<113>&) -{ - return static_cast(0.37252902984619140625e-8L); -} - -template -inline T forth_root_epsilon_imp(const T*, const Tag&) -{ - BOOST_MATH_STD_USING - static const T r_eps = sqrt(sqrt(tools::epsilon())); - return r_eps; -} - -} - -template -inline T root_epsilon() -{ - typedef mpl::int_< (::std::numeric_limits::radix == 2) ? std::numeric_limits::digits : 0> tag_type; - return detail::root_epsilon_imp(static_cast(0), tag_type()); -} - -template -inline T cbrt_epsilon() -{ - typedef mpl::int_< (::std::numeric_limits::radix == 2) ? std::numeric_limits::digits : 0> tag_type; - return detail::cbrt_epsilon_imp(static_cast(0), tag_type()); -} - -template -inline T forth_root_epsilon() -{ - typedef mpl::int_< (::std::numeric_limits::radix == 2) ? std::numeric_limits::digits : 0> tag_type; - return detail::forth_root_epsilon_imp(static_cast(0), tag_type()); -} - -} // namespace tools -} // namespace math -} // namespace boost - -#endif // BOOST_MATH_TOOLS_PRECISION_INCLUDED - diff --git a/bundled/boost-1.56.0/include/boost/math/tools/rational.hpp b/bundled/boost-1.56.0/include/boost/math/tools/rational.hpp deleted file mode 100644 index accffeaf26..0000000000 --- a/bundled/boost-1.56.0/include/boost/math/tools/rational.hpp +++ /dev/null @@ -1,333 +0,0 @@ -// (C) Copyright John Maddock 2006. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_MATH_TOOLS_RATIONAL_HPP -#define BOOST_MATH_TOOLS_RATIONAL_HPP - -#ifdef _MSC_VER -#pragma once -#endif - -#include -#include -#include - -#if BOOST_MATH_POLY_METHOD == 1 -# define BOOST_HEADER() -# include BOOST_HEADER() -# undef BOOST_HEADER -#elif BOOST_MATH_POLY_METHOD == 2 -# define BOOST_HEADER() -# include BOOST_HEADER() -# undef BOOST_HEADER -#elif BOOST_MATH_POLY_METHOD == 3 -# define BOOST_HEADER() -# include BOOST_HEADER() -# undef BOOST_HEADER -#endif -#if BOOST_MATH_RATIONAL_METHOD == 1 -# define BOOST_HEADER() -# include BOOST_HEADER() -# undef BOOST_HEADER -#elif BOOST_MATH_RATIONAL_METHOD == 2 -# define BOOST_HEADER() -# include BOOST_HEADER() -# undef BOOST_HEADER -#elif BOOST_MATH_RATIONAL_METHOD == 3 -# define BOOST_HEADER() -# include BOOST_HEADER() -# undef BOOST_HEADER -#endif - -#if 0 -// -// This just allows dependency trackers to find the headers -// used in the above PP-magic. -// -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#endif - -namespace boost{ namespace math{ namespace tools{ - -// -// Forward declaration to keep two phase lookup happy: -// -template -U evaluate_polynomial(const T* poly, U const& z, std::size_t count); - -namespace detail{ - -template -inline V evaluate_polynomial_c_imp(const T* a, const V& val, const Tag*) -{ - return evaluate_polynomial(a, val, Tag::value); -} - -} // namespace detail - -// -// Polynomial evaluation with runtime size. -// This requires a for-loop which may be more expensive than -// the loop expanded versions above: -// -template -inline U evaluate_polynomial(const T* poly, U const& z, std::size_t count) -{ - BOOST_ASSERT(count > 0); - U sum = static_cast(poly[count - 1]); - for(int i = static_cast(count) - 2; i >= 0; --i) - { - sum *= z; - sum += static_cast(poly[i]); - } - return sum; -} -// -// Compile time sized polynomials, just inline forwarders to the -// implementations above: -// -template -inline V evaluate_polynomial(const T(&a)[N], const V& val) -{ - typedef mpl::int_ tag_type; - return detail::evaluate_polynomial_c_imp(static_cast(a), val, static_cast(0)); -} - -template -inline V evaluate_polynomial(const boost::array& a, const V& val) -{ - typedef mpl::int_ tag_type; - return detail::evaluate_polynomial_c_imp(static_cast(a.data()), val, static_cast(0)); -} -// -// Even polynomials are trivial: just square the argument! -// -template -inline U evaluate_even_polynomial(const T* poly, U z, std::size_t count) -{ - return evaluate_polynomial(poly, U(z*z), count); -} - -template -inline V evaluate_even_polynomial(const T(&a)[N], const V& z) -{ - return evaluate_polynomial(a, V(z*z)); -} - -template -inline V evaluate_even_polynomial(const boost::array& a, const V& z) -{ - return evaluate_polynomial(a, V(z*z)); -} -// -// Odd polynomials come next: -// -template -inline U evaluate_odd_polynomial(const T* poly, U z, std::size_t count) -{ - return poly[0] + z * evaluate_polynomial(poly+1, U(z*z), count-1); -} - -template -inline V evaluate_odd_polynomial(const T(&a)[N], const V& z) -{ - typedef mpl::int_ tag_type; - return a[0] + z * detail::evaluate_polynomial_c_imp(static_cast(a) + 1, V(z*z), static_cast(0)); -} - -template -inline V evaluate_odd_polynomial(const boost::array& a, const V& z) -{ - typedef mpl::int_ tag_type; - return a[0] + z * detail::evaluate_polynomial_c_imp(static_cast(a.data()) + 1, V(z*z), static_cast(0)); -} - -template -V evaluate_rational(const T* num, const U* denom, const V& z_, std::size_t count); - -namespace detail{ - -template -inline V evaluate_rational_c_imp(const T* num, const U* denom, const V& z, const Tag*) -{ - return boost::math::tools::evaluate_rational(num, denom, z, Tag::value); -} - -} -// -// Rational functions: numerator and denominator must be -// equal in size. These always have a for-loop and so may be less -// efficient than evaluating a pair of polynomials. However, there -// are some tricks we can use to prevent overflow that might otherwise -// occur in polynomial evaluation, if z is large. This is important -// in our Lanczos code for example. -// -template -V evaluate_rational(const T* num, const U* denom, const V& z_, std::size_t count) -{ - V z(z_); - V s1, s2; - if(z <= 1) - { - s1 = static_cast(num[count-1]); - s2 = static_cast(denom[count-1]); - for(int i = (int)count - 2; i >= 0; --i) - { - s1 *= z; - s2 *= z; - s1 += num[i]; - s2 += denom[i]; - } - } - else - { - z = 1 / z; - s1 = static_cast(num[0]); - s2 = static_cast(denom[0]); - for(unsigned i = 1; i < count; ++i) - { - s1 *= z; - s2 *= z; - s1 += num[i]; - s2 += denom[i]; - } - } - return s1 / s2; -} - -template -inline V evaluate_rational(const T(&a)[N], const U(&b)[N], const V& z) -{ - return detail::evaluate_rational_c_imp(a, b, z, static_cast*>(0)); -} - -template -inline V evaluate_rational(const boost::array& a, const boost::array& b, const V& z) -{ - return detail::evaluate_rational_c_imp(a.data(), b.data(), z, static_cast*>(0)); -} - -} // namespace tools -} // namespace math -} // namespace boost - -#endif // BOOST_MATH_TOOLS_RATIONAL_HPP - - - - diff --git a/bundled/boost-1.56.0/include/boost/math/tools/roots.hpp b/bundled/boost-1.56.0/include/boost/math/tools/roots.hpp deleted file mode 100644 index 2442f5c2d1..0000000000 --- a/bundled/boost-1.56.0/include/boost/math/tools/roots.hpp +++ /dev/null @@ -1,542 +0,0 @@ -// (C) Copyright John Maddock 2006. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_MATH_TOOLS_NEWTON_SOLVER_HPP -#define BOOST_MATH_TOOLS_NEWTON_SOLVER_HPP - -#ifdef _MSC_VER -#pragma once -#endif - -#include -#include -#include - -#include -#include -#include -#include - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4512) -#endif -#include -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#include -#include -#include - -namespace boost{ namespace math{ namespace tools{ - -namespace detail{ - -template -inline void unpack_0(const Tuple& t, T& val) -{ val = boost::math::get<0>(t); } - -template -void handle_zero_derivative(F f, - T& last_f0, - const T& f0, - T& delta, - T& result, - T& guess, - const T& min, - const T& max) -{ - if(last_f0 == 0) - { - // this must be the first iteration, pretend that we had a - // previous one at either min or max: - if(result == min) - { - guess = max; - } - else - { - guess = min; - } - unpack_0(f(guess), last_f0); - delta = guess - result; - } - if(sign(last_f0) * sign(f0) < 0) - { - // we've crossed over so move in opposite direction to last step: - if(delta < 0) - { - delta = (result - min) / 2; - } - else - { - delta = (result - max) / 2; - } - } - else - { - // move in same direction as last step: - if(delta < 0) - { - delta = (result - max) / 2; - } - else - { - delta = (result - min) / 2; - } - } -} - -} // namespace - -template -std::pair bisect(F f, T min, T max, Tol tol, boost::uintmax_t& max_iter, const Policy& pol) -{ - T fmin = f(min); - T fmax = f(max); - if(fmin == 0) - return std::make_pair(min, min); - if(fmax == 0) - return std::make_pair(max, max); - - // - // Error checking: - // - static const char* function = "boost::math::tools::bisect<%1%>"; - if(min >= max) - { - return boost::math::detail::pair_from_single(policies::raise_evaluation_error(function, - "Arguments in wrong order in boost::math::tools::bisect (first arg=%1%)", min, pol)); - } - if(fmin * fmax >= 0) - { - return boost::math::detail::pair_from_single(policies::raise_evaluation_error(function, - "No change of sign in boost::math::tools::bisect, either there is no root to find, or there are multiple roots in the interval (f(min) = %1%).", fmin, pol)); - } - - // - // Three function invocations so far: - // - boost::uintmax_t count = max_iter; - if(count < 3) - count = 0; - else - count -= 3; - - while(count && (0 == tol(min, max))) - { - T mid = (min + max) / 2; - T fmid = f(mid); - if((mid == max) || (mid == min)) - break; - if(fmid == 0) - { - min = max = mid; - break; - } - else if(sign(fmid) * sign(fmin) < 0) - { - max = mid; - fmax = fmid; - } - else - { - min = mid; - fmin = fmid; - } - --count; - } - - max_iter -= count; - -#ifdef BOOST_MATH_INSTRUMENT - std::cout << "Bisection iteration, final count = " << max_iter << std::endl; - - static boost::uintmax_t max_count = 0; - if(max_iter > max_count) - { - max_count = max_iter; - std::cout << "Maximum iterations: " << max_iter << std::endl; - } -#endif - - return std::make_pair(min, max); -} - -template -inline std::pair bisect(F f, T min, T max, Tol tol, boost::uintmax_t& max_iter) -{ - return bisect(f, min, max, tol, max_iter, policies::policy<>()); -} - -template -inline std::pair bisect(F f, T min, T max, Tol tol) -{ - boost::uintmax_t m = (std::numeric_limits::max)(); - return bisect(f, min, max, tol, m, policies::policy<>()); -} - -template -T newton_raphson_iterate(F f, T guess, T min, T max, int digits, boost::uintmax_t& max_iter) -{ - BOOST_MATH_STD_USING - - T f0(0), f1, last_f0(0); - T result = guess; - - T factor = static_cast(ldexp(1.0, 1 - digits)); - T delta = 1; - T delta1 = tools::max_value(); - T delta2 = tools::max_value(); - - boost::uintmax_t count(max_iter); - - do{ - last_f0 = f0; - delta2 = delta1; - delta1 = delta; - boost::math::tie(f0, f1) = f(result); - if(0 == f0) - break; - if(f1 == 0) - { - // Oops zero derivative!!! -#ifdef BOOST_MATH_INSTRUMENT - std::cout << "Newton iteration, zero derivative found" << std::endl; -#endif - detail::handle_zero_derivative(f, last_f0, f0, delta, result, guess, min, max); - } - else - { - delta = f0 / f1; - } -#ifdef BOOST_MATH_INSTRUMENT - std::cout << "Newton iteration, delta = " << delta << std::endl; -#endif - if(fabs(delta * 2) > fabs(delta2)) - { - // last two steps haven't converged, try bisection: - delta = (delta > 0) ? (result - min) / 2 : (result - max) / 2; - } - guess = result; - result -= delta; - if(result <= min) - { - delta = 0.5F * (guess - min); - result = guess - delta; - if((result == min) || (result == max)) - break; - } - else if(result >= max) - { - delta = 0.5F * (guess - max); - result = guess - delta; - if((result == min) || (result == max)) - break; - } - // update brackets: - if(delta > 0) - max = guess; - else - min = guess; - }while(--count && (fabs(result * factor) < fabs(delta))); - - max_iter -= count; - -#ifdef BOOST_MATH_INSTRUMENT - std::cout << "Newton Raphson iteration, final count = " << max_iter << std::endl; - - static boost::uintmax_t max_count = 0; - if(max_iter > max_count) - { - max_count = max_iter; - std::cout << "Maximum iterations: " << max_iter << std::endl; - } -#endif - - return result; -} - -template -inline T newton_raphson_iterate(F f, T guess, T min, T max, int digits) -{ - boost::uintmax_t m = (std::numeric_limits::max)(); - return newton_raphson_iterate(f, guess, min, max, digits, m); -} - -template -T halley_iterate(F f, T guess, T min, T max, int digits, boost::uintmax_t& max_iter) -{ - BOOST_MATH_STD_USING - - T f0(0), f1, f2; - T result = guess; - - T factor = static_cast(ldexp(1.0, 1 - digits)); - T delta = (std::max)(T(10000000 * guess), T(10000000)); // arbitarily large delta - T last_f0 = 0; - T delta1 = delta; - T delta2 = delta; - - bool out_of_bounds_sentry = false; - -#ifdef BOOST_MATH_INSTRUMENT - std::cout << "Halley iteration, limit = " << factor << std::endl; -#endif - - boost::uintmax_t count(max_iter); - - do{ - last_f0 = f0; - delta2 = delta1; - delta1 = delta; - boost::math::tie(f0, f1, f2) = f(result); - - BOOST_MATH_INSTRUMENT_VARIABLE(f0); - BOOST_MATH_INSTRUMENT_VARIABLE(f1); - BOOST_MATH_INSTRUMENT_VARIABLE(f2); - - if(0 == f0) - break; - if(f1 == 0) - { - // Oops zero derivative!!! -#ifdef BOOST_MATH_INSTRUMENT - std::cout << "Halley iteration, zero derivative found" << std::endl; -#endif - detail::handle_zero_derivative(f, last_f0, f0, delta, result, guess, min, max); - } - else - { - if(f2 != 0) - { - T denom = 2 * f0; - T num = 2 * f1 - f0 * (f2 / f1); - - BOOST_MATH_INSTRUMENT_VARIABLE(denom); - BOOST_MATH_INSTRUMENT_VARIABLE(num); - - if((fabs(num) < 1) && (fabs(denom) >= fabs(num) * tools::max_value())) - { - // possible overflow, use Newton step: - delta = f0 / f1; - } - else - delta = denom / num; - if(delta * f1 / f0 < 0) - { - // Oh dear, we have a problem as Newton and Halley steps - // disagree about which way we should move. Probably - // there is cancelation error in the calculation of the - // Halley step, or else the derivatives are so small - // that their values are basically trash. We will move - // in the direction indicated by a Newton step, but - // by no more than twice the current guess value, otherwise - // we can jump way out of bounds if we're not careful. - // See https://svn.boost.org/trac/boost/ticket/8314. - delta = f0 / f1; - if(fabs(delta) > 2 * fabs(guess)) - delta = (delta < 0 ? -1 : 1) * 2 * fabs(guess); - } - } - else - delta = f0 / f1; - } -#ifdef BOOST_MATH_INSTRUMENT - std::cout << "Halley iteration, delta = " << delta << std::endl; -#endif - T convergence = fabs(delta / delta2); - if((convergence > 0.8) && (convergence < 2)) - { - // last two steps haven't converged, try bisection: - delta = (delta > 0) ? (result - min) / 2 : (result - max) / 2; - if(fabs(delta) > result) - delta = sign(delta) * result; // protect against huge jumps! - // reset delta2 so that this branch will *not* be taken on the - // next iteration: - delta2 = delta * 3; - BOOST_MATH_INSTRUMENT_VARIABLE(delta); - } - guess = result; - result -= delta; - BOOST_MATH_INSTRUMENT_VARIABLE(result); - - // check for out of bounds step: - if(result < min) - { - T diff = ((fabs(min) < 1) && (fabs(result) > 1) && (tools::max_value() / fabs(result) < fabs(min))) ? T(1000) : T(result / min); - if(fabs(diff) < 1) - diff = 1 / diff; - if(!out_of_bounds_sentry && (diff > 0) && (diff < 3)) - { - // Only a small out of bounds step, lets assume that the result - // is probably approximately at min: - delta = 0.99f * (guess - min); - result = guess - delta; - out_of_bounds_sentry = true; // only take this branch once! - } - else - { - delta = (guess - min) / 2; - result = guess - delta; - if((result == min) || (result == max)) - break; - } - } - else if(result > max) - { - T diff = ((fabs(max) < 1) && (fabs(result) > 1) && (tools::max_value() / fabs(result) < fabs(max))) ? T(1000) : T(result / max); - if(fabs(diff) < 1) - diff = 1 / diff; - if(!out_of_bounds_sentry && (diff > 0) && (diff < 3)) - { - // Only a small out of bounds step, lets assume that the result - // is probably approximately at min: - delta = 0.99f * (guess - max); - result = guess - delta; - out_of_bounds_sentry = true; // only take this branch once! - } - else - { - delta = (guess - max) / 2; - result = guess - delta; - if((result == min) || (result == max)) - break; - } - } - // update brackets: - if(delta > 0) - max = guess; - else - min = guess; - }while(--count && (fabs(result * factor) < fabs(delta))); - - max_iter -= count; - -#ifdef BOOST_MATH_INSTRUMENT - std::cout << "Halley iteration, final count = " << max_iter << std::endl; -#endif - - return result; -} - -template -inline T halley_iterate(F f, T guess, T min, T max, int digits) -{ - boost::uintmax_t m = (std::numeric_limits::max)(); - return halley_iterate(f, guess, min, max, digits, m); -} - -template -T schroeder_iterate(F f, T guess, T min, T max, int digits, boost::uintmax_t& max_iter) -{ - BOOST_MATH_STD_USING - - T f0(0), f1, f2, last_f0(0); - T result = guess; - - T factor = static_cast(ldexp(1.0, 1 - digits)); - T delta = 0; - T delta1 = tools::max_value(); - T delta2 = tools::max_value(); - -#ifdef BOOST_MATH_INSTRUMENT - std::cout << "Schroeder iteration, limit = " << factor << std::endl; -#endif - - boost::uintmax_t count(max_iter); - - do{ - last_f0 = f0; - delta2 = delta1; - delta1 = delta; - boost::math::tie(f0, f1, f2) = f(result); - if(0 == f0) - break; - if((f1 == 0) && (f2 == 0)) - { - // Oops zero derivative!!! -#ifdef BOOST_MATH_INSTRUMENT - std::cout << "Halley iteration, zero derivative found" << std::endl; -#endif - detail::handle_zero_derivative(f, last_f0, f0, delta, result, guess, min, max); - } - else - { - T ratio = f0 / f1; - if(ratio / result < 0.1) - { - delta = ratio + (f2 / (2 * f1)) * ratio * ratio; - // check second derivative doesn't over compensate: - if(delta * ratio < 0) - delta = ratio; - } - else - delta = ratio; // fall back to Newton iteration. - } - if(fabs(delta * 2) > fabs(delta2)) - { - // last two steps haven't converged, try bisection: - delta = (delta > 0) ? (result - min) / 2 : (result - max) / 2; - } - guess = result; - result -= delta; -#ifdef BOOST_MATH_INSTRUMENT - std::cout << "Halley iteration, delta = " << delta << std::endl; -#endif - if(result <= min) - { - delta = 0.5F * (guess - min); - result = guess - delta; - if((result == min) || (result == max)) - break; - } - else if(result >= max) - { - delta = 0.5F * (guess - max); - result = guess - delta; - if((result == min) || (result == max)) - break; - } - // update brackets: - if(delta > 0) - max = guess; - else - min = guess; - }while(--count && (fabs(result * factor) < fabs(delta))); - - max_iter -= count; - -#ifdef BOOST_MATH_INSTRUMENT - std::cout << "Schroeder iteration, final count = " << max_iter << std::endl; - - static boost::uintmax_t max_count = 0; - if(max_iter > max_count) - { - max_count = max_iter; - std::cout << "Maximum iterations: " << max_iter << std::endl; - } -#endif - - return result; -} - -template -inline T schroeder_iterate(F f, T guess, T min, T max, int digits) -{ - boost::uintmax_t m = (std::numeric_limits::max)(); - return schroeder_iterate(f, guess, min, max, digits, m); -} - -} // namespace tools -} // namespace math -} // namespace boost - -#endif // BOOST_MATH_TOOLS_NEWTON_SOLVER_HPP - - - diff --git a/bundled/boost-1.56.0/include/boost/math/tools/traits.hpp b/bundled/boost-1.56.0/include/boost/math/tools/traits.hpp deleted file mode 100644 index c49bf19b86..0000000000 --- a/bundled/boost-1.56.0/include/boost/math/tools/traits.hpp +++ /dev/null @@ -1,111 +0,0 @@ -// Copyright John Maddock 2007. - -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -/* -This header defines two traits classes, both in namespace boost::math::tools. - -is_distribution::value is true iff D has overloaded "cdf" and -"quantile" functions, plus member typedefs value_type and policy_type. -It's not much of a definitive test frankly, -but if it looks like a distribution and quacks like a distribution -then it must be a distribution. - -is_scaled_distribution::value is true iff D is a distribution -as defined above, and has member functions "scale" and "location". - -*/ - -#ifndef BOOST_STATS_IS_DISTRIBUTION_HPP -#define BOOST_STATS_IS_DISTRIBUTION_HPP - -#ifdef _MSC_VER -#pragma once -#endif - -#include -// should be the last #include -#include - -namespace boost{ namespace math{ namespace tools{ - -namespace detail{ - -BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_value_type, value_type, true) -BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_policy_type, policy_type, true) - -template -char cdf(const D& ...); -template -char quantile(const D& ...); - -template -struct has_cdf -{ - static D d; - BOOST_STATIC_CONSTANT(bool, value = sizeof(cdf(d, 0.0f)) != 1); -}; - -template -struct has_quantile -{ - static D d; - BOOST_STATIC_CONSTANT(bool, value = sizeof(quantile(d, 0.0f)) != 1); -}; - -template -struct is_distribution_imp -{ - BOOST_STATIC_CONSTANT(bool, value = - has_quantile::value - && has_cdf::value - && has_value_type::value - && has_policy_type::value); -}; - -template -struct result_tag{}; - -template -double test_has_location(const volatile result_tag*); -template -char test_has_location(...); - -template -double test_has_scale(const volatile result_tag*); -template -char test_has_scale(...); - -template -struct is_scaled_distribution_helper -{ - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template -struct is_scaled_distribution_helper -{ - BOOST_STATIC_CONSTANT(bool, value = - (sizeof(test_has_location(0)) != 1) - && - (sizeof(test_has_scale(0)) != 1)); -}; - -template -struct is_scaled_distribution_imp -{ - BOOST_STATIC_CONSTANT(bool, value = (::boost::math::tools::detail::is_scaled_distribution_helper::value>::value)); -}; - -} // namespace detail - -BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_distribution,T,::boost::math::tools::detail::is_distribution_imp::value) -BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_scaled_distribution,T,::boost::math::tools::detail::is_scaled_distribution_imp::value) - -}}} - -#endif - - diff --git a/bundled/boost-1.56.0/include/boost/math/tools/tuple.hpp b/bundled/boost-1.56.0/include/boost/math/tools/tuple.hpp deleted file mode 100644 index 0ae778cbef..0000000000 --- a/bundled/boost-1.56.0/include/boost/math/tools/tuple.hpp +++ /dev/null @@ -1,90 +0,0 @@ -// (C) Copyright John Maddock 2010. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_MATH_TUPLE_HPP_INCLUDED -# define BOOST_MATH_TUPLE_HPP_INCLUDED -# include - -#ifndef BOOST_NO_CXX11_HDR_TUPLE - -#include - -namespace boost{ namespace math{ - -using ::std::tuple; - -// [6.1.3.2] Tuple creation functions -using ::std::ignore; -using ::std::make_tuple; -using ::std::tie; -using ::std::get; - -// [6.1.3.3] Tuple helper classes -using ::std::tuple_size; -using ::std::tuple_element; - -}} - -#elif (defined(__BORLANDC__) && (__BORLANDC__ <= 0x600)) || defined(__IBMCPP__) - -#include -#include -#include - -namespace boost{ namespace math{ - -using ::boost::tuple; - -// [6.1.3.2] Tuple creation functions -using ::boost::tuples::ignore; -using ::boost::make_tuple; -using ::boost::tie; - -// [6.1.3.3] Tuple helper classes -template -struct tuple_size - : public ::boost::integral_constant - < ::std::size_t, ::boost::tuples::length::value> -{}; - -template < int I, class T> -struct tuple_element -{ - typedef typename boost::tuples::element::type type; -}; - -#if !BOOST_WORKAROUND(__BORLANDC__, < 0x0582) -// [6.1.3.4] Element access -using ::boost::get; -#endif - -} } // namespaces - -#else - -#include -#include - -namespace boost{ namespace math{ - -using ::boost::fusion::tuple; - -// [6.1.3.2] Tuple creation functions -using ::boost::fusion::ignore; -using ::boost::fusion::make_tuple; -using ::boost::fusion::tie; -using ::boost::fusion::get; - -// [6.1.3.3] Tuple helper classes -using ::boost::fusion::tuple_size; -using ::boost::fusion::tuple_element; - -}} - -#endif - -#endif - - diff --git a/bundled/boost-1.56.0/include/boost/math/tools/workaround.hpp b/bundled/boost-1.56.0/include/boost/math/tools/workaround.hpp deleted file mode 100644 index 20106814c7..0000000000 --- a/bundled/boost-1.56.0/include/boost/math/tools/workaround.hpp +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright (c) 2006-7 John Maddock -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_MATH_TOOLS_WORHAROUND_HPP -#define BOOST_MATH_TOOLS_WORHAROUND_HPP - -#ifdef _MSC_VER -#pragma once -#endif - -#include - -namespace boost{ namespace math{ namespace tools{ -// -// We call this short forwarding function so that we can work around a bug -// on Darwin that causes std::fmod to return a NaN. The test case is: -// std::fmod(1185.0L, 1.5L); -// -template -inline T fmod_workaround(T a, T b) -{ - BOOST_MATH_STD_USING - return fmod(a, b); -} -#if (defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)) && ((LDBL_MANT_DIG == 106) || (__LDBL_MANT_DIG__ == 106)) -template <> -inline long double fmod_workaround(long double a, long double b) -{ - return ::fmodl(a, b); -} -#endif - -}}} // namespaces - -#endif // BOOST_MATH_TOOLS_WORHAROUND_HPP - diff --git a/bundled/boost-1.56.0/include/boost/math_fwd.hpp b/bundled/boost-1.56.0/include/boost/math_fwd.hpp deleted file mode 100644 index f9b79151a5..0000000000 --- a/bundled/boost-1.56.0/include/boost/math_fwd.hpp +++ /dev/null @@ -1,108 +0,0 @@ -// Boost math_fwd.hpp header file ------------------------------------------// - -// (C) Copyright Hubert Holin and Daryle Walker 2001-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/libs/math for documentation. - -#ifndef BOOST_MATH_FWD_HPP -#define BOOST_MATH_FWD_HPP - -#include - -namespace boost -{ -namespace math -{ - - -// From ----------------------------------------// - -template < typename T > - class quaternion; - -template < > - class quaternion< float >; -template < > - class quaternion< double >; -template < > - class quaternion< long double >; - -// Also has many function templates (including operators) - - -// From ------------------------------------------// - -template < typename T > - class octonion; - -template < > - class octonion< float >; -template < > - class octonion< double >; -template < > - class octonion< long double >; - -// Also has many function templates (including operators) - - -// From ---------------------------// - -// Only has function template - - -// From ---------------------------// - -// Only has function template - - -// From ---------------------------// - -// Only has function template - - -// From ----------------------------// - -// Only has function templates - - -// From ---------------------------// - -// Only has function templates - - -// From -------------------------------------// - -// Only #includes other headers - - -// From ----------------------------------// - -#ifdef BOOST_NO_INTEGRAL_INT64_T - typedef unsigned long static_gcd_type; -#else - typedef boost::uintmax_t static_gcd_type; -#endif - -template < static_gcd_type Value1, static_gcd_type Value2 > - struct static_gcd; -template < static_gcd_type Value1, static_gcd_type Value2 > - struct static_lcm; - - -// From ----------------------------------// - -template < typename IntegerType > - class gcd_evaluator; -template < typename IntegerType > - class lcm_evaluator; - -// Also has a couple of function templates - - -} // namespace math -} // namespace boost - - -#endif // BOOST_MATH_FWD_HPP diff --git a/bundled/boost-1.56.0/include/boost/move/algorithm.hpp b/bundled/boost-1.56.0/include/boost/move/algorithm.hpp deleted file mode 100644 index 43a81c3756..0000000000 --- a/bundled/boost-1.56.0/include/boost/move/algorithm.hpp +++ /dev/null @@ -1,274 +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/move for documentation. -// -////////////////////////////////////////////////////////////////////////////// - -//! \file - -#ifndef BOOST_MOVE_ALGORITHM_HPP -#define BOOST_MOVE_ALGORITHM_HPP - -#include - -#include -#include -#include - -#include //copy, copy_backward -#include //uninitialized_copy - -namespace boost { - -////////////////////////////////////////////////////////////////////////////// -// -// move -// -////////////////////////////////////////////////////////////////////////////// - -#if !defined(BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE) - - //! Effects: Moves elements in the range [first,last) into the range [result,result + (last - - //! first)) starting from first and proceeding to last. For each non-negative integer n < (last-first), - //! performs *(result + n) = ::boost::move (*(first + n)). - //! - //! Effects: result + (last - first). - //! - //! Requires: result shall not be in the range [first,last). - //! - //! Complexity: Exactly last - first move assignments. - template // O models OutputIterator - O move(I f, I l, O result) - { - while (f != l) { - *result = ::boost::move(*f); - ++f; ++result; - } - return result; - } - - ////////////////////////////////////////////////////////////////////////////// - // - // move_backward - // - ////////////////////////////////////////////////////////////////////////////// - - //! Effects: Moves elements in the range [first,last) into the range - //! [result - (last-first),result) starting from last - 1 and proceeding to - //! first. For each positive integer n <= (last - first), - //! performs *(result - n) = ::boost::move(*(last - n)). - //! - //! Requires: result shall not be in the range [first,last). - //! - //! Returns: result - (last - first). - //! - //! Complexity: Exactly last - first assignments. - template // O models BidirectionalIterator - O move_backward(I f, I l, O result) - { - while (f != l) { - --l; --result; - *result = ::boost::move(*l); - } - return result; - } - -#else - - using ::std::move_backward; - -#endif //!defined(BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE) - -////////////////////////////////////////////////////////////////////////////// -// -// uninitialized_move -// -////////////////////////////////////////////////////////////////////////////// - -//! Effects: -//! \code -//! for (; first != last; ++result, ++first) -//! new (static_cast(&*result)) -//! typename iterator_traits::value_type(boost::move(*first)); -//! \endcode -//! -//! Returns: result -template - // F models ForwardIterator -F uninitialized_move(I f, I l, F r - /// @cond -// ,typename ::boost::move_detail::enable_if::value_type> >::type* = 0 - /// @endcond - ) -{ - typedef typename std::iterator_traits::value_type input_value_type; - - F back = r; - BOOST_TRY{ - while (f != l) { - void * const addr = static_cast(::boost::move_detail::addressof(*r)); - ::new(addr) input_value_type(::boost::move(*f)); - ++f; ++r; - } - } - BOOST_CATCH(...){ - for (; back != r; ++back){ - back->~input_value_type(); - } - BOOST_RETHROW; - } - BOOST_CATCH_END - return r; -} - -/// @cond -/* -template - // F models ForwardIterator -F uninitialized_move(I f, I l, F r, - typename ::boost::move_detail::disable_if::value_type> >::type* = 0) -{ - return std::uninitialized_copy(f, l, r); -} -*/ - -////////////////////////////////////////////////////////////////////////////// -// -// uninitialized_copy_or_move -// -////////////////////////////////////////////////////////////////////////////// - -namespace move_detail { - -template - // F models ForwardIterator -inline F uninitialized_move_move_iterator(I f, I l, F r -// ,typename ::boost::move_detail::enable_if< has_move_emulation_enabled >::type* = 0 -) -{ - return ::boost::uninitialized_move(f, l, r); -} -/* -template - // F models ForwardIterator -F uninitialized_move_move_iterator(I f, I l, F r, - typename ::boost::move_detail::disable_if< has_move_emulation_enabled >::type* = 0) -{ - return std::uninitialized_copy(f.base(), l.base(), r); -} -*/ -} //namespace move_detail { - -template - // F models ForwardIterator -inline F uninitialized_copy_or_move(I f, I l, F r, - typename ::boost::move_detail::enable_if< move_detail::is_move_iterator >::type* = 0) -{ - return ::boost::move_detail::uninitialized_move_move_iterator(f, l, r); -} - -////////////////////////////////////////////////////////////////////////////// -// -// copy_or_move -// -////////////////////////////////////////////////////////////////////////////// - -namespace move_detail { - -template - // F models ForwardIterator -inline F move_move_iterator(I f, I l, F r -// ,typename ::boost::move_detail::enable_if< has_move_emulation_enabled >::type* = 0 -) -{ - return ::boost::move(f, l, r); -} -/* -template - // F models ForwardIterator -F move_move_iterator(I f, I l, F r, - typename ::boost::move_detail::disable_if< has_move_emulation_enabled >::type* = 0) -{ - return std::copy(f.base(), l.base(), r); -} -*/ - -} //namespace move_detail { - -template - // F models ForwardIterator -inline F copy_or_move(I f, I l, F r, - typename ::boost::move_detail::enable_if< move_detail::is_move_iterator >::type* = 0) -{ - return ::boost::move_detail::move_move_iterator(f, l, r); -} - -/// @endcond - -//! Effects: -//! \code -//! for (; first != last; ++result, ++first) -//! new (static_cast(&*result)) -//! typename iterator_traits::value_type(*first); -//! \endcode -//! -//! Returns: result -//! -//! Note: This function is provided because -//! std::uninitialized_copy from some STL implementations -//! is not compatible with move_iterator -template - // F models ForwardIterator -inline F uninitialized_copy_or_move(I f, I l, F r - /// @cond - ,typename ::boost::move_detail::disable_if< move_detail::is_move_iterator >::type* = 0 - /// @endcond - ) -{ - return std::uninitialized_copy(f, l, r); -} - -//! Effects: -//! \code -//! for (; first != last; ++result, ++first) -//! *result = *first; -//! \endcode -//! -//! Returns: result -//! -//! Note: This function is provided because -//! std::uninitialized_copy from some STL implementations -//! is not compatible with move_iterator -template - // F models ForwardIterator -inline F copy_or_move(I f, I l, F r - /// @cond - ,typename ::boost::move_detail::disable_if< move_detail::is_move_iterator >::type* = 0 - /// @endcond - ) -{ - return std::copy(f, l, r); -} - -} //namespace boost { - -#include - -#endif //#ifndef BOOST_MOVE_MOVE_HPP diff --git a/bundled/boost-1.56.0/include/boost/move/core.hpp b/bundled/boost-1.56.0/include/boost/move/core.hpp deleted file mode 100644 index 0efa2af6d0..0000000000 --- a/bundled/boost-1.56.0/include/boost/move/core.hpp +++ /dev/null @@ -1,440 +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/move for documentation. -// -////////////////////////////////////////////////////////////////////////////// - -//! \file core.hpp -//! This header implements macros to define movable classes and -//! move-aware functions - -#ifndef BOOST_MOVE_CORE_HPP -#define BOOST_MOVE_CORE_HPP - -#include - -//boost_move_no_copy_constructor_or_assign typedef -//used to detect noncopyable types for other Boost libraries. -#ifdef BOOST_NO_CXX11_DELETED_FUNCTIONS - #define BOOST_MOVE_IMPL_NO_COPY_CTOR_OR_ASSIGN(TYPE) \ - private:\ - TYPE(TYPE &);\ - TYPE& operator=(TYPE &);\ - public:\ - typedef int boost_move_no_copy_constructor_or_assign; \ - private:\ - // -#else - #define BOOST_MOVE_IMPL_NO_COPY_CTOR_OR_ASSIGN(TYPE) \ - public:\ - TYPE(TYPE const &) = delete;\ - TYPE& operator=(TYPE const &) = delete;\ - public:\ - typedef int boost_move_no_copy_constructor_or_assign; \ - private:\ - // -#endif //BOOST_NO_CXX11_DELETED_FUNCTIONS - -#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_MOVE_DOXYGEN_INVOKED) - - #include - - //Move emulation rv breaks standard aliasing rules so add workarounds for some compilers - #if defined(__GNUC__) && (__GNUC__ >= 4) - #define BOOST_MOVE_ATTRIBUTE_MAY_ALIAS __attribute__((__may_alias__)) - #else - #define BOOST_MOVE_ATTRIBUTE_MAY_ALIAS - #endif - - namespace boost { - - ////////////////////////////////////////////////////////////////////////////// - // - // struct rv - // - ////////////////////////////////////////////////////////////////////////////// - template - class rv - : public ::boost::move_detail::if_c - < ::boost::move_detail::is_class_or_union::value - , T - , ::boost::move_detail::empty - >::type - { - rv(); - ~rv(); - rv(rv const&); - void operator=(rv const&); - } BOOST_MOVE_ATTRIBUTE_MAY_ALIAS; - - - ////////////////////////////////////////////////////////////////////////////// - // - // move_detail::is_rv - // - ////////////////////////////////////////////////////////////////////////////// - - namespace move_detail { - - template - struct is_rv - : ::boost::move_detail::integral_constant - {}; - - template - struct is_rv< rv > - : ::boost::move_detail::integral_constant - {}; - - template - struct is_rv< const rv > - : ::boost::move_detail::integral_constant - {}; - - } //namespace move_detail { - - ////////////////////////////////////////////////////////////////////////////// - // - // has_move_emulation_enabled - // - ////////////////////////////////////////////////////////////////////////////// - template - struct has_move_emulation_enabled - : ::boost::move_detail::is_convertible< T, ::boost::rv& > - {}; - - template - struct has_move_emulation_enabled - : ::boost::move_detail::integral_constant - {}; - - template - struct has_move_emulation_enabled< ::boost::rv > - : ::boost::move_detail::integral_constant - {}; - - } //namespace boost { - - #define BOOST_RV_REF(TYPE)\ - ::boost::rv< TYPE >& \ - // - - #define BOOST_RV_REF_2_TEMPL_ARGS(TYPE, ARG1, ARG2)\ - ::boost::rv< TYPE >& \ - // - - #define BOOST_RV_REF_3_TEMPL_ARGS(TYPE, ARG1, ARG2, ARG3)\ - ::boost::rv< TYPE >& \ - // - - #define BOOST_RV_REF_BEG\ - ::boost::rv< \ - // - - #define BOOST_RV_REF_END\ - >& \ - // - - #define BOOST_FWD_REF(TYPE)\ - const TYPE & \ - // - - #define BOOST_COPY_ASSIGN_REF(TYPE)\ - const ::boost::rv< TYPE >& \ - // - - #define BOOST_COPY_ASSIGN_REF_BEG \ - const ::boost::rv< \ - // - - #define BOOST_COPY_ASSIGN_REF_END \ - >& \ - // - - #define BOOST_COPY_ASSIGN_REF_2_TEMPL_ARGS(TYPE, ARG1, ARG2)\ - const ::boost::rv< TYPE >& \ - // - - #define BOOST_COPY_ASSIGN_REF_3_TEMPL_ARGS(TYPE, ARG1, ARG2, ARG3)\ - const ::boost::rv< TYPE >& \ - // - - #define BOOST_CATCH_CONST_RLVALUE(TYPE)\ - const ::boost::rv< TYPE >& \ - // - - namespace boost { - namespace move_detail { - - template - inline typename ::boost::move_detail::enable_if_c - < ::boost::move_detail::is_lvalue_reference::value || - !::boost::has_move_emulation_enabled::value - , T&>::type - move_return(T& x) BOOST_NOEXCEPT - { - return x; - } - - template - inline typename ::boost::move_detail::enable_if_c - < !::boost::move_detail::is_lvalue_reference::value && - ::boost::has_move_emulation_enabled::value - , ::boost::rv&>::type - move_return(T& x) BOOST_NOEXCEPT - { - return *static_cast< ::boost::rv* >(::boost::move_detail::addressof(x)); - } - - template - inline typename ::boost::move_detail::enable_if_c - < !::boost::move_detail::is_lvalue_reference::value && - ::boost::has_move_emulation_enabled::value - , ::boost::rv&>::type - move_return(::boost::rv& x) BOOST_NOEXCEPT - { - return x; - } - - } //namespace move_detail { - } //namespace boost { - - #define BOOST_MOVE_RET(RET_TYPE, REF)\ - boost::move_detail::move_return< RET_TYPE >(REF) - // - - ////////////////////////////////////////////////////////////////////////////// - // - // BOOST_MOVABLE_BUT_NOT_COPYABLE - // - ////////////////////////////////////////////////////////////////////////////// - #define BOOST_MOVABLE_BUT_NOT_COPYABLE(TYPE)\ - BOOST_MOVE_IMPL_NO_COPY_CTOR_OR_ASSIGN(TYPE)\ - public:\ - operator ::boost::rv&() \ - { return *static_cast< ::boost::rv* >(this); }\ - operator const ::boost::rv&() const \ - { return *static_cast* >(this); }\ - private:\ - // - - ////////////////////////////////////////////////////////////////////////////// - // - // BOOST_COPYABLE_AND_MOVABLE - // - ////////////////////////////////////////////////////////////////////////////// - - #define BOOST_COPYABLE_AND_MOVABLE(TYPE)\ - public:\ - TYPE& operator=(TYPE &t)\ - { this->operator=(static_cast &>(const_cast(t))); return *this;}\ - public:\ - operator ::boost::rv&() \ - { return *static_cast< ::boost::rv* >(this); }\ - operator const ::boost::rv&() const \ - { return *static_cast* >(this); }\ - private:\ - // - - #define BOOST_COPYABLE_AND_MOVABLE_ALT(TYPE)\ - public:\ - operator ::boost::rv&() \ - { return *static_cast< ::boost::rv* >(this); }\ - operator const ::boost::rv&() const \ - { return *static_cast* >(this); }\ - private:\ - // - -#else //BOOST_NO_CXX11_RVALUE_REFERENCES - - //Compiler workaround detection - #if !defined(BOOST_MOVE_DOXYGEN_INVOKED) - #if defined(__GNUC__) && (__GNUC__ == 4) && (__GNUC_MINOR__ < 5) && !defined(__clang__) - //Pre-standard rvalue binding rules - #define BOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES - #elif defined(_MSC_VER) && (_MSC_VER == 1600) - //Standard rvalue binding rules but with some bugs - #define BOOST_MOVE_MSVC_10_MEMBER_RVALUE_REF_BUG - #define BOOST_MOVE_MSVC_AUTO_MOVE_RETURN_BUG - //Use standard library for MSVC to avoid namespace issues as - //some move calls in the STL are not fully qualified. - //#define BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE - #elif defined(_MSC_VER) && (_MSC_VER == 1700) - #define BOOST_MOVE_MSVC_AUTO_MOVE_RETURN_BUG - #endif - #endif - - //! This macro marks a type as movable but not copyable, disabling copy construction - //! and assignment. The user will need to write a move constructor/assignment as explained - //! in the documentation to fully write a movable but not copyable class. - #define BOOST_MOVABLE_BUT_NOT_COPYABLE(TYPE)\ - BOOST_MOVE_IMPL_NO_COPY_CTOR_OR_ASSIGN(TYPE)\ - public:\ - typedef int boost_move_emulation_t;\ - // - - //! This macro marks a type as copyable and movable. - //! The user will need to write a move constructor/assignment and a copy assignment - //! as explained in the documentation to fully write a copyable and movable class. - #define BOOST_COPYABLE_AND_MOVABLE(TYPE)\ - // - - #if !defined(BOOST_MOVE_DOXYGEN_INVOKED) - #define BOOST_COPYABLE_AND_MOVABLE_ALT(TYPE)\ - // - #endif //#if !defined(BOOST_MOVE_DOXYGEN_INVOKED) - - namespace boost { - - //!This trait yields to a compile-time true boolean if T was marked as - //!BOOST_MOVABLE_BUT_NOT_COPYABLE or BOOST_COPYABLE_AND_MOVABLE and - //!rvalue references are not available on the platform. False otherwise. - template - struct has_move_emulation_enabled - { - static const bool value = false; - }; - - } //namespace boost{ - - //!This macro is used to achieve portable syntax in move - //!constructors and assignments for classes marked as - //!BOOST_COPYABLE_AND_MOVABLE or BOOST_MOVABLE_BUT_NOT_COPYABLE - #define BOOST_RV_REF(TYPE)\ - TYPE && \ - // - - //!This macro is used to achieve portable syntax in move - //!constructors and assignments for template classes marked as - //!BOOST_COPYABLE_AND_MOVABLE or BOOST_MOVABLE_BUT_NOT_COPYABLE. - //!As macros have problems with comma-separated template arguments, - //!the template argument must be preceded with BOOST_RV_REF_BEG - //!and ended with BOOST_RV_REF_END - #define BOOST_RV_REF_BEG\ - \ - // - - //!This macro is used to achieve portable syntax in move - //!constructors and assignments for template classes marked as - //!BOOST_COPYABLE_AND_MOVABLE or BOOST_MOVABLE_BUT_NOT_COPYABLE. - //!As macros have problems with comma-separated template arguments, - //!the template argument must be preceded with BOOST_RV_REF_BEG - //!and ended with BOOST_RV_REF_END - #define BOOST_RV_REF_END\ - && \ - - //!This macro is used to achieve portable syntax in copy - //!assignment for classes marked as BOOST_COPYABLE_AND_MOVABLE. - #define BOOST_COPY_ASSIGN_REF(TYPE)\ - const TYPE & \ - // - - //! This macro is used to implement portable perfect forwarding - //! as explained in the documentation. - #define BOOST_FWD_REF(TYPE)\ - TYPE && \ - // - - #if !defined(BOOST_MOVE_DOXYGEN_INVOKED) - - #define BOOST_RV_REF_2_TEMPL_ARGS(TYPE, ARG1, ARG2)\ - TYPE && \ - // - - #define BOOST_RV_REF_3_TEMPL_ARGS(TYPE, ARG1, ARG2, ARG3)\ - TYPE && \ - // - - #define BOOST_COPY_ASSIGN_REF_BEG \ - const \ - // - - #define BOOST_COPY_ASSIGN_REF_END \ - & \ - // - - #define BOOST_COPY_ASSIGN_REF_2_TEMPL_ARGS(TYPE, ARG1, ARG2)\ - const TYPE & \ - // - - #define BOOST_COPY_ASSIGN_REF_3_TEMPL_ARGS(TYPE, ARG1, ARG2, ARG3)\ - const TYPE& \ - // - - #define BOOST_CATCH_CONST_RLVALUE(TYPE)\ - const TYPE & \ - // - - - #endif //#if !defined(BOOST_MOVE_DOXYGEN_INVOKED) - - #if !defined(BOOST_MOVE_MSVC_AUTO_MOVE_RETURN_BUG) || defined(BOOST_MOVE_DOXYGEN_INVOKED) - - //!This macro is used to achieve portable move return semantics. - //!The Standard allows implicit move returns when the object to be returned - //!is designated by an lvalue and: - //! - The criteria for elision of a copy operation are met OR - //! - The criteria would be met save for the fact that the source object is a function parameter - //! - //!For C++11 conforming compilers this macros only yields to REF: - //! return BOOST_MOVE_RET(RET_TYPE, REF); -> return REF; - //! - //!For compilers without rvalue references - //!this macro does an explicit move if the move emulation is activated - //!and the return type (RET_TYPE) is not a reference. - //! - //!For non-conforming compilers with rvalue references like Visual 2010 & 2012, - //!an explicit move is performed if RET_TYPE is not a reference. - //! - //! Caution: When using this macro in a non-conforming or C++03 - //!compilers, a move will be performed even if the C++11 standard does not allow it - //!(e.g. returning a static variable). The user is responsible for using this macro - //!only used to return local objects that met C++11 criteria. - #define BOOST_MOVE_RET(RET_TYPE, REF)\ - (REF) - // - - #else //!defined(BOOST_MOVE_MSVC_AUTO_MOVE_RETURN_BUG) || defined(BOOST_MOVE_DOXYGEN_INVOKED) - - #include - - namespace boost { - namespace move_detail { - - template - inline typename ::boost::move_detail::enable_if_c - < ::boost::move_detail::is_lvalue_reference::value - , T&>::type - move_return(T& x) BOOST_NOEXCEPT - { - return x; - } - - template - inline typename ::boost::move_detail::enable_if_c - < !::boost::move_detail::is_lvalue_reference::value - , Ret && >::type - move_return(T&& t) BOOST_NOEXCEPT - { - return static_cast< Ret&& >(t); - } - - } //namespace move_detail { - } //namespace boost { - - #define BOOST_MOVE_RET(RET_TYPE, REF)\ - boost::move_detail::move_return< RET_TYPE >(REF) - // - - #endif //!defined(BOOST_MOVE_MSVC_AUTO_MOVE_RETURN_BUG) || defined(BOOST_MOVE_DOXYGEN_INVOKED) - -#endif //BOOST_NO_CXX11_RVALUE_REFERENCES - -#include - -#endif //#ifndef BOOST_MOVE_CORE_HPP diff --git a/bundled/boost-1.56.0/include/boost/move/detail/config_begin.hpp b/bundled/boost-1.56.0/include/boost/move/detail/config_begin.hpp deleted file mode 100644 index 837ee126a8..0000000000 --- a/bundled/boost-1.56.0/include/boost/move/detail/config_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/move for documentation. -// -////////////////////////////////////////////////////////////////////////////// -#include - -#ifdef BOOST_MSVC - #ifndef _CRT_SECURE_NO_DEPRECATE - #define BOOST_MOVE_CRT_SECURE_NO_DEPRECATE - #define _CRT_SECURE_NO_DEPRECATE - #endif - #ifndef _SCL_SECURE_NO_WARNINGS - #define BOOST_MOVE_SCL_SECURE_NO_WARNINGS - #define _SCL_SECURE_NO_WARNINGS - #endif - #pragma warning (push) - #pragma warning (disable : 4996) // "function": was declared deprecated -#endif diff --git a/bundled/boost-1.56.0/include/boost/move/detail/config_end.hpp b/bundled/boost-1.56.0/include/boost/move/detail/config_end.hpp deleted file mode 100644 index 5f83231779..0000000000 --- a/bundled/boost-1.56.0/include/boost/move/detail/config_end.hpp +++ /dev/null @@ -1,20 +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/container for documentation. -// -////////////////////////////////////////////////////////////////////////////// -#if defined BOOST_MSVC - #pragma warning (pop) - #ifdef BOOST_MOVE_CRT_SECURE_NO_DEPRECATE - #undef BOOST_MOVE_CRT_SECURE_NO_DEPRECATE - #undef _CRT_SECURE_NO_DEPRECATE - #endif - #ifdef BOOST_MOVE_SCL_SECURE_NO_WARNINGS - #undef BOOST_MOVE_SCL_SECURE_NO_WARNINGS - #undef _SCL_SECURE_NO_WARNINGS - #endif -#endif diff --git a/bundled/boost-1.56.0/include/boost/move/detail/meta_utils.hpp b/bundled/boost-1.56.0/include/boost/move/detail/meta_utils.hpp deleted file mode 100644 index 0da3c68451..0000000000 --- a/bundled/boost-1.56.0/include/boost/move/detail/meta_utils.hpp +++ /dev/null @@ -1,171 +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/move for documentation. -// -////////////////////////////////////////////////////////////////////////////// - -//! \file - -#ifndef BOOST_MOVE_DETAIL_META_UTILS_HPP -#define BOOST_MOVE_DETAIL_META_UTILS_HPP - -#include - -//Small meta-typetraits to support move - -namespace boost { -namespace move_detail { - -//if_ -template -struct if_c -{ - typedef T1 type; -}; - -template -struct if_c -{ - typedef T2 type; -}; - -template -struct if_ -{ - typedef typename if_c<0 != T1::value, T2, T3>::type type; -}; - -//enable_if_ -template -struct enable_if_c -{ - typedef T type; -}; - -template -struct enable_if_c {}; - -template -struct enable_if : public enable_if_c {}; - -template -struct disable_if : public enable_if_c {}; - -//integral_constant -template -struct integral_constant -{ - static const T value = v; - typedef T value_type; - typedef integral_constant type; -}; - -//identity -template -struct identity -{ - typedef T type; -}; - -#if defined(_MSC_VER) && (_MSC_VER >= 1400) - -//use intrinsic since in MSVC -//overaligned types can't go through ellipsis -template -struct is_convertible -{ - static const bool value = __is_convertible_to(T, U); -}; - -#else - -template -class is_convertible -{ - typedef char true_t; - class false_t { char dummy[2]; }; - static false_t dispatch(...); - static true_t dispatch(U); - static T &trigger(); - public: - static const bool value = sizeof(dispatch(trigger())) == sizeof(true_t); -}; - -#endif - -//and_ not_ -template > -struct and_ - : public integral_constant -{}; - -template -struct not_ - : public integral_constant -{}; - -//is_lvalue_reference -template -struct is_lvalue_reference - : public integral_constant -{}; - -template -struct is_lvalue_reference - : public integral_constant -{}; - -template -struct is_class_or_union -{ - struct twochar { char _[2]; }; - template - static char is_class_or_union_tester(void(U::*)(void)); - template - static twochar is_class_or_union_tester(...); - static const bool value = sizeof(is_class_or_union_tester(0)) == sizeof(char); -}; - -struct empty{}; - -//addressof -template struct addr_impl_ref -{ - T & v_; - inline addr_impl_ref( T & v ): v_( v ) {} - inline operator T& () const { return v_; } - - private: - addr_impl_ref & operator=(const addr_impl_ref &); -}; - -template struct addressof_impl -{ - static inline T * f( T & v, long ) - { - return reinterpret_cast( - &const_cast(reinterpret_cast(v))); - } - - static inline T * f( T * v, int ) - { return v; } -}; - -template -inline T * addressof( T & v ) -{ - return ::boost::move_detail::addressof_impl::f - ( ::boost::move_detail::addr_impl_ref( v ), 0 ); -} - -} //namespace move_detail { -} //namespace boost { - -#include - -#endif //#ifndef BOOST_MOVE_DETAIL_META_UTILS_HPP diff --git a/bundled/boost-1.56.0/include/boost/move/detail/move_helpers.hpp b/bundled/boost-1.56.0/include/boost/move/detail/move_helpers.hpp deleted file mode 100644 index ed6f3d534e..0000000000 --- a/bundled/boost-1.56.0/include/boost/move/detail/move_helpers.hpp +++ /dev/null @@ -1,177 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2010-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/move for documentation. -// -////////////////////////////////////////////////////////////////////////////// - -#ifndef BOOST_MOVE_MOVE_HELPERS_HPP -#define BOOST_MOVE_MOVE_HELPERS_HPP - -#include -#include -#include -#include - -#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || (defined(_MSC_VER) && (_MSC_VER == 1600)) -#include -#include -#include -#include -#endif -#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -#include -#endif - - -#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -struct not_a_type; -struct not_a_type2; -#define BOOST_MOVE_CATCH_CONST(U) \ - typename ::boost::mpl::if_< ::boost::is_class, BOOST_CATCH_CONST_RLVALUE(U), const U &>::type -#define BOOST_MOVE_CATCH_RVALUE(U)\ - typename ::boost::mpl::if_< ::boost::is_class, BOOST_RV_REF(U), not_a_type>::type -#define BOOST_MOVE_CATCH_FWD(U) BOOST_FWD_REF(U) -#else -#define BOOST_MOVE_CATCH_CONST(U) const U & -#define BOOST_MOVE_CATCH_RVALUE(U) U && -#define BOOST_MOVE_CATCH_FWD(U) U && -#endif - -#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES -#define BOOST_MOVE_CONVERSION_AWARE_CATCH(PUB_FUNCTION, TYPE, RETURN_VALUE, FWD_FUNCTION)\ - RETURN_VALUE PUB_FUNCTION(BOOST_MOVE_CATCH_CONST(TYPE) x)\ - { return FWD_FUNCTION(static_cast(x)); }\ -\ - RETURN_VALUE PUB_FUNCTION(BOOST_MOVE_CATCH_RVALUE(TYPE) x) \ - { return FWD_FUNCTION(::boost::move(x)); }\ -\ - RETURN_VALUE PUB_FUNCTION(TYPE &x)\ - { return FWD_FUNCTION(const_cast(x)); }\ -\ - template\ - typename ::boost::enable_if_c\ - < ::boost::is_class::value &&\ - ::boost::is_same::value &&\ - !::boost::has_move_emulation_enabled::value\ - , RETURN_VALUE >::type\ - PUB_FUNCTION(const BOOST_MOVE_TEMPL_PARAM &u)\ - { return FWD_FUNCTION(u); }\ -\ - template\ - typename ::boost::enable_if_c\ - < (!::boost::is_class::value || \ - !::boost::move_detail::is_rv::value) && \ - !::boost::is_same::value \ - , RETURN_VALUE >::type\ - PUB_FUNCTION(const BOOST_MOVE_TEMPL_PARAM &u)\ - {\ - TYPE t(u);\ - return FWD_FUNCTION(::boost::move(t));\ - }\ -// -// ::boost::is_convertible::value && -#elif (defined(_MSC_VER) && (_MSC_VER == 1600)) - -#define BOOST_MOVE_CONVERSION_AWARE_CATCH(PUB_FUNCTION, TYPE, RETURN_VALUE, FWD_FUNCTION)\ - RETURN_VALUE PUB_FUNCTION(BOOST_MOVE_CATCH_CONST(TYPE) x)\ - { return FWD_FUNCTION(static_cast(x)); }\ -\ - RETURN_VALUE PUB_FUNCTION(BOOST_MOVE_CATCH_RVALUE(TYPE) x) \ - { return FWD_FUNCTION(::boost::move(x)); }\ -\ - template\ - typename ::boost::enable_if_c\ - < !::boost::is_same::value\ - , RETURN_VALUE >::type\ - PUB_FUNCTION(const BOOST_MOVE_TEMPL_PARAM &u)\ - {\ - TYPE t(u);\ - return FWD_FUNCTION(::boost::move(t));\ - }\ -// - -#else - -#define BOOST_MOVE_CONVERSION_AWARE_CATCH(PUB_FUNCTION, TYPE, RETURN_VALUE, FWD_FUNCTION)\ - RETURN_VALUE PUB_FUNCTION(BOOST_MOVE_CATCH_CONST(TYPE) x)\ - { return FWD_FUNCTION(static_cast(x)); }\ -\ - RETURN_VALUE PUB_FUNCTION(BOOST_MOVE_CATCH_RVALUE(TYPE) x) \ - { return FWD_FUNCTION(::boost::move(x)); }\ -// - -#endif - - -#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES - -#define BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(PUB_FUNCTION, TYPE, RETURN_VALUE, FWD_FUNCTION, ARG1, UNLESS_CONVERTIBLE_TO)\ - RETURN_VALUE PUB_FUNCTION(ARG1 arg1, BOOST_MOVE_CATCH_CONST(TYPE) x)\ - { return FWD_FUNCTION(arg1, static_cast(x)); }\ -\ - RETURN_VALUE PUB_FUNCTION(ARG1 arg1, BOOST_MOVE_CATCH_RVALUE(TYPE) x) \ - { return FWD_FUNCTION(arg1, ::boost::move(x)); }\ -\ - RETURN_VALUE PUB_FUNCTION(ARG1 arg1, TYPE &x)\ - { return FWD_FUNCTION(arg1, const_cast(x)); }\ -\ - template\ - typename ::boost::enable_if_c<\ - ::boost::is_same::value &&\ - !::boost::has_move_emulation_enabled::value\ - , RETURN_VALUE >::type\ - PUB_FUNCTION(ARG1 arg1, const BOOST_MOVE_TEMPL_PARAM &u)\ - { return FWD_FUNCTION(arg1, u); }\ -\ - template\ - typename ::boost::enable_if_c<\ - !::boost::move_detail::is_rv::value && \ - !::boost::is_same::value && \ - !::boost::is_convertible::value \ - , RETURN_VALUE >::type\ - PUB_FUNCTION(ARG1 arg1, const BOOST_MOVE_TEMPL_PARAM &u)\ - {\ - TYPE t(u);\ - return FWD_FUNCTION(arg1, ::boost::move(t));\ - }\ -// - -#elif (defined(_MSC_VER) && (_MSC_VER == 1600)) - -#define BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(PUB_FUNCTION, TYPE, RETURN_VALUE, FWD_FUNCTION, ARG1, UNLESS_CONVERTIBLE_TO)\ - RETURN_VALUE PUB_FUNCTION(ARG1 arg1, BOOST_MOVE_CATCH_CONST(TYPE) x)\ - { return FWD_FUNCTION(arg1, static_cast(x)); }\ -\ - RETURN_VALUE PUB_FUNCTION(ARG1 arg1, BOOST_MOVE_CATCH_RVALUE(TYPE) x) \ - { return FWD_FUNCTION(arg1, ::boost::move(x)); }\ -\ - template\ - typename ::boost::enable_if_c\ - < !::boost::is_same::value && \ - !::boost::is_convertible::value \ - , RETURN_VALUE >::type\ - PUB_FUNCTION(ARG1 arg1, const BOOST_MOVE_TEMPL_PARAM &u)\ - {\ - TYPE t(u);\ - return FWD_FUNCTION(arg1, ::boost::move(t));\ - }\ -// - -#else - -#define BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(PUB_FUNCTION, TYPE, RETURN_VALUE, FWD_FUNCTION, ARG1, UNLESS_CONVERTIBLE_TO)\ - RETURN_VALUE PUB_FUNCTION(ARG1 arg1, BOOST_MOVE_CATCH_CONST(TYPE) x)\ - { return FWD_FUNCTION(arg1, static_cast(x)); }\ -\ - RETURN_VALUE PUB_FUNCTION(ARG1 arg1, BOOST_MOVE_CATCH_RVALUE(TYPE) x) \ - { return FWD_FUNCTION(arg1, ::boost::move(x)); }\ -// - -#endif - -#endif //#ifndef BOOST_MOVE_MOVE_HELPERS_HPP diff --git a/bundled/boost-1.56.0/include/boost/move/iterator.hpp b/bundled/boost-1.56.0/include/boost/move/iterator.hpp deleted file mode 100644 index b4bc1af429..0000000000 --- a/bundled/boost-1.56.0/include/boost/move/iterator.hpp +++ /dev/null @@ -1,298 +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/move for documentation. -// -////////////////////////////////////////////////////////////////////////////// - -//! \file - -#ifndef BOOST_MOVE_ITERATOR_HPP -#define BOOST_MOVE_ITERATOR_HPP - -#include -#include -#include //std::iterator - -namespace boost { - -////////////////////////////////////////////////////////////////////////////// -// -// move_iterator -// -////////////////////////////////////////////////////////////////////////////// - -//! Class template move_iterator is an iterator adaptor with the same behavior -//! as the underlying iterator except that its dereference operator implicitly -//! converts the value returned by the underlying iterator's dereference operator -//! to an rvalue reference. Some generic algorithms can be called with move -//! iterators to replace copying with moving. -template -class move_iterator -{ - public: - typedef It iterator_type; - typedef typename std::iterator_traits::value_type value_type; - #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || defined(BOOST_MOVE_DOXYGEN_INVOKED) - typedef value_type && reference; - #else - typedef typename ::boost::move_detail::if_ - < ::boost::has_move_emulation_enabled - , ::boost::rv& - , value_type & >::type reference; - #endif - typedef It pointer; - typedef typename std::iterator_traits::difference_type difference_type; - typedef typename std::iterator_traits::iterator_category iterator_category; - - move_iterator() - {} - - explicit move_iterator(It i) - : m_it(i) - {} - - template - move_iterator(const move_iterator& u) - : m_it(u.base()) - {} - - iterator_type base() const - { return m_it; } - - reference operator*() const - { - #if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || defined(BOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES) - return *m_it; - #else - return ::boost::move(*m_it); - #endif - } - - pointer operator->() const - { return m_it; } - - move_iterator& operator++() - { ++m_it; return *this; } - - move_iterator operator++(int) - { move_iterator tmp(*this); ++(*this); return tmp; } - - move_iterator& operator--() - { --m_it; return *this; } - - move_iterator operator--(int) - { move_iterator tmp(*this); --(*this); return tmp; } - - move_iterator operator+ (difference_type n) const - { return move_iterator(m_it + n); } - - move_iterator& operator+=(difference_type n) - { m_it += n; return *this; } - - move_iterator operator- (difference_type n) const - { return move_iterator(m_it - n); } - - move_iterator& operator-=(difference_type n) - { m_it -= n; return *this; } - - reference operator[](difference_type n) const - { - #if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || defined(BOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES) - return m_it[n]; - #else - return ::boost::move(m_it[n]); - #endif - } - - friend bool operator==(const move_iterator& x, const move_iterator& y) - { return x.base() == y.base(); } - - friend bool operator!=(const move_iterator& x, const move_iterator& y) - { return x.base() != y.base(); } - - friend bool operator< (const move_iterator& x, const move_iterator& y) - { return x.base() < y.base(); } - - friend bool operator<=(const move_iterator& x, const move_iterator& y) - { return x.base() <= y.base(); } - - friend bool operator> (const move_iterator& x, const move_iterator& y) - { return x.base() > y.base(); } - - friend bool operator>=(const move_iterator& x, const move_iterator& y) - { return x.base() >= y.base(); } - - friend difference_type operator-(const move_iterator& x, const move_iterator& y) - { return x.base() - y.base(); } - - friend move_iterator operator+(difference_type n, const move_iterator& x) - { return move_iterator(x.base() + n); } - - private: - It m_it; -}; - -//is_move_iterator -namespace move_detail { - -template -struct is_move_iterator - : public ::boost::move_detail::integral_constant -{ -}; - -template -struct is_move_iterator< ::boost::move_iterator > - : public ::boost::move_detail::integral_constant -{ -}; - -} //namespace move_detail { - -////////////////////////////////////////////////////////////////////////////// -// -// move_iterator -// -////////////////////////////////////////////////////////////////////////////// - -//! -//! Returns: move_iterator(i). -template -inline move_iterator make_move_iterator(const It &it) -{ return move_iterator(it); } - -////////////////////////////////////////////////////////////////////////////// -// -// back_move_insert_iterator -// -////////////////////////////////////////////////////////////////////////////// - - -//! A move insert iterator that move constructs elements at the -//! back of a container -template // C models Container -class back_move_insert_iterator - : public std::iterator -{ - C* container_m; - - public: - typedef C container_type; - typedef typename C::value_type value_type; - typedef typename C::reference reference; - - explicit back_move_insert_iterator(C& x) : container_m(&x) { } - - back_move_insert_iterator& operator=(reference x) - { container_m->push_back(boost::move(x)); return *this; } - - back_move_insert_iterator& operator=(BOOST_RV_REF(value_type) x) - { reference rx = x; return this->operator=(rx); } - - back_move_insert_iterator& operator*() { return *this; } - back_move_insert_iterator& operator++() { return *this; } - back_move_insert_iterator& operator++(int) { return *this; } -}; - -//! -//! Returns: back_move_insert_iterator(x). -template // C models Container -inline back_move_insert_iterator back_move_inserter(C& x) -{ - return back_move_insert_iterator(x); -} - -////////////////////////////////////////////////////////////////////////////// -// -// front_move_insert_iterator -// -////////////////////////////////////////////////////////////////////////////// - -//! A move insert iterator that move constructs elements int the -//! front of a container -template // C models Container -class front_move_insert_iterator - : public std::iterator -{ - C* container_m; - -public: - typedef C container_type; - typedef typename C::value_type value_type; - typedef typename C::reference reference; - - explicit front_move_insert_iterator(C& x) : container_m(&x) { } - - front_move_insert_iterator& operator=(reference x) - { container_m->push_front(boost::move(x)); return *this; } - - front_move_insert_iterator& operator=(BOOST_RV_REF(value_type) x) - { reference rx = x; return this->operator=(rx); } - - front_move_insert_iterator& operator*() { return *this; } - front_move_insert_iterator& operator++() { return *this; } - front_move_insert_iterator& operator++(int) { return *this; } -}; - -//! -//! Returns: front_move_insert_iterator(x). -template // C models Container -inline front_move_insert_iterator front_move_inserter(C& x) -{ - return front_move_insert_iterator(x); -} - -////////////////////////////////////////////////////////////////////////////// -// -// insert_move_iterator -// -////////////////////////////////////////////////////////////////////////////// -template // C models Container -class move_insert_iterator - : public std::iterator -{ - C* container_m; - typename C::iterator pos_; - - public: - typedef C container_type; - typedef typename C::value_type value_type; - typedef typename C::reference reference; - - explicit move_insert_iterator(C& x, typename C::iterator pos) - : container_m(&x), pos_(pos) - {} - - move_insert_iterator& operator=(reference x) - { - pos_ = container_m->insert(pos_, ::boost::move(x)); - ++pos_; - return *this; - } - - move_insert_iterator& operator=(BOOST_RV_REF(value_type) x) - { reference rx = x; return this->operator=(rx); } - - move_insert_iterator& operator*() { return *this; } - move_insert_iterator& operator++() { return *this; } - move_insert_iterator& operator++(int) { return *this; } -}; - -//! -//! Returns: move_insert_iterator(x, it). -template // C models Container -inline move_insert_iterator move_inserter(C& x, typename C::iterator it) -{ - return move_insert_iterator(x, it); -} - -} //namespace boost { - -#include - -#endif //#ifndef BOOST_MOVE_ITERATOR_HPP diff --git a/bundled/boost-1.56.0/include/boost/move/move.hpp b/bundled/boost-1.56.0/include/boost/move/move.hpp deleted file mode 100644 index 66e99a7092..0000000000 --- a/bundled/boost-1.56.0/include/boost/move/move.hpp +++ /dev/null @@ -1,27 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright David Abrahams, Vicente Botet 2009. -// (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/move for documentation. -// -////////////////////////////////////////////////////////////////////////////// - -//! \file move.hpp -//! A general library header that includes -//! the rest of top-level headers. - -#ifndef BOOST_MOVE_MOVE_HPP -#define BOOST_MOVE_MOVE_HPP - -#include -#include -#include -#include -#include -#include - -#endif //#ifndef BOOST_MOVE_MOVE_HPP diff --git a/bundled/boost-1.56.0/include/boost/move/traits.hpp b/bundled/boost-1.56.0/include/boost/move/traits.hpp deleted file mode 100644 index ced1cdd905..0000000000 --- a/bundled/boost-1.56.0/include/boost/move/traits.hpp +++ /dev/null @@ -1,150 +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/move for documentation. -// -////////////////////////////////////////////////////////////////////////////// - -//! \file - -#ifndef BOOST_MOVE_MOVE_TRAITS_HPP -#define BOOST_MOVE_MOVE_TRAITS_HPP - -#include -#include -#include -#include -#include - -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES -#include -#endif - -namespace boost { - -//! If this trait yields to true -//! (has_trivial_destructor_after_move <T>::value == true) -//! means that if T is used as argument of a move construction/assignment, -//! there is no need to call T's destructor. -//! This optimization tipically is used to improve containers' performance. -//! -//! By default this trait is true if the type has trivial destructor, -//! every class should specialize this trait if it wants to improve performance -//! when inserted in containers. -template -struct has_trivial_destructor_after_move - : ::boost::has_trivial_destructor -{}; - -//! By default this traits returns -//!
boost::is_nothrow_move_constructible::value && boost::is_nothrow_move_assignable::value 
. -//! Classes with non-throwing move constructor -//! and assignment can specialize this trait to obtain some performance improvements. -template -struct has_nothrow_move - : public ::boost::move_detail::integral_constant - < bool - , boost::is_nothrow_move_constructible::value && - boost::is_nothrow_move_assignable::value - > -{}; - -namespace move_detail { - -// Code from Jeffrey Lee Hellrung, many thanks - -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - template< class T> struct forward_type { typedef T type; }; -#else // #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - template< class T> - struct forward_type - { typedef const T &type; }; - - template< class T> - struct forward_type< boost::rv > - { typedef T type; }; -#endif // #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - -template< class T > struct is_rvalue_reference : ::boost::move_detail::integral_constant { }; -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - template< class T > struct is_rvalue_reference< T&& > : ::boost::move_detail::integral_constant { }; -#else // #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - template< class T > struct is_rvalue_reference< boost::rv& > - : ::boost::move_detail::integral_constant - {}; - - template< class T > struct is_rvalue_reference< const boost::rv& > - : ::boost::move_detail::integral_constant - {}; -#endif // #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - template< class T > struct add_rvalue_reference { typedef T&& type; }; -#else // #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - namespace detail_add_rvalue_reference - { - template< class T - , bool emulation = ::boost::has_move_emulation_enabled::value - , bool rv = ::boost::move_detail::is_rv::value > - struct add_rvalue_reference_impl { typedef T type; }; - - template< class T, bool emulation> - struct add_rvalue_reference_impl< T, emulation, true > { typedef T & type; }; - - template< class T, bool rv > - struct add_rvalue_reference_impl< T, true, rv > { typedef ::boost::rv& type; }; - } // namespace detail_add_rvalue_reference - - template< class T > - struct add_rvalue_reference - : detail_add_rvalue_reference::add_rvalue_reference_impl - { }; - - template< class T > - struct add_rvalue_reference - { typedef T & type; }; - -#endif // #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - -template< class T > struct remove_rvalue_reference { typedef T type; }; - -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - template< class T > struct remove_rvalue_reference< T&& > { typedef T type; }; -#else // #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - template< class T > struct remove_rvalue_reference< rv > { typedef T type; }; - template< class T > struct remove_rvalue_reference< const rv > { typedef T type; }; - template< class T > struct remove_rvalue_reference< volatile rv > { typedef T type; }; - template< class T > struct remove_rvalue_reference< const volatile rv > { typedef T type; }; - template< class T > struct remove_rvalue_reference< rv& > { typedef T type; }; - template< class T > struct remove_rvalue_reference< const rv& > { typedef T type; }; - template< class T > struct remove_rvalue_reference< volatile rv& > { typedef T type; }; - template< class T > struct remove_rvalue_reference< const volatile rv& >{ typedef T type; }; -#endif // #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - -template -typename boost::move_detail::add_rvalue_reference::type declval(); - -} //move_detail { - -// Ideas from Boost.Move review, Jeffrey Lee Hellrung: -// -//- TypeTraits metafunctions is_lvalue_reference, add_lvalue_reference, and remove_lvalue_reference ? -// Perhaps add_reference and remove_reference can be modified so that they behave wrt emulated rvalue -// references the same as wrt real rvalue references, i.e., add_reference< rv& > -> T& rather than -// rv& (since T&& & -> T&). -// -//- Add'l TypeTraits has_[trivial_]move_{constructor,assign}...? -// -//- An as_lvalue(T& x) function, which amounts to an identity operation in C++0x, but strips emulated -// rvalue references in C++03. This may be necessary to prevent "accidental moves". - - -} //namespace boost { - -#include - -#endif //#ifndef BOOST_MOVE_MOVE_TRAITS_HPP diff --git a/bundled/boost-1.56.0/include/boost/move/utility.hpp b/bundled/boost-1.56.0/include/boost/move/utility.hpp deleted file mode 100644 index 964500eb4b..0000000000 --- a/bundled/boost-1.56.0/include/boost/move/utility.hpp +++ /dev/null @@ -1,194 +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/move for documentation. -// -////////////////////////////////////////////////////////////////////////////// - -//! \file - -#ifndef BOOST_MOVE_MOVE_UTILITY_HPP -#define BOOST_MOVE_MOVE_UTILITY_HPP - -#include -#include -#include - -#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_MOVE_DOXYGEN_INVOKED) - - namespace boost { - - template - struct enable_move_utility_emulation - { - static const bool value = true; - }; - - ////////////////////////////////////////////////////////////////////////////// - // - // move() - // - ////////////////////////////////////////////////////////////////////////////// - - template - inline typename ::boost::move_detail::enable_if_c - < enable_move_utility_emulation::value && !has_move_emulation_enabled::value, T&>::type - move(T& x) BOOST_NOEXCEPT - { - return x; - } - - template - inline typename ::boost::move_detail::enable_if_c - < enable_move_utility_emulation::value && has_move_emulation_enabled::value, rv&>::type - move(T& x) BOOST_NOEXCEPT - { - return *static_cast* >(::boost::move_detail::addressof(x)); - } - - template - inline typename ::boost::move_detail::enable_if_c - < enable_move_utility_emulation::value && has_move_emulation_enabled::value, rv&>::type - move(rv& x) BOOST_NOEXCEPT - { - return x; - } - - ////////////////////////////////////////////////////////////////////////////// - // - // forward() - // - ////////////////////////////////////////////////////////////////////////////// - - template - inline typename ::boost::move_detail::enable_if_c - < enable_move_utility_emulation::value && ::boost::move_detail::is_rv::value, T &>::type - forward(const typename ::boost::move_detail::identity::type &x) BOOST_NOEXCEPT - { - return const_cast(x); - } - - template - inline typename ::boost::move_detail::enable_if_c - < enable_move_utility_emulation::value && !::boost::move_detail::is_rv::value, const T &>::type - forward(const typename ::boost::move_detail::identity::type &x) BOOST_NOEXCEPT - { - return x; - } - - } //namespace boost - -#else //#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_MOVE_DOXYGEN_INVOKED) - - #if defined(BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE) - #include - - namespace boost{ - - using ::std::move; - using ::std::forward; - - } //namespace boost - - #else //!BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE - - #include - - namespace boost { - - //! This trait's internal boolean `value` is false in compilers with rvalue references - //! and true in compilers without rvalue references. - //! - //! A user can specialize this trait for a type T to false to SFINAE out `move` and `forward` - //! so that the user can define a different move emulation for that type in namespace boost - //! (e.g. another Boost library for its types) and avoid any overload ambiguity. - template - struct enable_move_utility_emulation - { - static const bool value = false; - }; - - ////////////////////////////////////////////////////////////////////////////// - // - // move - // - ////////////////////////////////////////////////////////////////////////////// - - #if defined(BOOST_MOVE_DOXYGEN_INVOKED) - //! This function provides a way to convert a reference into a rvalue reference - //! in compilers with rvalue references. For other compilers converts T & into - //! ::boost::rv & so that move emulation is activated. - template - rvalue_reference move(input_reference) noexcept; - - #elif defined(BOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES) - - //Old move approach, lvalues could bind to rvalue references - template - inline typename remove_reference::type && move(T&& t) BOOST_NOEXCEPT - { return t; } - - #else //BOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES - - template - inline typename remove_reference::type && move(T&& t) BOOST_NOEXCEPT - { return static_cast::type &&>(t); } - - #endif //BOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES - - ////////////////////////////////////////////////////////////////////////////// - // - // forward - // - ////////////////////////////////////////////////////////////////////////////// - - - #if defined(BOOST_MOVE_DOXYGEN_INVOKED) - //! This function provides limited form of forwarding that is usually enough for - //! in-place construction and avoids the exponential overloading for - //! achieve the limited forwarding in C++03. - //! - //! For compilers with rvalue references this function provides perfect forwarding. - //! - //! Otherwise: - //! * If input_reference binds to const ::boost::rv & then it output_reference is - //! ::boost::rv & - //! - //! * Else, output_reference is equal to input_reference. - template output_reference forward(input_reference) noexcept; - #elif defined(BOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES) - - //Old move approach, lvalues could bind to rvalue references - - template - inline T&& forward(typename ::boost::move_detail::identity::type&& t) BOOST_NOEXCEPT - { return t; } - - #else //Old move - - //Implementation #5 from N2951, thanks to Howard Hinnant - - template - inline T&& forward(U&& t - , typename ::boost::move_detail::enable_if_c< - move_detail::is_lvalue_reference::value ? move_detail::is_lvalue_reference::value : true>::type * = 0/* - , typename ::boost::move_detail::enable_if_c< - move_detail::is_convertible - ::type*, typename remove_reference::type*>::value>::type * = 0*/) BOOST_NOEXCEPT - { return static_cast(t); } - - #endif //BOOST_MOVE_DOXYGEN_INVOKED - - } //namespace boost { - - #endif //#if defined(BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE) - -#endif //BOOST_NO_CXX11_RVALUE_REFERENCES - -#include - -#endif //#ifndef BOOST_MOVE_MOVE_UTILITY_HPP diff --git a/bundled/boost-1.56.0/include/boost/mpl/aux_/insert_range_impl.hpp b/bundled/boost-1.56.0/include/boost/mpl/aux_/insert_range_impl.hpp deleted file mode 100644 index baffb54a2d..0000000000 --- a/bundled/boost-1.56.0/include/boost/mpl/aux_/insert_range_impl.hpp +++ /dev/null @@ -1,77 +0,0 @@ - -#ifndef BOOST_MPL_AUX_INSERT_RANGE_IMPL_HPP_INCLUDED -#define BOOST_MPL_AUX_INSERT_RANGE_IMPL_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -namespace boost { namespace mpl { - -// default implementation; conrete sequences might override it by -// specializing either the 'insert_range_impl' or the primary -// 'insert_range' template - - -template< typename Tag > -struct insert_range_impl -{ - template< - typename Sequence - , typename Pos - , typename Range - > - struct apply -#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) - : reverse_copy< - joint_view< - iterator_range::type,Pos> - , joint_view< - Range - , iterator_range::type> - > - > - , front_inserter< typename clear::type > - > - { -#else - { - typedef typename reverse_copy< - joint_view< - iterator_range::type,Pos> - , joint_view< - Range - , iterator_range::type> - > - > - , front_inserter< typename clear::type > - >::type type; -#endif - }; -}; - -BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(3,insert_range_impl) - -}} - -#endif // BOOST_MPL_AUX_INSERT_RANGE_IMPL_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/mpl/aux_/preprocessor/range.hpp b/bundled/boost-1.56.0/include/boost/mpl/aux_/preprocessor/range.hpp deleted file mode 100644 index 54094ee787..0000000000 --- a/bundled/boost-1.56.0/include/boost/mpl/aux_/preprocessor/range.hpp +++ /dev/null @@ -1,23 +0,0 @@ - -#ifndef BOOST_MPL_AUX_PREPROCESSOR_RANGE_HPP_INCLUDED -#define BOOST_MPL_AUX_PREPROCESSOR_RANGE_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2002-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -#define BOOST_MPL_PP_RANGE(first, length) \ - BOOST_PP_SEQ_SUBSEQ((0)(1)(2)(3)(4)(5)(6)(7)(8)(9), first, length) \ -/**/ - -#endif // BOOST_MPL_AUX_PREPROCESSOR_RANGE_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/mpl/map/aux_/item.hpp b/bundled/boost-1.56.0/include/boost/mpl/map/aux_/item.hpp deleted file mode 100644 index d0df522cd8..0000000000 --- a/bundled/boost-1.56.0/include/boost/mpl/map/aux_/item.hpp +++ /dev/null @@ -1,138 +0,0 @@ - -#ifndef BOOST_MPL_MAP_AUX_ITEM_HPP_INCLUDED -#define BOOST_MPL_MAP_AUX_ITEM_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2003-2004 -// Copyright David Abrahams 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -namespace boost { namespace mpl { - -#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) - -template< typename Key, typename T, typename Base > -struct m_item - : Base -{ - typedef Key key_; - typedef pair item; - typedef Base base; - - typedef typename next< typename Base::size >::type size; - typedef typename next< typename Base::order >::type order; - -#if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES) - typedef typename aux::weighted_tag::type order_tag_; -#else - typedef char (&order_tag_)[BOOST_MPL_AUX_MSVC_VALUE_WKND(order)::value]; -#endif - - BOOST_MPL_AUX_MAP_OVERLOAD( aux::type_wrapper, VALUE_BY_KEY, m_item, aux::type_wrapper* ); - BOOST_MPL_AUX_MAP_OVERLOAD( aux::type_wrapper, ITEM_BY_ORDER, m_item, order* ); - BOOST_MPL_AUX_MAP_OVERLOAD( order_tag_, ORDER_BY_KEY, m_item, aux::type_wrapper* ); -}; - - -template< typename Key, typename Base > -struct m_mask - : Base -{ - typedef void_ key_; - typedef Base base; - - typedef typename prior< typename Base::size >::type size; - typedef typename x_order_impl::type key_order_; - - BOOST_MPL_AUX_MAP_OVERLOAD( aux::type_wrapper, VALUE_BY_KEY, m_mask, aux::type_wrapper* ); - BOOST_MPL_AUX_MAP_OVERLOAD( aux::type_wrapper, ITEM_BY_ORDER, m_mask, key_order_* ); -}; - -#else // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES - - -# if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) - -template< long n, typename Key, typename T, typename Base > -struct m_item; - -# else - -template< long n > -struct m_item_impl -{ - template< typename Key, typename T, typename Base > - struct result_; -}; - -template< long n, typename Key, typename T, typename Base > -struct m_item - : m_item_impl::result_ -{ -}; - - -# endif - - -template< typename Key, typename T, typename Base > -struct m_item_ - : Base -{ - typedef Key key_; - typedef Base base; - typedef m_item_ type; - - typedef typename next< typename Base::size >::type size; - typedef typename next< typename Base::order >::type order; - -#if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES) - typedef typename aux::weighted_tag::type order_tag_; -#else - typedef char (&order_tag_)[BOOST_MPL_AUX_MSVC_VALUE_WKND(order)::value]; -#endif - - BOOST_MPL_AUX_MAP_OVERLOAD( order_tag_, ORDER_BY_KEY, m_item_, aux::type_wrapper* ); -}; - -template< typename Key, typename Base > -struct m_mask - : Base -{ - typedef void_ key_; - typedef Base base; - - typedef typename prior< typename Base::size >::type size; - typedef typename x_order_impl::type key_order_; - - BOOST_MPL_AUX_MAP_OVERLOAD( aux::no_tag, ORDER_BY_KEY, m_mask, aux::type_wrapper* ); - BOOST_MPL_AUX_MAP_OVERLOAD( aux::yes_tag, IS_MASKED, m_mask, key_order_* ); -}; - -#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES - -}} - -#endif // BOOST_MPL_MAP_AUX_ITEM_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/mpl/set/aux_/item.hpp b/bundled/boost-1.56.0/include/boost/mpl/set/aux_/item.hpp deleted file mode 100644 index e90e4900f6..0000000000 --- a/bundled/boost-1.56.0/include/boost/mpl/set/aux_/item.hpp +++ /dev/null @@ -1,80 +0,0 @@ - -#ifndef BOOST_MPL_SET_AUX_ITEM_HPP_INCLUDED -#define BOOST_MPL_SET_AUX_ITEM_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2003-2007 -// Copyright David Abrahams 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace mpl { - -template< typename T, typename Base > -struct s_item - : Base -{ - typedef s_item item_; - typedef void_ last_masked_; - typedef T item_type_; - typedef typename Base::item_ base; - - typedef typename next< typename Base::size >::type size; - typedef typename next< typename Base::order >::type order; - -#if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES) - typedef typename aux::weighted_tag::type order_tag_; -#else - typedef char (&order_tag_)[BOOST_MPL_AUX_MSVC_VALUE_WKND(order)::value]; -#endif - - BOOST_MPL_AUX_SET_OVERLOAD( order_tag_, ORDER_BY_KEY, s_item, aux::type_wrapper* ); - BOOST_MPL_AUX_SET_OVERLOAD( aux::no_tag, IS_MASKED, s_item, aux::type_wrapper* ); -}; - - -template< typename T, typename Base > -struct s_mask - : Base -{ - typedef s_mask item_; - typedef T last_masked_; - typedef void_ item_type_; - typedef typename Base::item_ base; - typedef typename prior< typename Base::size >::type size; - - BOOST_MPL_AUX_SET_OVERLOAD( aux::yes_tag, IS_MASKED, s_mask, aux::type_wrapper* ); -}; - - -template< typename T, typename Base > -struct s_unmask - : Base -{ - typedef s_unmask item_; - typedef void_ last_masked_; - typedef T item_type_; - typedef typename Base::item_ base; - typedef typename next< typename Base::size >::type size; - - BOOST_MPL_AUX_SET_OVERLOAD( aux::no_tag, IS_MASKED, s_unmask, aux::type_wrapper* ); -}; - -}} - -#endif // BOOST_MPL_SET_AUX_ITEM_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/mpl/string.hpp b/bundled/boost-1.56.0/include/boost/mpl/string.hpp deleted file mode 100644 index 345918f902..0000000000 --- a/bundled/boost-1.56.0/include/boost/mpl/string.hpp +++ /dev/null @@ -1,607 +0,0 @@ - -#ifndef BOOST_MPL_STRING_HPP_INCLUDED -#define BOOST_MPL_STRING_HPP_INCLUDED - -// Copyright Eric Niebler 2009 -// -// Distributed under the 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/mpl for documentation. - -// $Id: string.hpp 49239 2009-04-01 09:10:26Z eric_niebler $ -// $Date: 2009-04-01 02:10:26 -0700 (Wed, 1 Apr 2009) $ -// $Revision: 49239 $ -// -// Thanks to: -// Dmitry Goncharov for porting this to the Sun compiler - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include // for bidirectional_iterator_tag -#include - -namespace boost { namespace mpl -{ - #define BOOST_MPL_STRING_MAX_PARAMS \ - BOOST_PP_DIV(BOOST_PP_ADD(BOOST_MPL_LIMIT_STRING_SIZE, 3), 4) - - // Low-level bit-twiddling is done by macros. Any implementation-defined behavior of - // multi-character literals should be localized to these macros. - - #define BOOST_MPL_MULTICHAR_LENGTH(c) \ - (std::size_t)((c0xffffff)+(c>0xffff)+(c>0xff)+1)) - - #if defined(BOOST_ENDIAN_LITTLE_BYTE) && defined(__SUNPRO_CC) - - #define BOOST_MPL_MULTICHAR_AT(c,i) \ - (char)(0xff&((unsigned)(c)>>(8*(std::size_t)(i)))) - - #define BOOST_MPL_MULTICHAR_PUSH_BACK(c,i) \ - ((((unsigned char)(i))<<(BOOST_MPL_MULTICHAR_LENGTH(c)*8))|(unsigned)(c)) - - #define BOOST_MPL_MULTICHAR_PUSH_FRONT(c,i) \ - (((unsigned)(c)<<8)|(unsigned char)(i)) - - #define BOOST_MPL_MULTICHAR_POP_BACK(c) \ - (((1<<((BOOST_MPL_MULTICHAR_LENGTH(c)-1)*8))-1)&(unsigned)(c)) - - #define BOOST_MPL_MULTICHAR_POP_FRONT(c) \ - ((unsigned)(c)>>8) - - #else - - #define BOOST_MPL_MULTICHAR_AT(c,i) \ - (char)(0xff&((unsigned)(c)>>(8*(BOOST_MPL_MULTICHAR_LENGTH(c)-(std::size_t)(i)-1)))) - - #define BOOST_MPL_MULTICHAR_PUSH_BACK(c,i) \ - (((unsigned)(c)<<8)|(unsigned char)(i)) - - #define BOOST_MPL_MULTICHAR_PUSH_FRONT(c,i) \ - ((((unsigned char)(i))<<(BOOST_MPL_MULTICHAR_LENGTH(c)*8))|(unsigned)(c)) - - #define BOOST_MPL_MULTICHAR_POP_BACK(c) \ - ((unsigned)(c)>>8) - - #define BOOST_MPL_MULTICHAR_POP_FRONT(c) \ - (((1<<((BOOST_MPL_MULTICHAR_LENGTH(c)-1)*8))-1)&(unsigned)(c)) - - #endif - - struct string_tag; - struct string_iterator_tag; - - template - struct string; - - template - struct string_iterator; - - template - struct sequence_tag; - - template - struct size_impl; - - template<> - struct size_impl - { - template - struct apply; - - #define M0(z, n, data) \ - + BOOST_MPL_MULTICHAR_LENGTH(BOOST_PP_CAT(C,n)) - - #define M1(z, n, data) \ - template \ - struct apply > \ - : mpl::size_t<(0 BOOST_PP_REPEAT_ ## z(n, M0, ~))> \ - {}; - - BOOST_PP_REPEAT_FROM_TO(1, BOOST_PP_INC(BOOST_MPL_STRING_MAX_PARAMS), M1, ~) - #undef M0 - #undef M1 - }; - - template<> - struct size_impl::apply > - : mpl::size_t<0> - {}; - - template - struct begin_impl; - - template<> - struct begin_impl - { - template - struct apply - { - typedef mpl::string_iterator type; - }; - }; - - template - struct end_impl; - - template<> - struct end_impl - { - template - struct apply; - - #define M0(z,n,data) \ - template \ - struct apply > \ - { \ - typedef mpl::string_iterator, n, 0> type; \ - }; - - BOOST_PP_REPEAT_FROM_TO(1, BOOST_PP_INC(BOOST_MPL_STRING_MAX_PARAMS), M0, ~) - #undef M0 - }; - - template<> - struct end_impl::apply > - { - typedef mpl::string_iterator, 0, 0> type; - }; - - template - struct push_back_impl; - - template<> - struct push_back_impl - { - template - struct apply - { - BOOST_MPL_ASSERT_MSG( - (BOOST_MPL_LIMIT_STRING_SIZE != mpl::size::type::value) - , PUSH_BACK_FAILED_MPL_STRING_IS_FULL - , (Sequence) - ); - // If the above assertion didn't fire, then the string is sparse. - // Repack the string and retry the push_back - typedef - typename mpl::push_back< - typename mpl::copy< - Sequence - , mpl::back_inserter > - >::type - , Value - >::type - type; - }; - - template - struct apply, Value, false> - { - typedef mpl::string<(char)Value::value> type; - }; - - #define M0(z,n,data) \ - template \ - struct apply, Value, false> \ - { \ - typedef \ - mpl::string< \ - BOOST_PP_ENUM_PARAMS_Z(z, BOOST_PP_DEC(n), C) \ - BOOST_PP_COMMA_IF(BOOST_PP_DEC(n)) \ - ((unsigned)BOOST_PP_CAT(C,BOOST_PP_DEC(n))>0xffffff) \ - ?BOOST_PP_CAT(C,BOOST_PP_DEC(n)) \ - :BOOST_MPL_MULTICHAR_PUSH_BACK(BOOST_PP_CAT(C,BOOST_PP_DEC(n)), Value::value) \ - , ((unsigned)BOOST_PP_CAT(C,BOOST_PP_DEC(n))>0xffffff) \ - ?(char)Value::value \ - :0 \ - > \ - type; \ - }; - - BOOST_PP_REPEAT_FROM_TO(1, BOOST_MPL_STRING_MAX_PARAMS, M0, ~) - #undef M0 - - template - struct apply, Value, false> - { - typedef - mpl::string< - BOOST_PP_ENUM_PARAMS(BOOST_PP_DEC(BOOST_MPL_STRING_MAX_PARAMS), C) - , BOOST_MPL_MULTICHAR_PUSH_BACK(BOOST_PP_CAT(C,BOOST_PP_DEC(BOOST_MPL_STRING_MAX_PARAMS)), Value::value) - > - type; - }; - }; - - template - struct has_push_back_impl; - - template<> - struct has_push_back_impl - { - template - struct apply - : mpl::true_ - {}; - }; - - template - struct pop_back_impl; - - template<> - struct pop_back_impl - { - template - struct apply; - - #define M0(z,n,data) \ - template \ - struct apply > \ - { \ - BOOST_MPL_ASSERT_MSG((C0 != 0), POP_BACK_FAILED_MPL_STRING_IS_EMPTY, (mpl::string<>)); \ - typedef \ - mpl::string< \ - BOOST_PP_ENUM_PARAMS_Z(z, BOOST_PP_DEC(n), C) \ - BOOST_PP_COMMA_IF(BOOST_PP_DEC(n)) \ - BOOST_MPL_MULTICHAR_POP_BACK(BOOST_PP_CAT(C,BOOST_PP_DEC(n))) \ - > \ - type; \ - }; - - BOOST_PP_REPEAT_FROM_TO(1, BOOST_PP_INC(BOOST_MPL_STRING_MAX_PARAMS), M0, ~) - #undef M0 - }; - - template - struct has_pop_back_impl; - - template<> - struct has_pop_back_impl - { - template - struct apply - : mpl::true_ - {}; - }; - - template - struct push_front_impl; - - template<> - struct push_front_impl - { - template - struct apply - { - BOOST_MPL_ASSERT_MSG( - (BOOST_MPL_LIMIT_STRING_SIZE != mpl::size::type::value) - , PUSH_FRONT_FAILED_MPL_STRING_IS_FULL - , (Sequence) - ); - // If the above assertion didn't fire, then the string is sparse. - // Repack the string and retry the push_front. - typedef - typename mpl::push_front< - typename mpl::reverse_copy< - Sequence - , mpl::front_inserter > - >::type - , Value - >::type - type; - }; - - #if !BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x590)) - template - struct apply, Value, false> - { - typedef mpl::string<(char)Value::value> type; - }; - #endif - - #define M0(z,n,data) \ - template \ - struct apply, Value, true> \ - { \ - typedef \ - mpl::string< \ - (char)Value::value \ - BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, n, C) \ - > \ - type; \ - }; - - BOOST_PP_REPEAT_FROM_TO(1, BOOST_MPL_STRING_MAX_PARAMS, M0, ~) - #undef M0 - - template - struct apply, Value, false> - { - typedef - mpl::string< - BOOST_MPL_MULTICHAR_PUSH_FRONT(C0, Value::value) - , BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_MPL_STRING_MAX_PARAMS, C) - > - type0; - - #if BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x590)) - typedef - typename mpl::if_< - mpl::empty > - , mpl::string<(char)Value::value> - , type0 - >::type - type; - #else - typedef type0 type; - #endif - }; - }; - - template - struct has_push_front_impl; - - template<> - struct has_push_front_impl - { - template - struct apply - : mpl::true_ - {}; - }; - - template - struct pop_front_impl; - - template<> - struct pop_front_impl - { - template - struct apply; - - #define M0(z,n,data) \ - template \ - struct apply, true> \ - { \ - BOOST_MPL_ASSERT_MSG((C0 != 0), POP_FRONT_FAILED_MPL_STRING_IS_EMPTY, (mpl::string<>)); \ - typedef \ - mpl::string \ - type; \ - }; - - BOOST_PP_REPEAT_FROM_TO(1, BOOST_MPL_STRING_MAX_PARAMS, M0, ~) - #undef M0 - - template - struct apply, false> - { - typedef - mpl::string< - BOOST_MPL_MULTICHAR_POP_FRONT(C0) - , BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_MPL_STRING_MAX_PARAMS, C) - > - type; - }; - }; - - template - struct has_pop_front_impl; - - template<> - struct has_pop_front_impl - { - template - struct apply - : mpl::true_ - {}; - }; - - template - struct insert_range_impl; - - template<> - struct insert_range_impl - { - template - struct apply - : mpl::copy< - mpl::joint_view< - mpl::iterator_range< - mpl::string_iterator - , Pos - > - , mpl::joint_view< - Range - , mpl::iterator_range< - Pos - , typename mpl::end::type - > - > - > - , mpl::back_inserter > - > - {}; - }; - - template - struct insert_impl; - - template<> - struct insert_impl - { - template - struct apply - : mpl::insert_range > - {}; - }; - - template - struct erase_impl; - - template<> - struct erase_impl - { - template - struct apply - : mpl::copy< - mpl::joint_view< - mpl::iterator_range< - mpl::string_iterator - , First - > - , mpl::iterator_range< - typename mpl::if_na::type>::type - , typename mpl::end::type - > - > - , mpl::back_inserter > - > - {}; - }; - - template - struct clear_impl; - - template<> - struct clear_impl - { - template - struct apply - { - typedef mpl::string<> type; - }; - }; - - #define M0(z, n, data) \ - template \ - struct string_iterator, n, J> \ - { \ - enum { eomc_ = (BOOST_MPL_MULTICHAR_LENGTH(BOOST_PP_CAT(C, n)) == J + 1) }; \ - typedef mpl::string string; \ - typedef std::bidirectional_iterator_tag category; \ - typedef \ - mpl::string_iterator \ - next; \ - typedef \ - mpl::string_iterator \ - prior; \ - typedef mpl::char_ type; \ - }; \ - template \ - struct string_iterator, n, 0> \ - { \ - enum { eomc_ = (BOOST_MPL_MULTICHAR_LENGTH(BOOST_PP_CAT(C, n)) == 1) }; \ - typedef mpl::string string; \ - typedef std::bidirectional_iterator_tag category; \ - typedef \ - mpl::string_iterator \ - next; \ - typedef \ - mpl::string_iterator< \ - string \ - , n - 1 \ - , BOOST_MPL_MULTICHAR_LENGTH(BOOST_PP_CAT(C, BOOST_PP_DEC(n))) - 1 \ - > \ - prior; \ - typedef mpl::char_ type; \ - }; - - BOOST_PP_REPEAT(BOOST_MPL_STRING_MAX_PARAMS, M0, ~) - #undef M0 - - template - struct string - { - /// INTERNAL ONLY - enum - { - front_ = C0 - , back_ = BOOST_PP_CAT(C, BOOST_PP_DEC(BOOST_MPL_STRING_MAX_PARAMS)) - }; - - typedef char value_type; - typedef string type; - typedef string_tag tag; - }; - - namespace aux_ - { - template - struct next_unless - : mpl::next - {}; - - template - struct next_unless - { - typedef End type; - }; - - template - struct deref_unless - : mpl::deref - {}; - - template - struct deref_unless - { - typedef mpl::char_<'\0'> type; - }; - } - - template - struct c_str - { - typedef typename mpl::end::type iend; - typedef typename mpl::begin::type i0; - #define M0(z, n, data) \ - typedef \ - typename mpl::aux_::next_unless::type \ - BOOST_PP_CAT(i, BOOST_PP_INC(n)); - BOOST_PP_REPEAT(BOOST_MPL_LIMIT_STRING_SIZE, M0, ~) - #undef M0 - - typedef c_str type; - static typename Sequence::value_type const value[BOOST_MPL_LIMIT_STRING_SIZE+1]; - }; - - template - typename Sequence::value_type const c_str::value[BOOST_MPL_LIMIT_STRING_SIZE+1] = - { - #define M0(z, n, data) \ - mpl::aux_::deref_unless::type::value, - BOOST_PP_REPEAT(BOOST_MPL_LIMIT_STRING_SIZE, M0, ~) - #undef M0 - '\0' - }; - -}} // namespace boost - -#endif // BOOST_MPL_STRING_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/multi_index/detail/ord_index_ops.hpp b/bundled/boost-1.56.0/include/boost/multi_index/detail/ord_index_ops.hpp deleted file mode 100644 index d42f5f1a29..0000000000 --- a/bundled/boost-1.56.0/include/boost/multi_index/detail/ord_index_ops.hpp +++ /dev/null @@ -1,147 +0,0 @@ -/* Copyright 2003-2013 Joaquin M Lopez Munoz. - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or copy at - * http://www.boost.org/LICENSE_1_0.txt) - * - * See http://www.boost.org/libs/multi_index for library home page. - * - * The internal implementation of red-black trees is based on that of SGI STL - * stl_tree.h file: - * - * Copyright (c) 1996,1997 - * 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. - * - * - * Copyright (c) 1994 - * Hewlett-Packard Company - * - * 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. Hewlett-Packard Company makes no - * representations about the suitability of this software for any - * purpose. It is provided "as is" without express or implied warranty. - * - */ - -#ifndef BOOST_MULTI_INDEX_DETAIL_ORD_INDEX_OPS_HPP -#define BOOST_MULTI_INDEX_DETAIL_ORD_INDEX_OPS_HPP - -#if defined(_MSC_VER) -#pragma once -#endif - -#include /* keep it first to prevent nasty warns in MSVC */ -#include - -namespace boost{ - -namespace multi_index{ - -namespace detail{ - -/* Common code for index memfuns having templatized and - * non-templatized versions. - */ - -template< - typename Node,typename KeyFromValue, - typename CompatibleKey,typename CompatibleCompare -> -inline Node* ordered_index_find( - Node* top,Node* y,const KeyFromValue& key,const CompatibleKey& x, - const CompatibleCompare& comp) -{ - Node* y0=y; - - while (top){ - if(!comp(key(top->value()),x)){ - y=top; - top=Node::from_impl(top->left()); - } - else top=Node::from_impl(top->right()); - } - - return (y==y0||comp(x,key(y->value())))?y0:y; -} - -template< - typename Node,typename KeyFromValue, - typename CompatibleKey,typename CompatibleCompare -> -inline Node* ordered_index_lower_bound( - Node* top,Node* y,const KeyFromValue& key,const CompatibleKey& x, - const CompatibleCompare& comp) -{ - while(top){ - if(!comp(key(top->value()),x)){ - y=top; - top=Node::from_impl(top->left()); - } - else top=Node::from_impl(top->right()); - } - - return y; -} - -template< - typename Node,typename KeyFromValue, - typename CompatibleKey,typename CompatibleCompare -> -inline Node* ordered_index_upper_bound( - Node* top,Node* y,const KeyFromValue& key,const CompatibleKey& x, - const CompatibleCompare& comp) -{ - while(top){ - if(comp(x,key(top->value()))){ - y=top; - top=Node::from_impl(top->left()); - } - else top=Node::from_impl(top->right()); - } - - return y; -} - -template< - typename Node,typename KeyFromValue, - typename CompatibleKey,typename CompatibleCompare -> -inline std::pair ordered_index_equal_range( - Node* top,Node* y,const KeyFromValue& key,const CompatibleKey& x, - const CompatibleCompare& comp) -{ - while(top){ - if(comp(key(top->value()),x)){ - top=Node::from_impl(top->right()); - } - else if(comp(x,key(top->value()))){ - y=top; - top=Node::from_impl(top->left()); - } - else{ - return std::pair( - ordered_index_lower_bound(Node::from_impl(top->left()),top,key,x,comp), - ordered_index_upper_bound(Node::from_impl(top->right()),y,key,x,comp)); - } - } - - return std::pair(y,y); -} - -} /* namespace multi_index::detail */ - -} /* namespace multi_index */ - -} /* namespace boost */ - -#endif diff --git a/bundled/boost-1.56.0/include/boost/multi_index/identity.hpp b/bundled/boost-1.56.0/include/boost/multi_index/identity.hpp deleted file mode 100644 index 1dbaf3b220..0000000000 --- a/bundled/boost-1.56.0/include/boost/multi_index/identity.hpp +++ /dev/null @@ -1,137 +0,0 @@ -/* Copyright 2003-2013 Joaquin M Lopez Munoz. - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or copy at - * http://www.boost.org/LICENSE_1_0.txt) - * - * See http://www.boost.org/libs/multi_index for library home page. - */ - -#ifndef BOOST_MULTI_INDEX_IDENTITY_HPP -#define BOOST_MULTI_INDEX_IDENTITY_HPP - -#if defined(_MSC_VER) -#pragma once -#endif - -#include -#include -#include -#include -#include -#include - -#if !defined(BOOST_NO_SFINAE) -#include -#endif - -namespace boost{ - -template class reference_wrapper; /* fwd decl. */ - -namespace multi_index{ - -namespace detail{ - -/* identity is a do-nothing key extractor that returns the [const] Type& - * object passed. - * Additionally, identity is overloaded to support referece_wrappers - * of Type and "chained pointers" to Type's. By chained pointer to Type we - * mean a type P such that, given a p of type P - * *...n...*x is convertible to Type&, for some n>=1. - * Examples of chained pointers are raw and smart pointers, iterators and - * arbitrary combinations of these (vg. Type** or auto_ptr.) - */ - -template -struct const_identity_base -{ - typedef Type result_type; - - template - -#if !defined(BOOST_NO_SFINAE) - typename disable_if,Type&>::type -#else - Type& -#endif - - operator()(const ChainedPtr& x)const - { - return operator()(*x); - } - - Type& operator()(Type& x)const - { - return x; - } - - Type& operator()(const reference_wrapper& x)const - { - return x.get(); - } - - Type& operator()( - const reference_wrapper::type>& x)const - { - return x.get(); - } -}; - -template -struct non_const_identity_base -{ - typedef Type result_type; - - /* templatized for pointer-like types */ - - template - -#if !defined(BOOST_NO_SFINAE) - typename disable_if< - is_convertible,Type&>::type -#else - Type& -#endif - - operator()(const ChainedPtr& x)const - { - return operator()(*x); - } - - const Type& operator()(const Type& x)const - { - return x; - } - - Type& operator()(Type& x)const - { - return x; - } - - const Type& operator()(const reference_wrapper& x)const - { - return x.get(); - } - - Type& operator()(const reference_wrapper& x)const - { - return x.get(); - } -}; - -} /* namespace multi_index::detail */ - -template -struct identity: - mpl::if_c< - is_const::value, - detail::const_identity_base,detail::non_const_identity_base - >::type -{ -}; - -} /* namespace multi_index */ - -} /* namespace boost */ - -#endif diff --git a/bundled/boost-1.56.0/include/boost/multi_index/ordered_index.hpp b/bundled/boost-1.56.0/include/boost/multi_index/ordered_index.hpp deleted file mode 100644 index 3f0ae5d84a..0000000000 --- a/bundled/boost-1.56.0/include/boost/multi_index/ordered_index.hpp +++ /dev/null @@ -1,1524 +0,0 @@ -/* Copyright 2003-2014 Joaquin M Lopez Munoz. - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or copy at - * http://www.boost.org/LICENSE_1_0.txt) - * - * See http://www.boost.org/libs/multi_index for library home page. - * - * The internal implementation of red-black trees is based on that of SGI STL - * stl_tree.h file: - * - * Copyright (c) 1996,1997 - * 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. - * - * - * Copyright (c) 1994 - * Hewlett-Packard Company - * - * 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. Hewlett-Packard Company makes no - * representations about the suitability of this software for any - * purpose. It is provided "as is" without express or implied warranty. - * - */ - -#ifndef BOOST_MULTI_INDEX_ORDERED_INDEX_HPP -#define BOOST_MULTI_INDEX_ORDERED_INDEX_HPP - -#if defined(_MSC_VER) -#pragma once -#endif - -#include /* keep it first to prevent nasty warns in MSVC */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) -#include -#endif - -#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION) -#include -#include -#include -#include -#endif - -#if defined(BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING) -#define BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT_OF(x) \ - detail::scope_guard BOOST_JOIN(check_invariant_,__LINE__)= \ - detail::make_obj_guard(x,&ordered_index::check_invariant_); \ - BOOST_JOIN(check_invariant_,__LINE__).touch(); -#define BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT \ - BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT_OF(*this) -#else -#define BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT_OF(x) -#define BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT -#endif - -namespace boost{ - -namespace multi_index{ - -namespace detail{ - -/* ordered_index adds a layer of ordered indexing to a given Super */ - -/* Most of the implementation of unique and non-unique indices is - * shared. We tell from one another on instantiation time by using - * these tags. - */ - -struct ordered_unique_tag{}; -struct ordered_non_unique_tag{}; - -template< - typename KeyFromValue,typename Compare, - typename SuperMeta,typename TagList,typename Category -> -class ordered_index: - BOOST_MULTI_INDEX_PROTECTED_IF_MEMBER_TEMPLATE_FRIENDS SuperMeta::type - -#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE) - ,public safe_mode::safe_container< - ordered_index > -#endif - -{ -#if defined(BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING)&&\ - BOOST_WORKAROUND(__MWERKS__,<=0x3003) -/* The "ISO C++ Template Parser" option in CW8.3 has a problem with the - * lifetime of const references bound to temporaries --precisely what - * scopeguards are. - */ - -#pragma parse_mfunc_templ off -#endif - - typedef typename SuperMeta::type super; - -protected: - typedef ordered_index_node< - typename super::node_type> node_type; - -private: - typedef typename node_type::impl_type node_impl_type; - typedef typename node_impl_type::pointer node_impl_pointer; - -public: - /* types */ - - typedef typename KeyFromValue::result_type key_type; - typedef typename node_type::value_type value_type; - typedef KeyFromValue key_from_value; - typedef Compare key_compare; - typedef value_comparison< - value_type,KeyFromValue,Compare> value_compare; - typedef tuple ctor_args; - typedef typename super::final_allocator_type allocator_type; - typedef typename allocator_type::reference reference; - typedef typename allocator_type::const_reference const_reference; - -#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE) - typedef safe_mode::safe_iterator< - bidir_node_iterator, - ordered_index> iterator; -#else - typedef bidir_node_iterator iterator; -#endif - - typedef iterator const_iterator; - - typedef std::size_t size_type; - typedef std::ptrdiff_t difference_type; - typedef typename allocator_type::pointer pointer; - typedef typename allocator_type::const_pointer const_pointer; - typedef typename - boost::reverse_iterator reverse_iterator; - typedef typename - boost::reverse_iterator const_reverse_iterator; - typedef TagList tag_list; - -protected: - typedef typename super::final_node_type final_node_type; - typedef tuples::cons< - ctor_args, - typename super::ctor_args_list> ctor_args_list; - typedef typename mpl::push_front< - typename super::index_type_list, - ordered_index>::type index_type_list; - typedef typename mpl::push_front< - typename super::iterator_type_list, - iterator>::type iterator_type_list; - typedef typename mpl::push_front< - typename super::const_iterator_type_list, - const_iterator>::type const_iterator_type_list; - typedef typename super::copy_map_type copy_map_type; - -#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION) - typedef typename super::index_saver_type index_saver_type; - typedef typename super::index_loader_type index_loader_type; -#endif - -private: -#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE) - typedef safe_mode::safe_container safe_super; -#endif - - typedef typename call_traits< - value_type>::param_type value_param_type; - typedef typename call_traits< - key_type>::param_type key_param_type; - - /* Needed to avoid commas in BOOST_MULTI_INDEX_OVERLOADS_TO_VARTEMPL - * expansion. - */ - - typedef std::pair emplace_return_type; - -public: - - /* construct/copy/destroy - * Default and copy ctors are in the protected section as indices are - * not supposed to be created on their own. No range ctor either. - */ - - ordered_index& operator=( - const ordered_index& x) - { - this->final()=x.final(); - return *this; - } - -#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) - ordered_index& operator=( - std::initializer_list list) - { - this->final()=list; - return *this; - } -#endif - - allocator_type get_allocator()const BOOST_NOEXCEPT - { - return this->final().get_allocator(); - } - - /* iterators */ - - iterator - begin()BOOST_NOEXCEPT{return make_iterator(leftmost());} - const_iterator - begin()const BOOST_NOEXCEPT{return make_iterator(leftmost());} - iterator - end()BOOST_NOEXCEPT{return make_iterator(header());} - const_iterator - end()const BOOST_NOEXCEPT{return make_iterator(header());} - reverse_iterator - rbegin()BOOST_NOEXCEPT{return boost::make_reverse_iterator(end());} - const_reverse_iterator - rbegin()const BOOST_NOEXCEPT{return boost::make_reverse_iterator(end());} - reverse_iterator - rend()BOOST_NOEXCEPT{return boost::make_reverse_iterator(begin());} - const_reverse_iterator - rend()const BOOST_NOEXCEPT{return boost::make_reverse_iterator(begin());} - const_iterator - cbegin()const BOOST_NOEXCEPT{return begin();} - const_iterator - cend()const BOOST_NOEXCEPT{return end();} - const_reverse_iterator - crbegin()const BOOST_NOEXCEPT{return rbegin();} - const_reverse_iterator - crend()const BOOST_NOEXCEPT{return rend();} - - iterator iterator_to(const value_type& x) - { - return make_iterator(node_from_value(&x)); - } - - const_iterator iterator_to(const value_type& x)const - { - return make_iterator(node_from_value(&x)); - } - - /* capacity */ - - bool empty()const BOOST_NOEXCEPT{return this->final_empty_();} - size_type size()const BOOST_NOEXCEPT{return this->final_size_();} - size_type max_size()const BOOST_NOEXCEPT{return this->final_max_size_();} - - /* modifiers */ - - BOOST_MULTI_INDEX_OVERLOADS_TO_VARTEMPL( - emplace_return_type,emplace,emplace_impl) - - BOOST_MULTI_INDEX_OVERLOADS_TO_VARTEMPL_EXTRA_ARG( - iterator,emplace_hint,emplace_hint_impl,iterator,position) - - std::pair insert(const value_type& x) - { - BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT; - std::pair p=this->final_insert_(x); - return std::pair(make_iterator(p.first),p.second); - } - - std::pair insert(BOOST_RV_REF(value_type) x) - { - BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT; - std::pair p=this->final_insert_rv_(x); - return std::pair(make_iterator(p.first),p.second); - } - - iterator insert(iterator position,const value_type& x) - { - BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position); - BOOST_MULTI_INDEX_CHECK_IS_OWNER(position,*this); - BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT; - std::pair p=this->final_insert_( - x,static_cast(position.get_node())); - return make_iterator(p.first); - } - - iterator insert(iterator position,BOOST_RV_REF(value_type) x) - { - BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position); - BOOST_MULTI_INDEX_CHECK_IS_OWNER(position,*this); - BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT; - std::pair p=this->final_insert_rv_( - x,static_cast(position.get_node())); - return make_iterator(p.first); - } - - template - void insert(InputIterator first,InputIterator last) - { - BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT; - node_type* hint=header(); /* end() */ - for(;first!=last;++first){ - hint=this->final_insert_ref_( - *first,static_cast(hint)).first; - node_type::increment(hint); - } - } - -#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) - void insert(std::initializer_list list) - { - insert(list.begin(),list.end()); - } -#endif - - iterator erase(iterator position) - { - BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position); - BOOST_MULTI_INDEX_CHECK_DEREFERENCEABLE_ITERATOR(position); - BOOST_MULTI_INDEX_CHECK_IS_OWNER(position,*this); - BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT; - this->final_erase_(static_cast(position++.get_node())); - return position; - } - - size_type erase(key_param_type x) - { - BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT; - std::pair p=equal_range(x); - size_type s=0; - while(p.first!=p.second){ - p.first=erase(p.first); - ++s; - } - return s; - } - - iterator erase(iterator first,iterator last) - { - BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(first); - BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(last); - BOOST_MULTI_INDEX_CHECK_IS_OWNER(first,*this); - BOOST_MULTI_INDEX_CHECK_IS_OWNER(last,*this); - BOOST_MULTI_INDEX_CHECK_VALID_RANGE(first,last); - BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT; - while(first!=last){ - first=erase(first); - } - return first; - } - - bool replace(iterator position,const value_type& x) - { - BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position); - BOOST_MULTI_INDEX_CHECK_DEREFERENCEABLE_ITERATOR(position); - BOOST_MULTI_INDEX_CHECK_IS_OWNER(position,*this); - BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT; - return this->final_replace_( - x,static_cast(position.get_node())); - } - - bool replace(iterator position,BOOST_RV_REF(value_type) x) - { - BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position); - BOOST_MULTI_INDEX_CHECK_DEREFERENCEABLE_ITERATOR(position); - BOOST_MULTI_INDEX_CHECK_IS_OWNER(position,*this); - BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT; - return this->final_replace_rv_( - x,static_cast(position.get_node())); - } - - template - bool modify(iterator position,Modifier mod) - { - BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position); - BOOST_MULTI_INDEX_CHECK_DEREFERENCEABLE_ITERATOR(position); - BOOST_MULTI_INDEX_CHECK_IS_OWNER(position,*this); - BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT; - -#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE) - /* MSVC++ 6.0 optimizer on safe mode code chokes if this - * this is not added. Left it for all compilers as it does no - * harm. - */ - - position.detach(); -#endif - - return this->final_modify_( - mod,static_cast(position.get_node())); - } - - template - bool modify(iterator position,Modifier mod,Rollback back_) - { - BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position); - BOOST_MULTI_INDEX_CHECK_DEREFERENCEABLE_ITERATOR(position); - BOOST_MULTI_INDEX_CHECK_IS_OWNER(position,*this); - BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT; - -#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE) - /* MSVC++ 6.0 optimizer on safe mode code chokes if this - * this is not added. Left it for all compilers as it does no - * harm. - */ - - position.detach(); -#endif - - return this->final_modify_( - mod,back_,static_cast(position.get_node())); - } - - template - bool modify_key(iterator position,Modifier mod) - { - BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position); - BOOST_MULTI_INDEX_CHECK_DEREFERENCEABLE_ITERATOR(position); - BOOST_MULTI_INDEX_CHECK_IS_OWNER(position,*this); - BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT; - return modify( - position,modify_key_adaptor(mod,key)); - } - - template - bool modify_key(iterator position,Modifier mod,Rollback back_) - { - BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position); - BOOST_MULTI_INDEX_CHECK_DEREFERENCEABLE_ITERATOR(position); - BOOST_MULTI_INDEX_CHECK_IS_OWNER(position,*this); - BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT; - return modify( - position, - modify_key_adaptor(mod,key), - modify_key_adaptor(back_,key)); - } - - void swap(ordered_index& x) - { - BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT; - BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT_OF(x); - this->final_swap_(x.final()); - } - - void clear()BOOST_NOEXCEPT - { - BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT; - this->final_clear_(); - } - - /* observers */ - - key_from_value key_extractor()const{return key;} - key_compare key_comp()const{return comp_;} - value_compare value_comp()const{return value_compare(key,comp_);} - - /* set operations */ - - /* Internally, these ops rely on const_iterator being the same - * type as iterator. - */ - - template - iterator find(const CompatibleKey& x)const - { - return make_iterator(ordered_index_find(root(),header(),key,x,comp_)); - } - - template - iterator find( - const CompatibleKey& x,const CompatibleCompare& comp)const - { - return make_iterator(ordered_index_find(root(),header(),key,x,comp)); - } - - template - size_type count(const CompatibleKey& x)const - { - return count(x,comp_); - } - - template - size_type count(const CompatibleKey& x,const CompatibleCompare& comp)const - { - std::pair p=equal_range(x,comp); - size_type n=std::distance(p.first,p.second); - return n; - } - - template - iterator lower_bound(const CompatibleKey& x)const - { - return make_iterator( - ordered_index_lower_bound(root(),header(),key,x,comp_)); - } - - template - iterator lower_bound( - const CompatibleKey& x,const CompatibleCompare& comp)const - { - return make_iterator( - ordered_index_lower_bound(root(),header(),key,x,comp)); - } - - template - iterator upper_bound(const CompatibleKey& x)const - { - return make_iterator( - ordered_index_upper_bound(root(),header(),key,x,comp_)); - } - - template - iterator upper_bound( - const CompatibleKey& x,const CompatibleCompare& comp)const - { - return make_iterator( - ordered_index_upper_bound(root(),header(),key,x,comp)); - } - - template - std::pair equal_range( - const CompatibleKey& x)const - { - std::pair p= - ordered_index_equal_range(root(),header(),key,x,comp_); - return std::pair( - make_iterator(p.first),make_iterator(p.second)); - } - - template - std::pair equal_range( - const CompatibleKey& x,const CompatibleCompare& comp)const - { - std::pair p= - ordered_index_equal_range(root(),header(),key,x,comp); - return std::pair( - make_iterator(p.first),make_iterator(p.second)); - } - - /* range */ - - template - std::pair - range(LowerBounder lower,UpperBounder upper)const - { - typedef typename mpl::if_< - is_same, - BOOST_DEDUCED_TYPENAME mpl::if_< - is_same, - both_unbounded_tag, - lower_unbounded_tag - >::type, - BOOST_DEDUCED_TYPENAME mpl::if_< - is_same, - upper_unbounded_tag, - none_unbounded_tag - >::type - >::type dispatch; - - return range(lower,upper,dispatch()); - } - -BOOST_MULTI_INDEX_PROTECTED_IF_MEMBER_TEMPLATE_FRIENDS: - ordered_index(const ctor_args_list& args_list,const allocator_type& al): - super(args_list.get_tail(),al), - key(tuples::get<0>(args_list.get_head())), - comp_(tuples::get<1>(args_list.get_head())) - { - empty_initialize(); - } - - ordered_index( - const ordered_index& x): - super(x), - -#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE) - safe_super(), -#endif - - key(x.key), - comp_(x.comp_) - { - /* Copy ctor just takes the key and compare objects from x. The rest is - * done in a subsequent call to copy_(). - */ - } - - ordered_index( - const ordered_index& x, - do_not_copy_elements_tag): - super(x,do_not_copy_elements_tag()), - -#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE) - safe_super(), -#endif - - key(x.key), - comp_(x.comp_) - { - empty_initialize(); - } - - ~ordered_index() - { - /* the container is guaranteed to be empty by now */ - } - -#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE) - iterator make_iterator(node_type* node){return iterator(node,this);} - const_iterator make_iterator(node_type* node)const - {return const_iterator(node,const_cast(this));} -#else - iterator make_iterator(node_type* node){return iterator(node);} - const_iterator make_iterator(node_type* node)const - {return const_iterator(node);} -#endif - - void copy_( - const ordered_index& x, - const copy_map_type& map) - { - if(!x.root()){ - empty_initialize(); - } - else{ - header()->color()=x.header()->color(); - - node_type* root_cpy=map.find(static_cast(x.root())); - header()->parent()=root_cpy->impl(); - - node_type* leftmost_cpy=map.find( - static_cast(x.leftmost())); - header()->left()=leftmost_cpy->impl(); - - node_type* rightmost_cpy=map.find( - static_cast(x.rightmost())); - header()->right()=rightmost_cpy->impl(); - - typedef typename copy_map_type::const_iterator copy_map_iterator; - for(copy_map_iterator it=map.begin(),it_end=map.end();it!=it_end;++it){ - node_type* org=it->first; - node_type* cpy=it->second; - - cpy->color()=org->color(); - - node_impl_pointer parent_org=org->parent(); - if(parent_org==node_impl_pointer(0))cpy->parent()=node_impl_pointer(0); - else{ - node_type* parent_cpy=map.find( - static_cast(node_type::from_impl(parent_org))); - cpy->parent()=parent_cpy->impl(); - if(parent_org->left()==org->impl()){ - parent_cpy->left()=cpy->impl(); - } - else if(parent_org->right()==org->impl()){ - /* header() does not satisfy this nor the previous check */ - parent_cpy->right()=cpy->impl(); - } - } - - if(org->left()==node_impl_pointer(0)) - cpy->left()=node_impl_pointer(0); - if(org->right()==node_impl_pointer(0)) - cpy->right()=node_impl_pointer(0); - } - } - - super::copy_(x,map); - } - - template - final_node_type* insert_( - value_param_type v,final_node_type*& x,Variant variant) - { - link_info inf; - if(!link_point(key(v),inf,Category())){ - return static_cast(node_type::from_impl(inf.pos)); - } - - final_node_type* res=super::insert_(v,x,variant); - if(res==x){ - node_impl_type::link( - static_cast(x)->impl(),inf.side,inf.pos,header()->impl()); - } - return res; - } - - template - final_node_type* insert_( - value_param_type v,node_type* position,final_node_type*& x,Variant variant) - { - link_info inf; - if(!hinted_link_point(key(v),position,inf,Category())){ - return static_cast(node_type::from_impl(inf.pos)); - } - - final_node_type* res=super::insert_(v,position,x,variant); - if(res==x){ - node_impl_type::link( - static_cast(x)->impl(),inf.side,inf.pos,header()->impl()); - } - return res; - } - - void erase_(node_type* x) - { - node_impl_type::rebalance_for_erase( - x->impl(),header()->parent(),header()->left(),header()->right()); - super::erase_(x); - -#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE) - detach_iterators(x); -#endif - } - - void delete_all_nodes_() - { - delete_all_nodes(root()); - } - - void clear_() - { - super::clear_(); - empty_initialize(); - -#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE) - safe_super::detach_dereferenceable_iterators(); -#endif - } - - void swap_(ordered_index& x) - { - std::swap(key,x.key); - std::swap(comp_,x.comp_); - -#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE) - safe_super::swap(x); -#endif - - super::swap_(x); - } - - void swap_elements_( - ordered_index& x) - { -#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE) - safe_super::swap(x); -#endif - - super::swap_elements_(x); - } - - template - bool replace_(value_param_type v,node_type* x,Variant variant) - { - if(in_place(v,x,Category())){ - return super::replace_(v,x,variant); - } - - node_type* next=x; - node_type::increment(next); - - node_impl_type::rebalance_for_erase( - x->impl(),header()->parent(),header()->left(),header()->right()); - - BOOST_TRY{ - link_info inf; - if(link_point(key(v),inf,Category())&&super::replace_(v,x,variant)){ - node_impl_type::link(x->impl(),inf.side,inf.pos,header()->impl()); - return true; - } - node_impl_type::restore(x->impl(),next->impl(),header()->impl()); - return false; - } - BOOST_CATCH(...){ - node_impl_type::restore(x->impl(),next->impl(),header()->impl()); - BOOST_RETHROW; - } - BOOST_CATCH_END - } - - bool modify_(node_type* x) - { - bool b; - BOOST_TRY{ - b=in_place(x->value(),x,Category()); - } - BOOST_CATCH(...){ - erase_(x); - BOOST_RETHROW; - } - BOOST_CATCH_END - if(!b){ - node_impl_type::rebalance_for_erase( - x->impl(),header()->parent(),header()->left(),header()->right()); - BOOST_TRY{ - link_info inf; - if(!link_point(key(x->value()),inf,Category())){ - super::erase_(x); - -#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE) - detach_iterators(x); -#endif - return false; - } - node_impl_type::link(x->impl(),inf.side,inf.pos,header()->impl()); - } - BOOST_CATCH(...){ - super::erase_(x); - -#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE) - detach_iterators(x); -#endif - - BOOST_RETHROW; - } - BOOST_CATCH_END - } - - BOOST_TRY{ - if(!super::modify_(x)){ - node_impl_type::rebalance_for_erase( - x->impl(),header()->parent(),header()->left(),header()->right()); - -#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE) - detach_iterators(x); -#endif - - return false; - } - else return true; - } - BOOST_CATCH(...){ - node_impl_type::rebalance_for_erase( - x->impl(),header()->parent(),header()->left(),header()->right()); - -#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE) - detach_iterators(x); -#endif - - BOOST_RETHROW; - } - BOOST_CATCH_END - } - - bool modify_rollback_(node_type* x) - { - if(in_place(x->value(),x,Category())){ - return super::modify_rollback_(x); - } - - node_type* next=x; - node_type::increment(next); - - node_impl_type::rebalance_for_erase( - x->impl(),header()->parent(),header()->left(),header()->right()); - - BOOST_TRY{ - link_info inf; - if(link_point(key(x->value()),inf,Category())&& - super::modify_rollback_(x)){ - node_impl_type::link(x->impl(),inf.side,inf.pos,header()->impl()); - return true; - } - node_impl_type::restore(x->impl(),next->impl(),header()->impl()); - return false; - } - BOOST_CATCH(...){ - node_impl_type::restore(x->impl(),next->impl(),header()->impl()); - BOOST_RETHROW; - } - BOOST_CATCH_END - } - -#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION) - /* serialization */ - - template - void save_( - Archive& ar,const unsigned int version,const index_saver_type& sm)const - { - save_(ar,version,sm,Category()); - } - - template - void load_(Archive& ar,const unsigned int version,const index_loader_type& lm) - { - load_(ar,version,lm,Category()); - } -#endif - -#if defined(BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING) - /* invariant stuff */ - - bool invariant_()const - { - if(size()==0||begin()==end()){ - if(size()!=0||begin()!=end()|| - header()->left()!=header()->impl()|| - header()->right()!=header()->impl())return false; - } - else{ - if((size_type)std::distance(begin(),end())!=size())return false; - - std::size_t len=node_impl_type::black_count( - leftmost()->impl(),root()->impl()); - for(const_iterator it=begin(),it_end=end();it!=it_end;++it){ - node_type* x=it.get_node(); - node_type* left_x=node_type::from_impl(x->left()); - node_type* right_x=node_type::from_impl(x->right()); - - if(x->color()==red){ - if((left_x&&left_x->color()==red)|| - (right_x&&right_x->color()==red))return false; - } - if(left_x&&comp_(key(x->value()),key(left_x->value())))return false; - if(right_x&&comp_(key(right_x->value()),key(x->value())))return false; - if(!left_x&&!right_x&& - node_impl_type::black_count(x->impl(),root()->impl())!=len) - return false; - } - - if(leftmost()->impl()!=node_impl_type::minimum(root()->impl())) - return false; - if(rightmost()->impl()!=node_impl_type::maximum(root()->impl())) - return false; - } - - return super::invariant_(); - } - - - /* This forwarding function eases things for the boost::mem_fn construct - * in BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT. Actually, - * final_check_invariant is already an inherited member function of - * ordered_index. - */ - void check_invariant_()const{this->final_check_invariant_();} -#endif - -private: - node_type* header()const{return this->final_header();} - node_type* root()const{return node_type::from_impl(header()->parent());} - node_type* leftmost()const{return node_type::from_impl(header()->left());} - node_type* rightmost()const{return node_type::from_impl(header()->right());} - - void empty_initialize() - { - header()->color()=red; - /* used to distinguish header() from root, in iterator.operator++ */ - - header()->parent()=node_impl_pointer(0); - header()->left()=header()->impl(); - header()->right()=header()->impl(); - } - - struct link_info - { - link_info():side(to_left){} - - ordered_index_side side; - node_impl_pointer pos; - }; - - bool link_point(key_param_type k,link_info& inf,ordered_unique_tag) - { - node_type* y=header(); - node_type* x=root(); - bool c=true; - while(x){ - y=x; - c=comp_(k,key(x->value())); - x=node_type::from_impl(c?x->left():x->right()); - } - node_type* yy=y; - if(c){ - if(yy==leftmost()){ - inf.side=to_left; - inf.pos=y->impl(); - return true; - } - else node_type::decrement(yy); - } - - if(comp_(key(yy->value()),k)){ - inf.side=c?to_left:to_right; - inf.pos=y->impl(); - return true; - } - else{ - inf.pos=yy->impl(); - return false; - } - } - - bool link_point(key_param_type k,link_info& inf,ordered_non_unique_tag) - { - node_type* y=header(); - node_type* x=root(); - bool c=true; - while (x){ - y=x; - c=comp_(k,key(x->value())); - x=node_type::from_impl(c?x->left():x->right()); - } - inf.side=c?to_left:to_right; - inf.pos=y->impl(); - return true; - } - - bool lower_link_point(key_param_type k,link_info& inf,ordered_non_unique_tag) - { - node_type* y=header(); - node_type* x=root(); - bool c=false; - while (x){ - y=x; - c=comp_(key(x->value()),k); - x=node_type::from_impl(c?x->right():x->left()); - } - inf.side=c?to_right:to_left; - inf.pos=y->impl(); - return true; - } - - bool hinted_link_point( - key_param_type k,node_type* position,link_info& inf,ordered_unique_tag) - { - if(position->impl()==header()->left()){ - if(size()>0&&comp_(k,key(position->value()))){ - inf.side=to_left; - inf.pos=position->impl(); - return true; - } - else return link_point(k,inf,ordered_unique_tag()); - } - else if(position==header()){ - if(comp_(key(rightmost()->value()),k)){ - inf.side=to_right; - inf.pos=rightmost()->impl(); - return true; - } - else return link_point(k,inf,ordered_unique_tag()); - } - else{ - node_type* before=position; - node_type::decrement(before); - if(comp_(key(before->value()),k)&&comp_(k,key(position->value()))){ - if(before->right()==node_impl_pointer(0)){ - inf.side=to_right; - inf.pos=before->impl(); - return true; - } - else{ - inf.side=to_left; - inf.pos=position->impl(); - return true; - } - } - else return link_point(k,inf,ordered_unique_tag()); - } - } - - bool hinted_link_point( - key_param_type k,node_type* position,link_info& inf,ordered_non_unique_tag) - { - if(position->impl()==header()->left()){ - if(size()>0&&!comp_(key(position->value()),k)){ - inf.side=to_left; - inf.pos=position->impl(); - return true; - } - else return lower_link_point(k,inf,ordered_non_unique_tag()); - } - else if(position==header()){ - if(!comp_(k,key(rightmost()->value()))){ - inf.side=to_right; - inf.pos=rightmost()->impl(); - return true; - } - else return link_point(k,inf,ordered_non_unique_tag()); - } - else{ - node_type* before=position; - node_type::decrement(before); - if(!comp_(k,key(before->value()))){ - if(!comp_(key(position->value()),k)){ - if(before->right()==node_impl_pointer(0)){ - inf.side=to_right; - inf.pos=before->impl(); - return true; - } - else{ - inf.side=to_left; - inf.pos=position->impl(); - return true; - } - } - else return lower_link_point(k,inf,ordered_non_unique_tag()); - } - else return link_point(k,inf,ordered_non_unique_tag()); - } - } - - void delete_all_nodes(node_type* x) - { - if(!x)return; - - delete_all_nodes(node_type::from_impl(x->left())); - delete_all_nodes(node_type::from_impl(x->right())); - this->final_delete_node_(static_cast(x)); - } - - bool in_place(value_param_type v,node_type* x,ordered_unique_tag) - { - node_type* y; - if(x!=leftmost()){ - y=x; - node_type::decrement(y); - if(!comp_(key(y->value()),key(v)))return false; - } - - y=x; - node_type::increment(y); - return y==header()||comp_(key(v),key(y->value())); - } - - bool in_place(value_param_type v,node_type* x,ordered_non_unique_tag) - { - node_type* y; - if(x!=leftmost()){ - y=x; - node_type::decrement(y); - if(comp_(key(v),key(y->value())))return false; - } - - y=x; - node_type::increment(y); - return y==header()||!comp_(key(y->value()),key(v)); - } - -#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE) - void detach_iterators(node_type* x) - { - iterator it=make_iterator(x); - safe_mode::detach_equivalent_iterators(it); - } -#endif - - template - std::pair emplace_impl(BOOST_MULTI_INDEX_FUNCTION_PARAM_PACK) - { - BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT; - std::pairp= - this->final_emplace_(BOOST_MULTI_INDEX_FORWARD_PARAM_PACK); - return std::pair(make_iterator(p.first),p.second); - } - - template - iterator emplace_hint_impl( - iterator position,BOOST_MULTI_INDEX_FUNCTION_PARAM_PACK) - { - BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position); - BOOST_MULTI_INDEX_CHECK_IS_OWNER(position,*this); - BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT; - std::pairp= - this->final_emplace_hint_( - static_cast(position.get_node()), - BOOST_MULTI_INDEX_FORWARD_PARAM_PACK); - return make_iterator(p.first); - } - - template - std::pair - range(LowerBounder lower,UpperBounder upper,none_unbounded_tag)const - { - node_type* y=header(); - node_type* z=root(); - - while(z){ - if(!lower(key(z->value()))){ - z=node_type::from_impl(z->right()); - } - else if(!upper(key(z->value()))){ - y=z; - z=node_type::from_impl(z->left()); - } - else{ - return std::pair( - make_iterator( - lower_range(node_type::from_impl(z->left()),z,lower)), - make_iterator( - upper_range(node_type::from_impl(z->right()),y,upper))); - } - } - - return std::pair(make_iterator(y),make_iterator(y)); - } - - template - std::pair - range(LowerBounder,UpperBounder upper,lower_unbounded_tag)const - { - return std::pair( - begin(), - make_iterator(upper_range(root(),header(),upper))); - } - - template - std::pair - range(LowerBounder lower,UpperBounder,upper_unbounded_tag)const - { - return std::pair( - make_iterator(lower_range(root(),header(),lower)), - end()); - } - - template - std::pair - range(LowerBounder,UpperBounder,both_unbounded_tag)const - { - return std::pair(begin(),end()); - } - - template - node_type * lower_range(node_type* top,node_type* y,LowerBounder lower)const - { - while(top){ - if(lower(key(top->value()))){ - y=top; - top=node_type::from_impl(top->left()); - } - else top=node_type::from_impl(top->right()); - } - - return y; - } - - template - node_type * upper_range(node_type* top,node_type* y,UpperBounder upper)const - { - while(top){ - if(!upper(key(top->value()))){ - y=top; - top=node_type::from_impl(top->left()); - } - else top=node_type::from_impl(top->right()); - } - - return y; - } - -#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION) - template - void save_( - Archive& ar,const unsigned int version,const index_saver_type& sm, - ordered_unique_tag)const - { - super::save_(ar,version,sm); - } - - template - void load_( - Archive& ar,const unsigned int version,const index_loader_type& lm, - ordered_unique_tag) - { - super::load_(ar,version,lm); - } - - template - void save_( - Archive& ar,const unsigned int version,const index_saver_type& sm, - ordered_non_unique_tag)const - { - typedef duplicates_iterator dup_iterator; - - sm.save( - dup_iterator(begin().get_node(),end().get_node(),value_comp()), - dup_iterator(end().get_node(),value_comp()), - ar,version); - super::save_(ar,version,sm); - } - - template - void load_( - Archive& ar,const unsigned int version,const index_loader_type& lm, - ordered_non_unique_tag) - { - lm.load( - ::boost::bind( - &ordered_index::rearranger,this,::boost::arg<1>(),::boost::arg<2>()), - ar,version); - super::load_(ar,version,lm); - } - - void rearranger(node_type* position,node_type *x) - { - if(!position||comp_(key(position->value()),key(x->value()))){ - position=lower_bound(key(x->value())).get_node(); - } - else if(comp_(key(x->value()),key(position->value()))){ - /* inconsistent rearrangement */ - throw_exception( - archive::archive_exception( - archive::archive_exception::other_exception)); - } - else node_type::increment(position); - - if(position!=x){ - node_impl_type::rebalance_for_erase( - x->impl(),header()->parent(),header()->left(),header()->right()); - node_impl_type::restore( - x->impl(),position->impl(),header()->impl()); - } - } -#endif /* serialization */ - - key_from_value key; - key_compare comp_; - -#if defined(BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING)&&\ - BOOST_WORKAROUND(__MWERKS__,<=0x3003) -#pragma parse_mfunc_templ reset -#endif -}; - -/* comparison */ - -template< - typename KeyFromValue1,typename Compare1, - typename SuperMeta1,typename TagList1,typename Category1, - typename KeyFromValue2,typename Compare2, - typename SuperMeta2,typename TagList2,typename Category2 -> -bool operator==( - const ordered_index& x, - const ordered_index& y) -{ - return x.size()==y.size()&&std::equal(x.begin(),x.end(),y.begin()); -} - -template< - typename KeyFromValue1,typename Compare1, - typename SuperMeta1,typename TagList1,typename Category1, - typename KeyFromValue2,typename Compare2, - typename SuperMeta2,typename TagList2,typename Category2 -> -bool operator<( - const ordered_index& x, - const ordered_index& y) -{ - return std::lexicographical_compare(x.begin(),x.end(),y.begin(),y.end()); -} - -template< - typename KeyFromValue1,typename Compare1, - typename SuperMeta1,typename TagList1,typename Category1, - typename KeyFromValue2,typename Compare2, - typename SuperMeta2,typename TagList2,typename Category2 -> -bool operator!=( - const ordered_index& x, - const ordered_index& y) -{ - return !(x==y); -} - -template< - typename KeyFromValue1,typename Compare1, - typename SuperMeta1,typename TagList1,typename Category1, - typename KeyFromValue2,typename Compare2, - typename SuperMeta2,typename TagList2,typename Category2 -> -bool operator>( - const ordered_index& x, - const ordered_index& y) -{ - return y -bool operator>=( - const ordered_index& x, - const ordered_index& y) -{ - return !(x -bool operator<=( - const ordered_index& x, - const ordered_index& y) -{ - return !(x>y); -} - -/* specialized algorithms */ - -template< - typename KeyFromValue,typename Compare, - typename SuperMeta,typename TagList,typename Category -> -void swap( - ordered_index& x, - ordered_index& y) -{ - x.swap(y); -} - -} /* namespace multi_index::detail */ - -/* ordered_index specifiers */ - -template -struct ordered_unique -{ - typedef typename detail::ordered_index_args< - Arg1,Arg2,Arg3> index_args; - typedef typename index_args::tag_list_type::type tag_list_type; - typedef typename index_args::key_from_value_type key_from_value_type; - typedef typename index_args::compare_type compare_type; - - template - struct node_class - { - typedef detail::ordered_index_node type; - }; - - template - struct index_class - { - typedef detail::ordered_index< - key_from_value_type,compare_type, - SuperMeta,tag_list_type,detail::ordered_unique_tag> type; - }; -}; - -template -struct ordered_non_unique -{ - typedef detail::ordered_index_args< - Arg1,Arg2,Arg3> index_args; - typedef typename index_args::tag_list_type::type tag_list_type; - typedef typename index_args::key_from_value_type key_from_value_type; - typedef typename index_args::compare_type compare_type; - - template - struct node_class - { - typedef detail::ordered_index_node type; - }; - - template - struct index_class - { - typedef detail::ordered_index< - key_from_value_type,compare_type, - SuperMeta,tag_list_type,detail::ordered_non_unique_tag> type; - }; -}; - -} /* namespace multi_index */ - -} /* namespace boost */ - -/* Boost.Foreach compatibility */ - -template< - typename KeyFromValue,typename Compare, - typename SuperMeta,typename TagList,typename Category -> -inline boost::mpl::true_* boost_foreach_is_noncopyable( - boost::multi_index::detail::ordered_index< - KeyFromValue,Compare,SuperMeta,TagList,Category>*&, - boost::foreach::tag) -{ - return 0; -} - -#undef BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT -#undef BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT_OF - -#endif diff --git a/bundled/boost-1.56.0/include/boost/multi_index/ordered_index_fwd.hpp b/bundled/boost-1.56.0/include/boost/multi_index/ordered_index_fwd.hpp deleted file mode 100644 index dbd040fa36..0000000000 --- a/bundled/boost-1.56.0/include/boost/multi_index/ordered_index_fwd.hpp +++ /dev/null @@ -1,124 +0,0 @@ -/* Copyright 2003-2013 Joaquin M Lopez Munoz. - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or copy at - * http://www.boost.org/LICENSE_1_0.txt) - * - * See http://www.boost.org/libs/multi_index for library home page. - */ - -#ifndef BOOST_MULTI_INDEX_ORDERED_INDEX_FWD_HPP -#define BOOST_MULTI_INDEX_ORDERED_INDEX_FWD_HPP - -#if defined(_MSC_VER) -#pragma once -#endif - -#include - -namespace boost{ - -namespace multi_index{ - -namespace detail{ - -template< - typename KeyFromValue,typename Compare, - typename SuperMeta,typename TagList,typename Category -> -class ordered_index; - -template< - typename KeyFromValue1,typename Compare1, - typename SuperMeta1,typename TagList1,typename Category1, - typename KeyFromValue2,typename Compare2, - typename SuperMeta2,typename TagList2,typename Category2 -> -bool operator==( - const ordered_index< - KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1>& x, - const ordered_index< - KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2>& y); - -template< - typename KeyFromValue1,typename Compare1, - typename SuperMeta1,typename TagList1,typename Category1, - typename KeyFromValue2,typename Compare2, - typename SuperMeta2,typename TagList2,typename Category2 -> -bool operator<( - const ordered_index< - KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1>& x, - const ordered_index< - KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2>& y); - -template< - typename KeyFromValue1,typename Compare1, - typename SuperMeta1,typename TagList1,typename Category1, - typename KeyFromValue2,typename Compare2, - typename SuperMeta2,typename TagList2,typename Category2 -> -bool operator!=( - const ordered_index< - KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1>& x, - const ordered_index< - KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2>& y); - -template< - typename KeyFromValue1,typename Compare1, - typename SuperMeta1,typename TagList1,typename Category1, - typename KeyFromValue2,typename Compare2, - typename SuperMeta2,typename TagList2,typename Category2 -> -bool operator>( - const ordered_index< - KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1>& x, - const ordered_index< - KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2>& y); - -template< - typename KeyFromValue1,typename Compare1, - typename SuperMeta1,typename TagList1,typename Category1, - typename KeyFromValue2,typename Compare2, - typename SuperMeta2,typename TagList2,typename Category2 -> -bool operator>=( - const ordered_index< - KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1>& x, - const ordered_index< - KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2>& y); - -template< - typename KeyFromValue1,typename Compare1, - typename SuperMeta1,typename TagList1,typename Category1, - typename KeyFromValue2,typename Compare2, - typename SuperMeta2,typename TagList2,typename Category2 -> -bool operator<=( - const ordered_index< - KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1>& x, - const ordered_index< - KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2>& y); - -template< - typename KeyFromValue,typename Compare, - typename SuperMeta,typename TagList,typename Category -> -void swap( - ordered_index& x, - ordered_index& y); - -} /* namespace multi_index::detail */ - -/* ordered_index specifiers */ - -template -struct ordered_unique; - -template -struct ordered_non_unique; - -} /* namespace multi_index */ - -} /* namespace boost */ - -#endif diff --git a/bundled/boost-1.56.0/include/boost/next_prior.hpp b/bundled/boost-1.56.0/include/boost/next_prior.hpp deleted file mode 100644 index e1d2e42891..0000000000 --- a/bundled/boost-1.56.0/include/boost/next_prior.hpp +++ /dev/null @@ -1,51 +0,0 @@ -// Boost next_prior.hpp header file ---------------------------------------// - -// (C) Copyright Dave Abrahams and Daniel Walker 1999-2003. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org/libs/utility for documentation. - -// Revision History -// 13 Dec 2003 Added next(x, n) and prior(x, n) (Daniel Walker) - -#ifndef BOOST_NEXT_PRIOR_HPP_INCLUDED -#define BOOST_NEXT_PRIOR_HPP_INCLUDED - -#include - -namespace boost { - -// Helper functions for classes like bidirectional iterators not supporting -// operator+ and operator- -// -// Usage: -// const std::list::iterator p = get_some_iterator(); -// const std::list::iterator prev = boost::prior(p); -// const std::list::iterator next = boost::next(prev, 2); - -// Contributed by Dave Abrahams - -template -inline T next(T x) { return ++x; } - -template -inline T next(T x, Distance n) -{ - std::advance(x, n); - return x; -} - -template -inline T prior(T x) { return --x; } - -template -inline T prior(T x, Distance n) -{ - std::advance(x, -n); - return x; -} - -} // namespace boost - -#endif // BOOST_NEXT_PRIOR_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/none.hpp b/bundled/boost-1.56.0/include/boost/none.hpp deleted file mode 100644 index e9fc0627fe..0000000000 --- a/bundled/boost-1.56.0/include/boost/none.hpp +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright (C) 2003, Fernando Luis Cacciola Carballal. -// -// Distributed under the 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_NONE_17SEP2003_HPP -#define BOOST_NONE_17SEP2003_HPP - -#include "boost/none_t.hpp" - -// NOTE: Borland users have to include this header outside any precompiled headers -// (bcc<=5.64 cannot include instance data in a precompiled header) -// -- * To be verified, now that there's no unnamed namespace - -namespace boost { - -none_t const none = (static_cast(0)) ; - -} // namespace boost - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/none_t.hpp b/bundled/boost-1.56.0/include/boost/none_t.hpp deleted file mode 100644 index 63ad92652a..0000000000 --- a/bundled/boost-1.56.0/include/boost/none_t.hpp +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright (C) 2003, Fernando Luis Cacciola Carballal. -// -// 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_NONE_T_17SEP2003_HPP -#define BOOST_NONE_T_17SEP2003_HPP - -namespace boost { - -namespace detail { struct none_helper{}; } - -typedef int detail::none_helper::*none_t ; - -} // namespace boost - -#endif - diff --git a/bundled/boost-1.56.0/include/boost/numeric/interval/compare/set.hpp b/bundled/boost-1.56.0/include/boost/numeric/interval/compare/set.hpp deleted file mode 100644 index aa4f1716b2..0000000000 --- a/bundled/boost-1.56.0/include/boost/numeric/interval/compare/set.hpp +++ /dev/null @@ -1,101 +0,0 @@ -/* Boost interval/compare/set.hpp template implementation file - * - * Copyright 2002-2003 Guillaume Melquiond - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_COMPARE_SET_HPP -#define BOOST_NUMERIC_INTERVAL_COMPARE_SET_HPP - -#include -#include -#include - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace compare { -namespace set { - -template inline -bool operator<(const interval& x, const interval& y) -{ - return proper_subset(x, y); -} - -template inline -bool operator<(const interval& x, const T& y) -{ - throw comparison_error(); -} - -template inline -bool operator<=(const interval& x, const interval& y) -{ - return subset(x, y); -} - -template inline -bool operator<=(const interval& x, const T& y) -{ - throw comparison_error(); -} - -template inline -bool operator>(const interval& x, const interval& y) -{ - return proper_subset(y, x); -} - -template inline -bool operator>(const interval& x, const T& y) -{ - throw comparison_error(); -} - -template inline -bool operator>=(const interval& x, const interval& y) -{ - return subset(y, x); -} - -template inline -bool operator>=(const interval& x, const T& y) -{ - throw comparison_error(); -} - -template inline -bool operator==(const interval& x, const interval& y) -{ - return equal(y, x); -} - -template inline -bool operator==(const interval& x, const T& y) -{ - throw comparison_error(); -} - -template inline -bool operator!=(const interval& x, const interval& y) -{ - return !equal(y, x); -} - -template inline -bool operator!=(const interval& x, const T& y) -{ - throw comparison_error(); -} - -} // namespace set -} // namespace compare -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_COMPARE_SET_HPP diff --git a/bundled/boost-1.56.0/include/boost/numeric/interval/detail/bugs.hpp b/bundled/boost-1.56.0/include/boost/numeric/interval/detail/bugs.hpp deleted file mode 100644 index cc37988d71..0000000000 --- a/bundled/boost-1.56.0/include/boost/numeric/interval/detail/bugs.hpp +++ /dev/null @@ -1,79 +0,0 @@ -/* Boost interval/detail/bugs.hpp file - * - * Copyright 2000 Jens Maurer - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_DETAIL_BUGS -#define BOOST_NUMERIC_INTERVAL_DETAIL_BUGS - -#include - -#if defined(__GLIBC__) && (defined(__USE_MISC) || defined(__USE_XOPEN_EXTENDED) || defined(__USE_ISOC99)) && !defined(__ICC) -# define BOOST_HAS_INV_HYPERBOLIC -#endif - -#ifdef BOOST_NO_STDC_NAMESPACE -# define BOOST_NUMERIC_INTERVAL_using_math(a) using ::a -# ifdef BOOST_HAS_INV_HYPERBOLIC -# define BOOST_NUMERIC_INTERVAL_using_ahyp(a) using ::a -# endif -#else -# define BOOST_NUMERIC_INTERVAL_using_math(a) using std::a -# if defined(BOOST_HAS_INV_HYPERBOLIC) -# if defined(__GLIBCPP__) || defined(__GLIBCXX__) -# define BOOST_NUMERIC_INTERVAL_using_ahyp(a) using ::a -# else -# define BOOST_NUMERIC_INTERVAL_using_ahyp(a) using std::a -# endif -# endif -#endif - -#if defined(__COMO__) || defined(BOOST_INTEL) -# define BOOST_NUMERIC_INTERVAL_using_max(a) using std::a -#elif defined(BOOST_NO_STDC_NAMESPACE) -# define BOOST_NUMERIC_INTERVAL_using_max(a) using ::a -#else -# define BOOST_NUMERIC_INTERVAL_using_max(a) using std::a -#endif - -#ifndef BOOST_NUMERIC_INTERVAL_using_ahyp -# define BOOST_NUMERIC_INTERVAL_using_ahyp(a) -#endif - -#if defined(__GNUC__) && (__GNUC__ <= 2) -// cf PR c++/1981 for a description of the bug -#include -#include -namespace boost { -namespace numeric { - using std::min; - using std::max; - using std::sqrt; - using std::exp; - using std::log; - using std::cos; - using std::tan; - using std::asin; - using std::acos; - using std::atan; - using std::ceil; - using std::floor; - using std::sinh; - using std::cosh; - using std::tanh; -# undef BOOST_NUMERIC_INTERVAL_using_max -# undef BOOST_NUMERIC_INTERVAL_using_math -# define BOOST_NUMERIC_INTERVAL_using_max(a) -# define BOOST_NUMERIC_INTERVAL_using_math(a) -# undef BOOST_NUMERIC_INTERVAL_using_ahyp -# define BOOST_NUMERIC_INTERVAL_using_ahyp(a) -} // namespace numeric -} // namespace boost -#endif - -#endif // BOOST_NUMERIC_INTERVAL_DETAIL_BUGS diff --git a/bundled/boost-1.56.0/include/boost/numeric/interval/limits.hpp b/bundled/boost-1.56.0/include/boost/numeric/interval/limits.hpp deleted file mode 100644 index d691ccee22..0000000000 --- a/bundled/boost-1.56.0/include/boost/numeric/interval/limits.hpp +++ /dev/null @@ -1,51 +0,0 @@ -/* Boost interval/limits.hpp template implementation file - * - * Copyright 2000 Jens Maurer - * Copyright 2002-2003 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_LIMITS_HPP -#define BOOST_NUMERIC_INTERVAL_LIMITS_HPP - -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - -#include -#include -#include - -namespace std { - -template -class numeric_limits > - : public numeric_limits -{ -private: - typedef boost::numeric::interval I; - typedef numeric_limits bl; -public: - static I min BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return I((bl::min)(), (bl::min)()); } - static I max BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return I((bl::max)(), (bl::max)()); } - static I epsilon() throw() { return I(bl::epsilon(), bl::epsilon()); } - - BOOST_STATIC_CONSTANT(float_round_style, round_style = round_indeterminate); - BOOST_STATIC_CONSTANT(bool, is_iec559 = false); - - static I infinity () throw() { return I::whole(); } - static I quiet_NaN() throw() { return I::empty(); } - static I signaling_NaN() throw() - { return I(bl::signaling_NaN(), bl::signaling_Nan()); } - static I denorm_min() throw() - { return I(bl::denorm_min(), bl::denorm_min()); } -private: - static I round_error(); // hide this on purpose, not yet implemented -}; - -} // namespace std - -#endif - -#endif // BOOST_NUMERIC_INTERVAL_LIMITS_HPP diff --git a/bundled/boost-1.56.0/include/boost/numeric/odeint/algebra/array_algebra.hpp b/bundled/boost-1.56.0/include/boost/numeric/odeint/algebra/array_algebra.hpp deleted file mode 100644 index c565d6dd76..0000000000 --- a/bundled/boost-1.56.0/include/boost/numeric/odeint/algebra/array_algebra.hpp +++ /dev/null @@ -1,272 +0,0 @@ -/* - [auto_generated] - boost/numeric/odeint/algebra/array_algebra.hpp - - [begin_description] - Algebra for boost::array. Highly specialized for odeint. Const arguments are introduce to work with odeint. - [end_description] - - Copyright 2011-2013 Mario Mulansky - Copyright 2011-2012 Karsten Ahnert - - Distributed under the Boost Software License, Version 1.0. - (See accompanying file LICENSE_1_0.txt or - copy at http://www.boost.org/LICENSE_1_0.txt) - */ - - -#ifndef BOOST_NUMERIC_ODEINT_ALGEBRA_ARRAY_ALGEBRA_HPP_INCLUDED -#define BOOST_NUMERIC_ODEINT_ALGEBRA_ARRAY_ALGEBRA_HPP_INCLUDED - -#include -#include - -#include - -namespace boost { -namespace numeric { -namespace odeint { - -struct array_algebra -{ - template< typename T , size_t dim , class Op > - static void for_each1( boost::array< T , dim > &s1 , Op op ) - { - for( size_t i=0 ; i - static void for_each2( boost::array< T1 , dim > &s1 , - const boost::array< T2 , dim > &s2 , Op op ) - { - for( size_t i=0 ; i - static void for_each3( boost::array< T , dim > &s1 , - const boost::array< T , dim > &s2 , - const boost::array< T , dim > &s3 , Op op ) - { - for( size_t i=0 ; i - static void for_each3( boost::array< T , dim > &s1 , - boost::array< T , dim > &s2 , - const boost::array< T , dim > &s3 , Op op ) - { - for( size_t i=0 ; i - static void for_each4( boost::array< T , dim > &s1 , - const boost::array< T , dim > &s2 , - const boost::array< T , dim > &s3 , - const boost::array< T , dim > &s4 , Op op ) - { - for( size_t i=0 ; i - static void for_each5( boost::array< T , dim > &s1 , - const boost::array< T , dim > &s2 , - const boost::array< T , dim > &s3 , - const boost::array< T , dim > &s4 , - const boost::array< T , dim > &s5 , Op op ) - { - for( size_t i=0 ; i - static void for_each6( boost::array< T , dim > &s1 , - const boost::array< T , dim > &s2 , - const boost::array< T , dim > &s3 , - const boost::array< T , dim > &s4 , - const boost::array< T , dim > &s5 , - const boost::array< T , dim > &s6 , Op op ) - { - for( size_t i=0 ; i - static void for_each7( boost::array< T , dim > &s1 , - const boost::array< T , dim > &s2 , - const boost::array< T , dim > &s3 , - const boost::array< T , dim > &s4 , - const boost::array< T , dim > &s5 , - const boost::array< T , dim > &s6 , - const boost::array< T , dim > &s7 , Op op ) - { - for( size_t i=0 ; i - static void for_each8( boost::array< T , dim > &s1 , - const boost::array< T , dim > &s2 , - const boost::array< T , dim > &s3 , - const boost::array< T , dim > &s4 , - const boost::array< T , dim > &s5 , - const boost::array< T , dim > &s6 , - const boost::array< T , dim > &s7 , - const boost::array< T , dim > &s8 , Op op ) - { - for( size_t i=0 ; i - static void for_each9( boost::array< T , dim > &s1 , - const boost::array< T , dim > &s2 , - const boost::array< T , dim > &s3 , - const boost::array< T , dim > &s4 , - const boost::array< T , dim > &s5 , - const boost::array< T , dim > &s6 , - const boost::array< T , dim > &s7 , - const boost::array< T , dim > &s8 , - const boost::array< T , dim > &s9 , Op op ) - { - for( size_t i=0 ; i - static void for_each10( boost::array< T , dim > &s1 , - const boost::array< T , dim > &s2 , - const boost::array< T , dim > &s3 , - const boost::array< T , dim > &s4 , - const boost::array< T , dim > &s5 , - const boost::array< T , dim > &s6 , - const boost::array< T , dim > &s7 , - const boost::array< T , dim > &s8 , - const boost::array< T , dim > &s9 , - const boost::array< T , dim > &s10 , Op op ) - { - for( size_t i=0 ; i - static void for_each11( boost::array< T , dim > &s1 , - const boost::array< T , dim > &s2 , - const boost::array< T , dim > &s3 , - const boost::array< T , dim > &s4 , - const boost::array< T , dim > &s5 , - const boost::array< T , dim > &s6 , - const boost::array< T , dim > &s7 , - const boost::array< T , dim > &s8 , - const boost::array< T , dim > &s9 , - const boost::array< T , dim > &s10 , - const boost::array< T , dim > &s11 , Op op ) - { - for( size_t i=0 ; i - static void for_each12( boost::array< T , dim > &s1 , - const boost::array< T , dim > &s2 , - const boost::array< T , dim > &s3 , - const boost::array< T , dim > &s4 , - const boost::array< T , dim > &s5 , - const boost::array< T , dim > &s6 , - const boost::array< T , dim > &s7 , - const boost::array< T , dim > &s8 , - const boost::array< T , dim > &s9 , - const boost::array< T , dim > &s10 , - const boost::array< T , dim > &s11 , - const boost::array< T , dim > &s12 , Op op ) - { - for( size_t i=0 ; i - static void for_each13( boost::array< T , dim > &s1 , - const boost::array< T , dim > &s2 , - const boost::array< T , dim > &s3 , - const boost::array< T , dim > &s4 , - const boost::array< T , dim > &s5 , - const boost::array< T , dim > &s6 , - const boost::array< T , dim > &s7 , - const boost::array< T , dim > &s8 , - const boost::array< T , dim > &s9 , - const boost::array< T , dim > &s10 , - const boost::array< T , dim > &s11 , - const boost::array< T , dim > &s12 , - const boost::array< T , dim > &s13 , Op op ) - { - for( size_t i=0 ; i - static void for_each14( boost::array< T , dim > &s1 , - const boost::array< T , dim > &s2 , - const boost::array< T , dim > &s3 , - const boost::array< T , dim > &s4 , - const boost::array< T , dim > &s5 , - const boost::array< T , dim > &s6 , - const boost::array< T , dim > &s7 , - const boost::array< T , dim > &s8 , - const boost::array< T , dim > &s9 , - const boost::array< T , dim > &s10 , - const boost::array< T , dim > &s11 , - const boost::array< T , dim > &s12 , - const boost::array< T , dim > &s13 , - const boost::array< T , dim > &s14 , Op op ) - { - for( size_t i=0 ; i - static void for_each15( boost::array< T , dim > &s1 , - const boost::array< T , dim > &s2 , - const boost::array< T , dim > &s3 , - const boost::array< T , dim > &s4 , - const boost::array< T , dim > &s5 , - const boost::array< T , dim > &s6 , - const boost::array< T , dim > &s7 , - const boost::array< T , dim > &s8 , - const boost::array< T , dim > &s9 , - const boost::array< T , dim > &s10 , - const boost::array< T , dim > &s11 , - const boost::array< T , dim > &s12 , - const boost::array< T , dim > &s13 , - const boost::array< T , dim > &s14 , - const boost::array< T , dim > &s15 , Op op ) - { - for( size_t i=0 ; i - static typename norm_result_type< boost::array< T , dim > >::type norm_inf( const boost::array< T , dim > &s ) - { - BOOST_USING_STD_MAX(); - using std::abs; - typedef typename norm_result_type< boost::array< T , dim > >::type result_type; - result_type init = static_cast< result_type >( 0 ); - for( size_t i=0 ; i(abs(s[i])) ); - return init; - } - -}; - -} -} -} - -#endif // BOOST_NUMERIC_ODEINT_ALGEBRA_ARRAY_ALGEBRA_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/numeric/odeint/external/thrust/thrust_algebra_dispatcher.hpp b/bundled/boost-1.56.0/include/boost/numeric/odeint/external/thrust/thrust_algebra_dispatcher.hpp deleted file mode 100644 index 5deba2cb57..0000000000 --- a/bundled/boost-1.56.0/include/boost/numeric/odeint/external/thrust/thrust_algebra_dispatcher.hpp +++ /dev/null @@ -1,52 +0,0 @@ -/* - [auto_generated] - boost/numeric/odeint/external/thrust/thrust_algebra_dispatcher.hpp - - [begin_description] - algebra_dispatcher specialization for thrust - [end_description] - - Copyright 2013 Karsten Ahnert - Copyright 2013 Mario Mulansky - - Distributed under the Boost Software License, Version 1.0. - (See accompanying file LICENSE_1_0.txt or - copy at http://www.boost.org/LICENSE_1_0.txt) -*/ - - -#ifndef BOOST_NUMERIC_ODEINT_EXTERNAL_THRUST_THRUST_ALGEBRA_DISPATCHER_HPP_DEFINED -#define BOOST_NUMERIC_ODEINT_EXTERNAL_THRUST_THRUST_ALGEBRA_DISPATCHER_HPP_DEFINED - -#include -#include - -#include -#include - - -namespace boost { -namespace numeric { -namespace odeint { - -// specialization for thrust host_vector -template< class T , class A > -struct algebra_dispatcher< thrust::host_vector< T , A > > -{ - typedef thrust_algebra algebra_type; -}; - -// specialization for thrust device_vector -template< class T , class A > -struct algebra_dispatcher< thrust::device_vector< T , A > > -{ - typedef thrust_algebra algebra_type; -}; - -} // namespace odeint -} // namespace numeric -} // namespace boost - - -#endif // BOOST_NUMERIC_ODEINT_EXTERNAL_THRUST_THRUST_ALGEBRA_DISPATCHER_HPP_DEFINED - diff --git a/bundled/boost-1.56.0/include/boost/numeric/odeint/external/thrust/thrust_operations_dispatcher.hpp b/bundled/boost-1.56.0/include/boost/numeric/odeint/external/thrust/thrust_operations_dispatcher.hpp deleted file mode 100644 index 0105a4e344..0000000000 --- a/bundled/boost-1.56.0/include/boost/numeric/odeint/external/thrust/thrust_operations_dispatcher.hpp +++ /dev/null @@ -1,52 +0,0 @@ -/* - [auto_generated] - boost/numeric/odeint/external/thrust/thrust_operations_dispatcher.hpp - - [begin_description] - operations_dispatcher specialization for thrust - [end_description] - - Copyright 2013 Karsten Ahnert - Copyright 2013 Mario Mulansky - - Distributed under the Boost Software License, Version 1.0. - (See accompanying file LICENSE_1_0.txt or - copy at http://www.boost.org/LICENSE_1_0.txt) -*/ - - -#ifndef BOOST_NUMERIC_ODEINT_EXTERNAL_THRUST_THRUST_OPERATIONS_DISPATCHER_HPP_DEFINED -#define BOOST_NUMERIC_ODEINT_EXTERNAL_THRUST_THRUST_OPERATIONS_DISPATCHER_HPP_DEFINED - -#include -#include - -#include -#include - - -namespace boost { -namespace numeric { -namespace odeint { - -// specialization for thrust host_vector -template< class T , class A > -struct operations_dispatcher< thrust::host_vector< T , A > > -{ - typedef thrust_operations operations_type; -}; - -// specialization for thrust device_vector -template< class T , class A > -struct operations_dispatcher< thrust::device_vector< T , A > > -{ - typedef thrust_operations operations_type; -}; - -} // namespace odeint -} // namespace numeric -} // namespace boost - - -#endif // BOOST_NUMERIC_ODEINT_EXTERNAL_THRUST_THRUST_ALGEBRA_DISPATCHER_HPP_DEFINED - diff --git a/bundled/boost-1.56.0/include/boost/numeric/odeint/external/thrust/thrust_resize.hpp b/bundled/boost-1.56.0/include/boost/numeric/odeint/external/thrust/thrust_resize.hpp deleted file mode 100644 index 8f1b181e25..0000000000 --- a/bundled/boost-1.56.0/include/boost/numeric/odeint/external/thrust/thrust_resize.hpp +++ /dev/null @@ -1,119 +0,0 @@ -/* - [auto_generated] - boost/numeric/odeint/external/thrust/thrust_resize.hpp - - [begin_description] - Enable resizing for thrusts device and host_vector. - [end_description] - - Copyright 2010-2012 Mario Mulansky - Copyright 2010-2011 Karsten Ahnert - - Distributed under the Boost Software License, Version 1.0. - (See accompanying file LICENSE_1_0.txt or - copy at http://www.boost.org/LICENSE_1_0.txt) - */ - - -#ifndef BOOST_NUMERIC_ODEINT_EXTERNAL_THRUST_THRUST_RESIZE_HPP_INCLUDED -#define BOOST_NUMERIC_ODEINT_EXTERNAL_THRUST_THRUST_RESIZE_HPP_INCLUDED - - -#include -#include - -#include - -namespace boost { -namespace numeric { -namespace odeint { - -template< class T > -struct is_resizeable< thrust::device_vector< T > > -{ - struct type : public boost::true_type { }; - const static bool value = type::value; -}; - -template< class T > -struct same_size_impl< thrust::device_vector< T > , thrust::device_vector< T > > -{ - static bool same_size( const thrust::device_vector< T > &x , const thrust::device_vector< T > &y ) - { - return x.size() == y.size(); - } -}; - -template< class T > -struct resize_impl< thrust::device_vector< T > , thrust::device_vector< T > > -{ - static void resize( thrust::device_vector< T > &x , const thrust::device_vector< T > &y ) - { - x.resize( y.size() ); - } -}; - - -template< class T > -struct is_resizeable< thrust::host_vector< T > > -{ - struct type : public boost::true_type { }; - const static bool value = type::value; -}; - -template< class T > -struct same_size_impl< thrust::host_vector< T > , thrust::host_vector< T > > -{ - static bool same_size( const thrust::host_vector< T > &x , const thrust::host_vector< T > &y ) - { - return x.size() == y.size(); - } -}; - -template< class T > -struct resize_impl< thrust::host_vector< T > , thrust::host_vector< T > > -{ - static void resize( thrust::host_vector< T > &x , const thrust::host_vector< T > &y ) - { - x.resize( y.size() ); - } -}; - - - -template< class Container1, class Value > -struct copy_impl< Container1 , thrust::device_vector< Value > > -{ - static void copy( const Container1 &from , thrust::device_vector< Value > &to ) - { - thrust::copy( boost::begin( from ) , boost::end( from ) , boost::begin( to ) ); - } -}; - -template< class Value , class Container2 > -struct copy_impl< thrust::device_vector< Value > , Container2 > -{ - static void copy( const thrust::device_vector< Value > &from , Container2 &to ) - { - thrust::copy( boost::begin( from ) , boost::end( from ) , boost::begin( to ) ); - } -}; - -template< class Value > -struct copy_impl< thrust::device_vector< Value > , thrust::device_vector< Value > > -{ - static void copy( const thrust::device_vector< Value > &from , thrust::device_vector< Value > &to ) - { - thrust::copy( boost::begin( from ) , boost::end( from ) , boost::begin( to ) ); - } -}; - - - - -} // odeint -} // numeric -} // boost - - -#endif // BOOST_NUMERIC_ODEINT_EXTERNAL_THRUST_THRUST_RESIZE_HPP_INCLUDED diff --git a/bundled/boost-1.56.0/include/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp b/bundled/boost-1.56.0/include/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp deleted file mode 100644 index 15338ecd32..0000000000 --- a/bundled/boost-1.56.0/include/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp +++ /dev/null @@ -1,162 +0,0 @@ -/* - [auto_generated] - boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp - - [begin_description] - Default Integrate adaptive implementation. - [end_description] - - Copyright 2011-2013 Karsten Ahnert - Copyright 2011-2012 Mario Mulansky - Copyright 2012 Christoph Koke - - Distributed under the Boost Software License, Version 1.0. - (See accompanying file LICENSE_1_0.txt or - copy at http://www.boost.org/LICENSE_1_0.txt) - */ - - -#ifndef BOOST_NUMERIC_ODEINT_INTEGRATE_DETAIL_INTEGRATE_ADAPTIVE_HPP_INCLUDED -#define BOOST_NUMERIC_ODEINT_INTEGRATE_DETAIL_INTEGRATE_ADAPTIVE_HPP_INCLUDED - -#include - -#include - -#include -#include -#include -#include -#include -#include - -#include - - -#include - -namespace boost { -namespace numeric { -namespace odeint { -namespace detail { - -// forward declaration -template< class Stepper , class System , class State , class Time , class Observer> -size_t integrate_const( - Stepper stepper , System system , State &start_state , - Time start_time , Time end_time , Time dt , - Observer observer , stepper_tag ); - -/* - * integrate_adaptive for simple stepper is basically an integrate_const + some last step - */ -template< class Stepper , class System , class State , class Time , class Observer > -size_t integrate_adaptive( - Stepper stepper , System system , State &start_state , - Time start_time , Time end_time , Time dt , - Observer observer , stepper_tag -) -{ - size_t steps = detail::integrate_const( stepper , system , start_state , start_time , - end_time , dt , observer , stepper_tag() ); - typename odeint::unwrap_reference< Observer >::type &obs = observer; - typename odeint::unwrap_reference< Stepper >::type &st = stepper; - - Time end = start_time + dt*steps; - if( less_with_sign( end , end_time , dt ) ) - { //make a last step to end exactly at end_time - st.do_step( system , start_state , end , end_time - end ); - steps++; - obs( start_state , end_time ); - } - return steps; -} - - -/* - * classical integrate adaptive - */ -template< class Stepper , class System , class State , class Time , class Observer > -size_t integrate_adaptive( - Stepper stepper , System system , State &start_state , - Time &start_time , Time end_time , Time &dt , - Observer observer , controlled_stepper_tag -) -{ - typename odeint::unwrap_reference< Observer >::type &obs = observer; - typename odeint::unwrap_reference< Stepper >::type &st = stepper; - - const size_t max_attempts = 1000; - const char *error_string = "Integrate adaptive : Maximal number of iterations reached. A step size could not be found."; - size_t count = 0; - while( less_with_sign( start_time , end_time , dt ) ) - { - obs( start_state , start_time ); - if( less_with_sign( end_time , static_cast